利用UG NX/ Post Builder实现螺旋铣削NC程序

2015-05-08 09:14贵州航天天马机电科技有限公司遵义563003苏德军
金属加工(冷加工) 2015年20期
关键词:程序代码螺旋线后处理

贵州航天天马机电科技有限公司 (遵义 563003) 苏德军

Unigraphics NX(以下简称UG NX)是由美国UGS公司推出的面向制造行业的C A D/CAE/CAM高端软件,现被德国Siemens公司收购,它是当今最先进、最流行的工业设计软件之一。它集合了概念设计、工程设计、分析与加工制造的功能,实现了优化设计与产品生产过程的组合。该软件的CAM系统具有刀具路径计算速度快、碰撞和过切检查功能完善、刀具路径策略丰富、刀具路径编辑功能丰富、操作过程简单易学以及能实现多轴加工、车铣复合加工、高速加工等数控编程的优点,鉴于它强大的编程功能在全球有广泛的用户群。

使用NX CAM加工模块生成刀具路径轨迹后,其中会包含GOTO点和其他机床控制的指令信息。由于不同的机床控制系统对NC程序格式有着不同的要求(数控机床的控制器不同,所使用的NC程序格式就不一样),这些NC刀具源文件也就不能直接被控制系统所使用,因此NX CAM中的刀具路径轨迹必须经过处理转换成特定的机床控制器能接受的NC程序格式,这一处理过程就是“后处理”。后处理是数控加工中一个重要的环节,其主要任务是将CAM软件生成的加工刀位轨迹文件转换成特定机床可接受的NC程序文件。

UG NX提供了一个性能优异的后处理工具——NX/ Post Builder。通过NX/ Post Builder图形界面用户可以交互方式来灵活定义建立NC程序的格式和输出内容,以及程序头尾、操作头尾、换刀、循环等每一个事件的处理方式,利用它建立和机床控制系统相关的事件处理文件和事件定义文件,然后通过UG NX整合在一起,完成简单或任意复杂机床的后处理。

因此我们可以通过修改NX/Post Builder解决实际加工中出现的各种问题,本文通过一个实例进行说明。

1. 问题复现

(1)在实际工作中经常要加工螺纹孔,通常的加工方法是:钻完底孔后利用丝锥进行加工。这种加工方法只适用于标准小螺纹孔的加工,当螺纹孔大、螺距大、非标准时,这种加工方法就存在很大的局限性。主要表现在:①手工攻螺纹时需要很大的力量,增加操作人员的劳动强度而且劳动效率低,还容易出现烂牙和攻歪现象。②机攻时由于强力挤压、排屑不畅,容易造成烂牙现象,甚至折断刀具击伤操作人员。③不同的螺纹需配置不同的刀具,刀具种类繁多,采购难度大,容易造成工期延误,而且增加成本。④螺纹加工精度不高,影响装配精度。

(2)鉴于上述原因,传统加工方法不适用于这类螺纹孔的加工,需寻找一种更好的加工途径。通过阅读数控铣床相关控制手册及参考数控车床加工螺纹孔的方法,发现在数控铣床上装上数控车床加工螺纹的刀具,并编制合理的NC程序能够实现此类螺纹孔的加工,而且能有效地避免传统加工方法存在的缺点。但在实践过程中发现UG CAM自带的后处理生成的螺纹加工NC程序是将螺旋线打断成许多细小的直线,以细小直线组合趋近于螺旋线,程序代码以G01的方式出现。下面以某型号一个零件加以说明,零件如图1所示。

图 1

该零件要加工两个M27×2螺纹孔,在UC CAM模块中编制好程序后(见图2),用UG CAM自带的后处理文件生成螺纹加工程序。

图 2

程序如下:

%

O0001

N1 G21

N2 G17 G40 G49 G80

N3 G00 G90 G54

N4 S3000 M04

N5 G00 X-17.5 Y0.0

N6 Z20.

N7 Z0.0

N8 G01 X-15.55 F1200

N9 X-12.55

N10 X-12.557 Y-.281 Z-.018

N11 X-12.581 Y-.561 Z-.036

N12 X-12.621 Y-.84 Z-.054

N13 X-12.676 Y-1.116 Z-.072

N14 X-12.747 Y-1.388 Z-.09

N15 X-12.834 Y-1.656 Z-.109

N16 X-12.936 Y-1.918 Z-.127

N17 X-13.052 Y-2.174 Z-.145

N18 X-13.182 Y-2.423 Z-.163

