如图所示零件。外形轮廓总深度为10mm,采用Φ10mm的立铣刀进行加工.,设定变量#1为切削深度,设定变量#2为总切削深度,设定工件上表面中心为编程原点,则可编制如下宏程序:
O0001;
G00G40G49G54G80G90G17;
T1;
M3S800;
#1=0;(初始切削深度为0)
#2=-10;(设定总切削深度为10mm)
G00X-55Y0;
G00G43Z20H1;
WHILE[#1GT#2]DO1;(建立循环)
N1#1=#1-2;(每层切削深度为2)
N2G01Z#1F80;(Z向下刀到指定的深度)
G01X-45Y-10D1;(建立刀具半径补偿)
G03X-35Y0R10;(圆弧入刀)
G01Y28;
G01X15;
G01X10.8Y28.09;
G03X23Y35R10;
G01X28;
G02X35Y28R7;
G01Y-28;
G02X28Y-35R7;
G01X22.14;
G01X7.07Y-19.93;
G03X-7.07R10;
G01X-22.14Y-35;
G01X-28;
C02X-35Y-28R7;
G01Y0;
G03X-45Y10R10;(圆弧出刀)
G01G40X-55Y0;
END 1;
G00G49Z100;
M05;
在此程序中,每层切削深度为2mm,总切削深度为10mm,正好分5层完成铣削,如果总切深发生变化,只需更改#2的设定值即可;如果每层切削深度发生变换,只需将程序“#1=#1-2”中的“2”更改为想要设定的值即可。如果每层切削深度和总切削深度不能整除,则也可以通过宏程序进行自动控制。如总切削深度为8mm。每层切削深度为1.5mm,按上述方法更改总切削深度和每层切削深度后,只需要在N1和N2程序段之间加一段“IF[#1LT#2]THEN#1=#2”,此程序段的含义为:“如果#1小于#2,那么将#2的值赋给#1”,每层切削1.5mm,在完成5次循环切削后,切削深度为-7.5mm.再按每层1.5的切削量走刀就会将切削深度切至-9mm,由于-9mm小于#2的设定值-8mm,则程序会自动将#2的设定值-8mm赋值给#1,最后一层将自动从-7.5mm切削至-8mm,即最后一层只切削0.5mm,完成加工。