貴州航天天馬機(jī)電科技有限公司 (遵義 563003) 蘇德軍
Unigraphics NX(以下簡稱UG NX)是由美國UGS公司推出的面向制造行業(yè)的C A D/CAE/CAM高端軟件,現(xiàn)被德國Siemens公司收購,它是當(dāng)今最先進(jìn)、最流行的工業(yè)設(shè)計(jì)軟件之一。它集合了概念設(shè)計(jì)、工程設(shè)計(jì)、分析與加工制造的功能,實(shí)現(xiàn)了優(yōu)化設(shè)計(jì)與產(chǎn)品生產(chǎn)過程的組合。該軟件的CAM系統(tǒng)具有刀具路徑計(jì)算速度快、碰撞和過切檢查功能完善、刀具路徑策略豐富、刀具路徑編輯功能豐富、操作過程簡單易學(xué)以及能實(shí)現(xiàn)多軸加工、車銑復(fù)合加工、高速加工等數(shù)控編程的優(yōu)點(diǎn),鑒于它強(qiáng)大的編程功能在全球有廣泛的用戶群。
使用NX CAM加工模塊生成刀具路徑軌跡后,其中會(huì)包含GOTO點(diǎn)和其他機(jī)床控制的指令信息。由于不同的機(jī)床控制系統(tǒng)對(duì)NC程序格式有著不同的要求(數(shù)控機(jī)床的控制器不同,所使用的NC程序格式就不一樣),這些NC刀具源文件也就不能直接被控制系統(tǒng)所使用,因此NX CAM中的刀具路徑軌跡必須經(jīng)過處理轉(zhuǎn)換成特定的機(jī)床控制器能接受的NC程序格式,這一處理過程就是“后處理”。后處理是數(shù)控加工中一個(gè)重要的環(huán)節(jié),其主要任務(wù)是將CAM軟件生成的加工刀位軌跡文件轉(zhuǎn)換成特定機(jī)床可接受的NC程序文件。
UG NX提供了一個(gè)性能優(yōu)異的后處理工具——NX/ Post Builder。通過NX/ Post Builder圖形界面用戶可以交互方式來靈活定義建立NC程序的格式和輸出內(nèi)容,以及程序頭尾、操作頭尾、換刀、循環(huán)等每一個(gè)事件的處理方式,利用它建立和機(jī)床控制系統(tǒng)相關(guān)的事件處理文件和事件定義文件,然后通過UG NX整合在一起,完成簡單或任意復(fù)雜機(jī)床的后處理。
因此我們可以通過修改NX/Post Builder解決實(shí)際加工中出現(xiàn)的各種問題,本文通過一個(gè)實(shí)例進(jìn)行說明。
(1)在實(shí)際工作中經(jīng)常要加工螺紋孔,通常的加工方法是:鉆完底孔后利用絲錐進(jìn)行加工。這種加工方法只適用于標(biāo)準(zhǔn)小螺紋孔的加工,當(dāng)螺紋孔大、螺距大、非標(biāo)準(zhǔn)時(shí),這種加工方法就存在很大的局限性。主要表現(xiàn)在:①手工攻螺紋時(shí)需要很大的力量,增加操作人員的勞動(dòng)強(qiáng)度而且勞動(dòng)效率低,還容易出現(xiàn)爛牙和攻歪現(xiàn)象。②機(jī)攻時(shí)由于強(qiáng)力擠壓、排屑不暢,容易造成爛牙現(xiàn)象,甚至折斷刀具擊傷操作人員。③不同的螺紋需配置不同的刀具,刀具種類繁多,采購難度大,容易造成工期延誤,而且增加成本。④螺紋加工精度不高,影響裝配精度。
(2)鑒于上述原因,傳統(tǒng)加工方法不適用于這類螺紋孔的加工,需尋找一種更好的加工途徑。通過閱讀數(shù)控銑床相關(guān)控制手冊及參考數(shù)控車床加工螺紋孔的方法,發(fā)現(xiàn)在數(shù)控銑床上裝上數(shù)控車床加工螺紋的刀具,并編制合理的NC程序能夠?qū)崿F(xiàn)此類螺紋孔的加工,而且能有效地避免傳統(tǒng)加工方法存在的缺點(diǎn)。但在實(shí)踐過程中發(fā)現(xiàn)UG CAM自帶的后處理生成的螺紋加工NC程序是將螺旋線打斷成許多細(xì)小的直線,以細(xì)小直線組合趨近于螺旋線,程序代碼以G01的方式出現(xiàn)。下面以某型號(hào)一個(gè)零件加以說明,零件如圖1所示。
圖 1
該零件要加工兩個(gè)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數(shù)控仿真軟件演示可以看到該NC程序的走刀路徑是以螺旋線的形式出現(xiàn)。
但檢查程序發(fā)現(xiàn)該后處理將螺旋線打斷成許多細(xì)小的直線,以細(xì)小直線組合趨近于螺旋線,程序代碼以G01的方式出現(xiàn),這種處理方式不僅程序代碼長(有2 344行),而且加工精度差,不是最佳的處理方法。最佳的處理方法為(在XY平面內(nèi)):
G17 G02(G03)X__Y__Z__I__J__
X__Y__Z__I__J__
X__Y__Z__I__J__
……
圖 3
圖 4
(1)根據(jù)前面的敘述可以知道,通過修改NX/ Post Builder能夠解決實(shí)際加工中出現(xiàn)的各種問題,通常利用NX/ Post Builder圖形界面,用戶能夠定制生成符合機(jī)床控制系統(tǒng)要求的程序代碼,但有些機(jī)床控制系統(tǒng)比較特殊或者有些程序代碼比較特殊,普通的NX/ Post Builder生成的后處理不能滿足要求。這時(shí)必須利用custom command(用戶自定義命令)來處理這些特殊情況,以生成符合條件的數(shù)據(jù)格式。
(2)由于螺旋線的程序代碼比較特殊,需利用TCL語言構(gòu)建程序建立custom command(用戶自定義命令)解決問題。
首先,如圖4所示,在program & tool parh→custom command子選項(xiàng)卡下建立一個(gè)名稱為PB_CMD_init_helix的用戶自定義命令,并用TCL語言構(gòu)建程序進(jìn)行判斷和輸出螺旋線程序代碼。
構(gòu)建的程序如下:
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標(biāo)記中。當(dāng)Post Builder處理過程中發(fā)現(xiàn)程序有螺旋加工事件,便會(huì)以用戶命令PB_CMD_init_helix指定好的模式進(jìn)行輸出。
圖 5
(3)經(jīng)過修改Post Builder后,再將圖1所示零件進(jìn)行后處理輸出,得到如下程序:
%
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程序滿足要求,并有如下優(yōu)點(diǎn):①程序代碼短只有44行,修改以前有2 344行,大大的節(jié)約了機(jī)床的存貯空間。②程序以螺旋運(yùn)動(dòng)的模式輸出,加工精度得到很大的提高。③程序簡潔便于檢查,提高了程序的可靠性。
當(dāng)機(jī)床控制系統(tǒng)比較特殊或者程序代碼比較特殊時(shí)(如螺旋加工模式),可以利用TCL語言構(gòu)建程序建立custom command(用戶自定義命令)來處理這些特殊情況,以產(chǎn)生符合條件的數(shù)據(jù)格式。
[1] 張磊. UG NX6.0后處理技術(shù)培訓(xùn)教程[M]. 北京:清華大學(xué)出版社,2009.