N19 X-13.327 Y-2.664 Z-.181

N20 X-13.485 Y-2.897 Z-.199

N21 X-13.656 Y-3.12 Z-.217

N22 X-13.84 Y-3.334 Z-.235

N23 X-14.035 Y-3.536 Z-.253

N24 X-14.241 Y-3.727 Z-.271

N25 X-14.458 Y-3.906 Z-.289

N26 X-14.685 Y-4.073 Z-.307

N27 X-14.921 Y-4.226 Z-.326

N28 X-15.165 Y-4.366 Z-.344

N29 X-15.417 Y-4.491 Z-.362

N30 X-15.675 Y-4.602 Z-.38

N31 X-15.94 Y-4.699 Z-.398

N32 X-16.209 Y-4.78 Z-.416

N33 X-16.482 Y-4.845 Z-.434

……

N2322 X14.458 Y-3.906 Z-20.711

N2323 X14.241 Y-3.727 Z-20.729

N2324 X14.035 Y-3.536 Z-20.747

N2325 X13.84 Y-3.334 Z-20.765

N2326 X13.656 Y-3.12 Z-20.783

N2327 X13.485 Y-2.897 Z-20.801

N2328 X13.327 Y-2.664 Z-20.819

N2329 X13.182 Y-2.423 Z-20.837

N2330 X13.052 Y-2.174 Z-20.855

N2331 X12.936 Y-1.918 Z-20.873

N2332 X12.834 Y-1.656 Z-20.891

N2333 X12.747 Y-1.388 Z-20.91

N2334 X12.676 Y-1.116 Z-20.928

N2335 X12.621 Y-.84 Z-20.946

N2336 X12.581 Y-.561 Z-20.964

N2337 X12.557 Y-.281 Z-20.982

N2338 X12.55 Y0.0 Z-21.

N2339 X15.55 F200.

N2340 X17.5

N2341 G00 Z20.

N2342 M05

N2343 M09

N2344 M30

%

如图3所示,通过C I M C O Edit V5数控仿真软件演示可以看到该NC程序的走刀路径是以螺旋线的形式出现。

但检查程序发现该后处理将螺旋线打断成许多细小的直线,以细小直线组合趋近于螺旋线,程序代码以G01的方式出现,这种处理方式不仅程序代码长(有2 344行),而且加工精度差,不是最佳的处理方法。最佳的处理方法为(在XY平面内):

G17 G02(G03)X__Y__Z__I__J__

X__Y__Z__I__J__

X__Y__Z__I__J__

……

图 3

图 4

2. 解决方法

(1)根据前面的叙述可以知道,通过修改NX/ Post Builder能够解决实际加工中出现的各种问题,通常利用NX/ Post Builder图形界面,用户能够定制生成符合机床控制系统要求的程序代码,但有些机床控制系统比较特殊或者有些程序代码比较特殊,普通的NX/ Post Builder生成的后处理不能满足要求。这时必须利用custom command(用户自定义命令)来处理这些特殊情况,以生成符合条件的数据格式。

(2)由于螺旋线的程序代码比较特殊,需利用TCL语言构建程序建立custom command(用户自定义命令)解决问题。

首先,如图4所示,在program & tool parh→custom command子选项卡下建立一个名称为PB_CMD_init_helix的用户自定义命令,并用TCL语言构建程序进行判断和输出螺旋线程序代码。

构建的程序如下:

uplevel #0 {

set mom_sys_helix_pitch_type

“rise_radian”

set mom_kin_helical_arc_output_mode FULL_CIRCLE

MOM_reload_kinematics

proc MOM_helix_move { } {

global mom_pos_arc_plane

global mom_sys_cir_vector

global mom_sys_helix_pitch_type

global mom_helix_pitch

global mom_prev_pos mom_pos_arc_center

global PI

switch $mom_pos_arc_plane {

XY { MOM_suppress once K ;set cir_index 2 }

YZ { MOM_suppress once I ; set cir_index 0 }

ZX { MOM_suppress once J ; set cir_index 1 }

}

switch $mom_sys_helix_pitch_type {

none { }

rise_revolution { set pitch$mom_helix_pitch }

rise_radian { set pitch [expr$mom_helix_pitch / ($PI * 2.0)]}

other {

}

default { set mom_sys_helix_pitch_type “none” }

}

MOM_force once X Y Z

if {$mom_sys_helix_pitch_type !=“none”} {

MOM_force once I J K

if {$mom_sys_cir_vector ==“Vector - Arc Center to Start”} {

set mom_prev_pos($cir_index)0.0

set mom_pos_arc_center($cir_index) $pitch

} elseif {$mom_sys_cir_vector== “Vector - Arc Start to Center”} {

set mom_prev_pos($cir_index)$pitch

set mom_pos_arc_center($cir_index) 0.0

} elseif {$mom_sys_cir_vector== “Unsigned Vector - Arc Center to Start”} {

set mom_prev_pos($cir_index)0.0

set mom_pos_arc_center($cir_index) $pitch

} elseif {$mom_sys_cir_vector== “Absolute Arc Center”} {

set mom_pos_arc_center($cir_index) $pitch

}

}

MOM_do_template circular_move

} ;

} ;

