程序参考:
O0001
#6=1980;以点A为零点,到点B的角度
#7=32;原点到R30圆弧的圆心距离
#8=-57.75;点B的X坐标
#9=61/2;R30的圆心角除以2
#10=2.5;螺旋槽的槽深
#12=21/4;第四轴转90°时,X轴的移动量
S2500M3;主轴正转,转速2500r/min
G54G40G90G0X0Y0A0Z50;程序开始,定位于G54原点
X57.75;刀具快速定位到点A
M08;冷却液打开
#11=0;自变量#1,赋予第一刀初始值
WHILE [#11LE#10] DO2;如果#11≤#10,循环2继续
G1Z-#11F500;Z方向下降到当前加工深度
G92A0;重新定义A轴零点
#1=90;自变量#1,赋予第一次转动的角度
#2=52.5;自变量#2,赋予第一刀初始值
WHILE [#2GE#8]DO1;如果#2≥#8,循环1继续
G1X#2A#1F2000;开始加工,进给到指定位置
#1=#1+90;自变量#每次递增90
#2=#2-#12;自变量#2每次递减#12
END1;循环1结束
#3=#9;自变量#3,赋予初始值
WHILE[#3GE-#9] DO1;如果#3≥-#9,循环1继续
#4=-#7-30*COS[#3];R30圆弧任意角度X坐标值
#13=30*SIN[#3];R30圆弧任意角度Y坐标值
#5=#6+90-360/[3.14*20]*#13;Y坐标值#3转换成A轴角度
G1X#4A#5;按坐标点开始走刀
#3=#3-1;自变量#3每次递减1
END1;循环1结束
G92A0;重新定义A轴零点
#1=90;自变量#1,赋予第一次转动的角度
#2=-52.5;自变量#2,赋予第一刀初始值
WHILE [#1LE-#8] DO1;如果#2≤#8,循环1继续
G1X#2A#1;开始加工,进给到指定位置
#1=#1+90;自变量#1每次递增90
#2=#2+#12自变量#2每次递减#12
END1;循环1结束
#3=#9;自变量#3,赋予初始值
WHLE[#3GE-#9] DO1;如果#3≥-#9,循环1继续
#4=32.2+30*COS[#3];R30圆弧任意角度X坐标值
#13=30*SIN[#3];R30圆弧任意角度Y坐标值
#5=#6+90-360/[3.14*20]*#13;Y坐标值将转换成A轴角度
G1X#4A#5;按坐标点开始走刀
#3=#3-1;自变量#3每次递减1
END1;循环1结束
#11=#11+0.5;自变量#11每次递增0.5
END2;循环2结束
G0Z50;抬刀,刀具走到绝对坐标50
M09;冷却液关闭
M30;程序结束,主轴停止返回到程序头a