程序参考:
%
O001;
#107=1;
#108=500;
#109=1500;
#111=-75.;
#112= 75.;内腔右壁位置坐标(x+)
#113=-40.;内腔下壁位置坐标(Y-)
#114=40.;内腔上壁位置坐标(Y+)
#115=15.;内圆角R
#116=16.;刀具直径数值
#117=1.;第一次下切深度
#118=1.;每一次下切深度
#119=2.;最终下切深度
#121=0.; 0=粗加Z 1=精加工
#131= [#111+#112]/2;内方中心点X坐标
#132= [#113+#114]/2;内方中心点Y坐标
#133= #116* 0.6;刀具切削步距
#134= [ #114-#113]/2;内腔X长度的一半
#101= #114-#115;去除圆角的Y+坐标
#102= #112-#115;去除圆角的X+坐标
#103= #111+#115;去除圆角的X一坐标
#104= #113+#115;去除圆角的Y坐标
M6T#107;换刀指令
G90G54G0X#131Y#132;快速移动到内腔中心点
G43H#107Z100.;刀具长度补偿设置
M3 S#108;转速设置
M98P405;调用405号子程序
G90G0Z100.;回到安全高度
M30;程序结束
%
%
O405;
WHILE[#117LE #119] DO2;深度逻辑运算
#125=1.;最小内圆角
#135=FIX[#134/#133];取整,计算内圈环绕次数
#136= #133*#135;粗加工切除距中心一侧的毛坯量
#140=#111+#136+#116/2;左侧第一刀需要切除的残留量
#141=#111+#136+#116/2-#133;左侧粗加工内层(X-)
#142=#112-#136-#116/2+#133;右侧粗加工内层(X+)
#143=#132+#133;上侧粗加工内层(Y+)
#144=#132-#133;下侧粗加工内层(Y-)
#121=#143-#125;去除圆角的位置( Y+-R)
#122=#142-#125;去除圆角的位置(X+-R)
#123=#141+#125;去除圆角的位置(X-+R)
#124=#144+#125;去除圆角的位置( Y-+R)
G90G54G0Z[10.-#117];快速降到切削高度以上10mm
G1 Z-#117F#194/4;切入切削深度
G90G1X#140F#109;向左侧清理残留量
IF[#121EQ1] THEN #135=1;判断粗精加工
IF [#135 EQ 1] GOTO 100;精加工判断
N110G90G1X #122F# 109;粗加工开始,向右侧
G91G3X#125Y#125R#125;右下拐角圆角
M98 P406;调用406号子程序:水平螺旋环绕
#135=#135-1;粗加工环绕次数递减运算
IF[#135GT1 ]GOTO 110;粗加工内循环
N100 M98P407;调用407号精加工子程序,精加工最外轮廓
#117= #117+#118;深度累加运算
END 2;深度循环结束
M99;返回001主程序
%
%螺旋加工子程序
O406 粗加工,由内向外逆时钊
G90G1X#142Y#121F#109;向上
G91 G3X-#125Y#125R#125;右上角的圆角加工
G90G1X#123;向左
G91G3X-#125Y #125R#125;左上角的圆角加工
G90G1Y#124;向下
G91G3X#125Y#125R#125;左下角的圆角加_工
G90;转换为绝对坐标模式
#141=#141-#133; 左侧粗加工内层向外累加一个步距
#142=#142+#133;右侧粗加工内层向外累加一个步距
#143=#143+#133;上侧粗加工内层向外累加一个步距
#144=#144-#133;下侧粗加工内层向外累加一个步距
#121=#143-#125;去除圆角的位置(Y+-R)
#122=#142-#125;去除圆角的位置(X+-R)
#123=#141+#125;去除圆角的位置(X-+R)
#124=#144+#125;去除圆角的位置(y-+R)
M99;返回405子程序
%
%
O407;最外一圈轮廓精加工
G90G41G1X#112D#107F#109;向右侧加工,到达右侧壁
Y#101;向上行进至上轮廓
#120=#116/2;刀具半径数值
IF[#115 GT #120]GOTO 350;内圆角与刀具半径的大小判断
#115=#120+1;若刀具半径小于圆角半径,重新设置圆角半径
N350 G3X[#112-#115]Y#114R#115;右上角的圆角加工
G90G1X#103;向左
G3X#111Y#101 R#115;左上角的圆角加工
G1Y#104; J,向下
G3X#103 Y#113 R#115;左下角的圆角加工
G1X#102;向右侧行进至右侧壁
G3X#112Y#104 R#115;右下角的圆角加工
G1Y#101; 向上行进至上轮廓
G3X#102Y#114R#115;右上角的圆角加工
G91 G1X-#115;向左加工一个圆角半径的距离
G3X-#115Y #115R#115;圆角退刀
G40G90Y0;退出刀具补偿
G90G1Z10.F800;抬刀
G90G0X#131 Y#132;返回内腔中心点
M99;返回405子程序
%