其次,如图5所示,将定义好的用户命令PB_CMD_init_helix添加到start of program标记中。当Post Builder处理过程中发现程序有螺旋加工事件,便会以用户命令PB_CMD_init_helix指定好的模式进行输出。

图 5

(3)经过修改Post Builder后,再将图1所示零件进行后处理输出,得到如下程序:

%

O0001

N1 G21

N2 G17 G40 G49 G80

N3 G00 G90 G54

N4 S3000 M04

N5 G00 X-17.5 Y0.0

N6 Z20.

N7 Z0.0

N8 G01 X-15.55 F1200

N9 X-12.55

N10 G17 G02 X-12.55 Y0.0 Z-2.I-4.95 J0.0

N11 X-12.55 Y0.0 Z-4. I-4.95 J0.0

N12 X-12.55 Y0.0 Z-6. I-4.95 J0.0

N13 X-12.55 Y0.0 Z-8. I-4.95 J0.0

N14 X-12.55 Y0.0 Z-10. I-4.95 J0.0

N15 X-12.55 Y0.0 Z-12. I-4.95 J0.0

N16 X-12.55 Y0.0 Z-14. I-4.95 J0.0

N17 X-12.55 Y0.0 Z-16. I-4.95 J0.0

N18 X-12.55 Y0.0 Z-18. I-4.95 J0.0

N19 X-12.55 Y0.0 Z-20. I-4.95 J0.0

N20 X-22.45 Y0.0 Z-21. I-4.95 J0.0

N21 G01 X-19.45

N22 X-17.5

N23 G00 Z20.

N24 X17.5

N25 Z0.0

N26 G01 X19.45 F0.0

N27 X22.45

N28 G02 X22.45 Y0.0 Z-2. I-4.95 J0.0

N29 X22.45 Y0.0 Z-4. I-4.95 J0.0

N30 X22.45 Y0.0 Z-6. I-4.95 J0.0

N31 X22.45 Y0.0 Z-8. I-4.95 J0.0

N32 X22.45 Y0.0 Z-10. I-4.95 J0.0

N33 X22.45 Y0.0 Z-12. I-4.95 J0.0

N34 X22.45 Y0.0 Z-14. I-4.95 J0.0

N35 X22.45 Y0.0 Z-16. I-4.95 J0.0

N36 X22.45 Y0.0 Z-18. I-4.95 J0.0

N37 X22.45 Y0.0 Z-20. I-4.95 J0.0

N38 X12.55 Y0.0 Z-21. I-4.95 J0.0

N39 G01 X15.55.

N40 X17.5

N41 G00 Z20.

N42 M05

N43 M09

N44 M30

%

可以看出该NC程序满足要求,并有如下优点:①程序代码短只有44行,修改以前有2 344行,大大的节约了机床的存贮空间。②程序以螺旋运动的模式输出,加工精度得到很大的提高。③程序简洁便于检查,提高了程序的可靠性。

3. 结语

当机床控制系统比较特殊或者程序代码比较特殊时(如螺旋加工模式),可以利用TCL语言构建程序建立custom command(用户自定义命令)来处理这些特殊情况,以产生符合条件的数据格式。

[1] 张磊. UG NX6.0后处理技术培训教程[M]. 北京:清华大学出版社,2009.

猜你喜欢
程序代码螺旋线后处理
滚齿螺旋线倾斜偏差的修形
果树防冻措施及冻后处理
V波段三种螺旋线类慢波结构高频特性
乏燃料后处理的大厂梦
计算机网络信息安全未来发展趋势
基于图元装接模式由程序流程图自动生成源代码
乏燃料后处理困局
缠绕螺旋线斜拉索气动性能的数值模拟
混凝土搅拌车拌筒叶片螺旋线的设计研究
发动机排气后处理技术