|
要做后置处理程序,你首先要理解你的刀位文件的含义,首先你自己要知道怎么把这些刀位转化为NC代码,如果你读不懂刀位文件,那么你不可能成为一个后置处理高手。下面我们简单分析一下以下一段由ug产生的刀位文件的每一行是什么意思。1、RAPID8 o! C+ d o. o8 [' T, T
2、GOTO/-13.0000,-5.7446,3.0000,0.0000000,0.0000000,1.00000000 S5 \% e2 z% C" A x
3、PAINT/COLOR,425 c& e' ~7 y) T: n& q
4、FEDRAT/MMPM,250.0000+ k8 n& I+ Z% Q8 C: C. {. j( {/ ^
5、GOTO/-13.0000,-5.7446,0.0000
0 |( F1 P, o) F7 @/ |4 @6、CIRCLE/-17.0000,0.0000,0.0000,0.0000000,0.0000000,-1.0000000,7.0000,0.0600,0.5000,20.0000,3.00004 k6 x* A5 T2 |! A/ Z7 C& B
7、GOTO/-10.0000,0.0000,0.0000/6 o, Z1 \4 {8 Z- T
8、PAINT/COLOR,31! _+ t5 Q3 o5 N4 p. L8 \. e
9、GOTO/-10.0000,220.0000,0.00001 b% P1 }% y, R6 T' A) c) o
10、CIRCLE/-17.0000,220.0000,0.0000,0.0000000,0.0000000,-1.0000000,7.0000,0.0600,0.5000,20.0000,3.00008 [) `, {8 S3 j i/ @
11、GOTO/-13.0000,225.7446,0.00005F/
" g9 o9 ?5 r ]% _. \我们从第1行开始看,在UG刀位文件里RAPID代表快速进给,它将影响下一行的走刀方式
8 p+ E8 m* t$ [) ^第2行GOTO语句,后面跟的是点的坐标,前三位为X,Y,Z坐标,后三位为刀轴的方向矢量,由于上一行有RAPID指令,所以这一句处理成NC代码就应该为G00X-13.0000Y5.7446Z3.0000,如果是五轴设备,则应该处理成G00X-13.0000Y5.7446Z3.0000A0.000B0.000或G00X-13.0000Y5.7446Z3.0000A0.000C0.000等,根据设备的结构不同而不同。
0 G; z! `! D. ?3 F6 b第3行是着色语句,只对UG自身起作用,不用也不能转化为NC。
G5 n; J# y! h% l$ c! n第4行为FEDRAT/MMPM,250.000,这一行是给定进给速度,也就是说从这一行以后的走刀进给速度都为250mmpm。
* ^ H Q( G9 ?) o{因此第5行转化为NC代码就应该是G01X-13.0000Y-5.7446Z0.0000F250。
6 r6 `# w8 i; C' p7 G d第6行CIRCLE开头,表明即将走一段圆弧,前三位-17.0000,0.0000,0.0000是圆心坐标,接下来三位0.0000000,0.0000000,-1.0000000表明圆弧的矢量方向,可以决定圆弧所在的平面和圆弧走刀的方向,后面的几位数字是刀具信息和精度等相关信息,我们在这里可以忽略。由于圆弧的矢量方向为0,0,-1,所以该圆弧所在平面与XY平面平行,因此是一个三坐标圆弧,由于是0,0,-1,所以其圆弧插补指令也就确定为G03,如果是0,0,1则应该为G02。
) z) Y- b2 c3 |2 u3 e接下来第7行是圆弧的终点坐标,所以第6句和第7句可以一起转化为NC代码; j, L2 [- b) l7 h7 L/ a; S
G03X-10.000Y0.000I____J_____
5 ^6 L/ ^6 z: X3 ?! l4 p其中X-10.000Y0.000是终点X,Y坐标,Z由于与上一句相同可省略,那么I,J后面的值怎么确定呢,这是由系统决定的。
+ ]5 D# o" ]: O! q. N4 S# A: J% U4 @对于FIDIA系统,I,J后面的值分别应该是圆心的X,Y坐标,所以对于FIDIA系统,NC代码应为:
$ K; u( ~1 _. x& A" _G03X-10.000Y0.000I-17.000J0.000
, t% x9 o0 `6 S* D0 x7 y而多与FANUC或SIEMENS系统,I,J值是圆心的X,Y值相对于起点的坐标值,即I=圆心X-起点X,而J=圆心Y-起点Y,所以,对应的NC代码为:. `3 t k/ T+ q) B4 B
G03X-10.000Y0.000I-4.000J5.7446
0 ^& k. |0 g) `2 J+ l* Z6 N8 O! P; ]当然你也可以转化为别的表达方式,比如R之类,这里就不一一介绍了。$ j5 A) [- w+ b, ^' t0 Q7 `/ |( g5 K" ~
后面几行以此类推,所以最后后置应当处理为:
( p( U8 `. q; u; H6 Y& L' E/ z& JFIDIA系统
3 n8 R6 `9 m9 PN1G00X-13.000Y-5.745Z3.000" P3 d# H( \9 c0 s2 D Y, }5 e
N2G01Z0.000F2504?;EX6]0[F_c6s_d
" i }+ i: x5 j9 y2 \2 Y2 UN3G03X-10.000Y0.000I-17.000J0.000! _% o' E( g3 P3 N9 q4 \
N4G01Y220.000- D4 p" l a; l
N5G03X-13.000Y225.745I-17.000J220.000/ J Y0 C" F- A
FANUC、SIEMENS系统
9 N( V# Y: u# I( l+ N WN1G00X-13.000Y-5.745Z3.000
* ` B, `: l- w3 W# r% E5 \- P7 t5 Y! cN2G01Z0.000F250
3 i1 {. m& |: i; s3 V3 \5 XN3G03X-10.000Y0.000I-4.000J5.7446! p6 m, ?3 e3 G4 H+ T& [$ ]
N4G01Y220.000
8 B* u+ g9 }( z& g2 YN5G03X-13.000Y225.745I-7.000J0.000. |
|