点击上方,关注我哈
(文章底部可以评论,欢迎对文章进行点评和知识补充)
数控编程教学
订单 | 技术 | 干货 | 编程
关注可加入机械行业群
梯形螺纹的宏应用我用我自己的想法来编的,有不好的地方请大神指出。
今天说一下分层切削。先介绍下G65非模态宏程序调用(以法拉克为例)格式:G65 P(子程序名)L(调用次数,1~9999次,省略默认为1次) (对自变量赋值)例如:G65 P0049 A30.0 B5.0;子程序:G0 X#2;G1 Z-#1;M99;其中A30.0是对#1进行赋值,意思就是#1=30。下面会举出实例。下面是自变量指定Ⅰ的对照表,Ⅱ的就不发了;下面举个Tr40x7的例子;O0001;(主程序)T0101;M3 S300;G0 X45 Z10;(定位G65 P0002 A40.0 B7.0 C-100 I1.8 J1.6;调用O0002程序1次,并对子程序中#1赋值40.0,#2赋值7.0,#3赋值-100.0 #4赋值1.8 ,#5赋值1.6)G0 X200 Z300;退刀M30;
O0002;(子程序#6=0.25; (牙顶间隙为0.25IF [#2GE6]THEN#6=0.5;(当螺纹大于或等于6时,牙顶间隙为0.5IF [#2GE14] AND [#2LE44]THEN#6=1;(当螺距大于等于14且小于等于44时,牙顶间隙为1
#7=0.5*#2+#6;(单边牙高#8=#1-2*#7;(小径值#9=0.336*#2-0.536*#6;(槽底宽度,2*TAN[15]=0.536N1 #10=#7*TAN[15]-0.03;(每层的右端起点Z值,留0.03mm余量
#11=-#10-#9+0.06;(每层左端的终点Z值,要减一个刀宽#12=#10-#4; (刀具的实际Z值N2 G0 X[#1+5] Z[#12+10];(定位到螺纹起点G92 X[#8+#7*2] Z#3 F#2;(这里用G92就行了IF [#12EQ#11]GOTO3;(如果Z到每层的左端尺寸则跳转到N3处#12=#12-#5;(刀具每次Z方向进刀后的Z值IF[#12GE#11]GOTO1;(如果每层没车到终点尺寸则返回N1处继续加工#12=#11;(把Z值设为每层的终点Z值GOTO2;(跳转到N2处加工每层的最后一刀N3 #7=#7-0.1;(每层的X进刀量,半径值IF[#7GE0]GOTO1;(如果没车到牙底则返回N1处继续加工#7=0;(最后赋值修两边G0 Z[#10-#4+10.03];G92 X#8 Z#3 F#2;G0 Z[#11+9.97];G92 X#8 Z#3 F#2;G0 X100;M99;
这个子程序把所有数据都参数化了,以后只要用G65调用这个子程序对螺纹的尺寸进行赋值就行了。
如果觉得《梯形螺纹的宏应用 小程序大实用》对你有帮助,请点赞、收藏,并留下你的观点哦!