在实际加工过程中,经常遇到同一个零件需要按不同的方位排版,以提高材料的利用率情况。例如,图1所示的排版方式肯定比图2所示的排版节省材料,而在编程序时,如果按图2的方式排版,只需要编一个数控冲程序即可完成图2的排版方式,而如果按图1的方式排版,则要编A、B两个数控冲程序才能完成图1的排版方式。
![图1 图2 图3 编A、B两个数控冲程](file:/F:/兼职/CAD世界__Visual%20Basic在数控冲程序编写中的应用.files/200512211342.jpg)
图1
![](file:/F:/兼职/CAD世界__Visual%20Basic在数控冲程序编写中的应用.files/200512211359.jpg)
图2
![](file:/F:/兼职/CAD世界__Visual%20Basic在数控冲程序编写中的应用.files/200512211413.jpg)
图3
编A、B两个数控冲程序显然比较费时,在实际加工中要远比此复杂,有没有可能只编一个程序而通过某种方式得到另一个程序呢?笔者通过VB编写了一款数控冲程序旋转件自动生成的小软件,图3是小软件的工作界面。通过输入旋转角度后,可以自动生成将零件旋转任意角度后的数控冲程序,并且生成的程序可以直接拷入设备使用控制工程网版权所有,极大地提高了工作效率。
二、对数控冲程序进行常规检查 将程序编写失误降到最低
数控程序编写完成后,其语法是否有误,或是否存在一些常识性错误呢?如我公司使用的数控冲为意大利EUROTECNICA公司产品,其程序要求数值必须带“.”,即数值为整数时必须以“.”结尾CONTROL ENGINEERING China版权所有,比如将程序
…
N50 G72
X50. Y50. C60. T8 (其中T8为模具号)
N60 G86 I20. J60. G41 (其中I值为模具加工的轮廓长度)
…
误写成
…
N50 G72 X50 Y50. C60. T8 (注意:此段中X值中没有“.”)
N60 G86 I20. J60. G41
…
![图4 三、结束…如图3](file:/F:/兼职/CAD世界__Visual%20Basic在数控冲程序编写中的应用.files/200512211428.jpg)
图4
…
N50 G72
N60 G86 I20. J60. G41 (其中I值为模具加工的轮廓长度)
…
误写成
…
N50 G72 X50 Y50. C60. T8 (注意:此段中X值中没有“.”)
N60 G86 I20. J60. G41
…
则设备在执行过程中将把X值作为0处理CONTROL ENGINEERING China版权所有,而不是作为50处理。
仍以上述程序为例,如果模具为30mm×30mm的正方形模具,显然不能加工长度为20的轮廓。
类似以上的问题www.cechina.cn,能否不需要人工就能检查出来呢。笔者同样通过VB编写了一款数控冲程序常规检查的小软件,图4是小软件的工作界面,其使用效果同样不错。
![图4 三、结束…如图3](file:/F:/兼职/CAD世界__Visual%20Basic在数控冲程序编写中的应用.files/200512211428.jpg)
图4
三、结束语
以上列举了两个例子,我们还可以用VB编写自动生成对称件或对同一种类型的零件输入特征值后自动生成数控冲程序……实际上,现在的数控加工设备越来越普遍,VB不仅仅在数控冲的程序编写中可以发挥作用www.cechina.cn,在其他的数控设备的程序编写中同样可以发挥重要的作用。笔者也有此经验(如我公司引进德国ELUMATEC公司的型材加工中心等),我们不能仅仅只满足于掌握设备制造商提供的软件使用上,因为制造商提供的软件具有普遍性,如果能够将VB与数控设备的编程有机结合起来,无异于如虎添翼。本文谈的是VB在数控冲程序编写中的应用,实际上VC或其他的语言同样也可以达到此目的,并且在其他的数控设备中同样可以发挥重要作用,希望此文对使用数控设备的同行能够有借鉴意义。