UG爱好者

标题: 分享一个高效螺旋铣孔宏程序,用了几年了的,屡试不爽! [打印本页]

作者: cdj_456    时间: 2014-1-21 09:28
标题: 分享一个高效螺旋铣孔宏程序,用了几年了的,屡试不爽!
经常遇到铣圆孔,直接下到安全高度,然后调用G133就出来了,甚是方便啊!而且该程序自动运算总深度与每层下的深度的余数,最后补平,不用担心整除的问题!无停顿,全部顺铣。

先要在参数6050~6059设置G代码调用宏程序的数字,6050~6059分别对应程序号O9010~O9019。
我这里在参数6054里面输的是133(0~255之间的数字),也就是O9014程序。
还可以设置参数3202的NE9为1,隐藏并保护O9000~O9999,防止误删
该程序完全本人独创,UG爱好者论坛首次发表,转载请标明出处

下面分享之:
格式G133 X__ Y__ Z__ R__ Q__ F__
X和Y为圆心坐标,也可以省略,但G133之前必须G00定位到圆心。Z就是最终的深度,R就相当于钻孔固定循环的R点,Q是螺旋走圆下一层与上一层的距离,跟固定循环的Q类似,F进给


%
O9014(G133)
#500=[#5043-#5083]          #5043是当前刀具的绝对Z坐标,#5083为长度补偿H的值
#31=FIX[#26/#17]
#32=#26-#31*#17
#33=[#3-#7]/2.
IF[#33LE0.5]THEN#3000=133(TOOL ERROR)          刀具回转半径判断和报警,这里是0.5mm,可以修改
G90G00X#24Y#25
G91X#33
G90Z[#18+#17]
G01Z#18F#9
WHILE[#18GT#26]DO3
#18=#18-#17
G03I-#33J0.Z#18F#9
IF[[#18+#32]EQ#26]GOTO133
END3
N133IF[#32NE0.]GOTO144
IF[#32EQ0.]GOTO155
N144G03I-#33J0.Z#26F#9
N155G03I-#33J0.F#9
G90G00Z#500          最后回到执行G133之前的绝对Z坐标
M99
%





补充内容 (2014-1-22 09:17):
抱歉,昨天忘了写上C和D,C是孔直径,D是刀具直径。格式G133 X__ Y__ C__ D__ Z__ R__ Q__ F__
作者: 副总经理    时间: 2014-1-21 09:36
非常感谢楼主的分享,支持原创!这个是好东西,我看要加元宝。
作者: wangtaosb*    时间: 2014-1-21 16:49
好厉害偶 谢谢楼主分享 哈哈哈哈哈哈哈{:biggrin:}
作者: song1539*    时间: 2014-1-21 17:41
我来评论下楼主的东西   这玩意太简单了,但是这么简单的东西楼主都要藏私。要不就是你也是抄过来的,不知道这个程序想表达的是啥,只知道怎么用。 你这程序下下来,不懂的人谁都用不起来。  为什么呢?  因为你给定的用法格式有问题。  G133 X Y Z R Q F    我想问你,为什么没有C和D的赋值?  你这玩意能模态调用不?
作者: cdj_456    时间: 2014-1-22 09:12
song1539 发表于 2014-1-21 17:41
我来评论下楼主的东西   这玩意太简单了,但是这么简单的东西楼主都要藏私。要不就是你也是抄过来的,不知道 ...

兄弟,抱歉,C和D一时疏忽忘了写上去了,C是孔直径,D是刀具直径。
不是私藏,昨天看论坛突然发现有这么个手工编程板块,是来分享滴。的确是本人几年前编写的,网上找不到第二个!
宏程序本来就是为了加工起来方便,傻瓜操作,刀路干练。了解代码的含义绝对能看得懂。
G133 X__ Y__ C__ D__ Z__ R__ Q__ F__
你见过除G66之外的模态调用??
作者: cdj_456    时间: 2014-1-22 09:14
wangtaosb 发表于 2014-1-21 16:49
好厉害偶 谢谢楼主分享 哈哈哈哈哈哈哈

不好意思,格式忘了C和D,请看楼下
作者: cdj_456    时间: 2014-1-22 09:16
老叶 发表于 2014-1-21 09:36
非常感谢楼主的分享,支持原创!这个是好东西,我看要加元宝。

感谢叶总支持!
帖子怎么不能编辑?麻烦叶总把格式改成G133 X__ Y__ C__ D__ Z__ R__ Q__ F__
作者: song1539*    时间: 2014-1-23 11:08
52106813 发表于 2014-1-22 09:12
兄弟,抱歉,C和D一时疏忽忘了写上去了,C是孔直径,D是刀具直径。
不是私藏,昨天看论坛突然发现有这么 ...

这样用起来才完整。 我八九年前也写过一个这样的螺旋铣,记得我是用“I”表示孔半径,“D”表示刀具的半径补偿号。大体的内容和你的这个差不多,毕竟原理在那。  另外,我都是用G66模态。  也写过可以套用的那种实现阵列功能的宏, 不过用的比较少。 看到你用G码调用,所以想问你能实现模态吗?我自己没实验过,但是估计不行,想实现的话只能G66 P子程序号。
作者: zhoudao*    时间: 2014-3-15 00:24
不知道在车铣复合加工中心上能不能试一下.嘿嘿,先谢谢楼主了
作者: fengchuiyang*    时间: 2014-3-15 14:53
楼主威武,无私奉献,谢谢
作者: ybbjatsse*    时间: 2014-5-21 23:19
老兄你这个程序不通用啊 哈哈 不信你试试这个格式只取中间的Z0.R20.Q7.你这个循环走出来最后深度会是在Z0.吗?!还有很多情况这个程序都不可以的
作者: ybbjatsse*    时间: 2014-5-21 23:20
老兄你这个程序不通用啊 哈哈 不信你试试这个格式只取中间的Z0.R20.Q7.你这个循环走出来最后深度会是在Z0.吗?!还有很多情况这个程序都不可以的
作者: cdj_456    时间: 2014-5-24 08:59
ybbjatsse 发表于 2014-5-21 23:20
老兄你这个程序不通用啊 哈哈 不信你试试这个格式只取中间的Z0.R20.Q7.你这个循环走出来最后深度会是在Z0.吗 ...

兄弟,对不起了!
刚才我又验证了一下,的确存在问题,一般我铣孔都是从0开始铣到一个负Z,或者从正Z铣刀Z0,都是深度可以被Q整除的。虽然这里面有判断是否整除的情况,但是是失效的。抱歉了。

现在我改动了几个地方,加入了绝对值和循环里面判断句的位置,CIMCO Edit V6模拟没问题,等我下午到机床试验一下,程序如下:

%
O9014(G133 C D X Y Z R Q F )
#500=[#5043-#5083]
#31=ABS[FIX[[#26-#18]/#17]]
#32=ABS[#26-#18]-#31*#17
#33=[#3-#7]/2.
IF[#33LE0.5]THEN#3000=133(TOOL ERROR)
G90G00X#24Y#25
G91X#33
G90Z[#18+#17]
G01Z#18F#9
WHILE[#18GT#26]DO3
#18=#18-#17
IF[[#18-#32]EQ#26]GOTO133
G03I-#33J0.Z#18F#9
END3
N133IF[#32NE0.]GOTO144
IF[#32EQ0.]GOTO155
N144G03I-#33J0.Z#26F#9
N155G03I-#33J0.F#9
G90G00Z#500
M99
%

G133.rar(344B)
该附件已经失效,无法恢复



作者: Mr._DJ    时间: 2014-6-13 19:07
楼主你这么厉害   我们做个朋友好吗
作者: weijian86*    时间: 2014-6-13 20:01
好好学习天天向上
作者: hanli815*    时间: 2015-4-23 21:25
楼主,你改过之后的程序,也不行啊
还是不能从z正值-------z负值,,,而且z值,还不能有小树,,
求教
作者: hanli815*    时间: 2015-4-23 21:27
那个可以在程序的开始加上几个if  选择z正负,是否有小数
作者: 向前冲,不退缩*    时间: 2015-11-22 12:43
为什么不把进退刀改成圆弧呢,尤其是退刀不改成圆弧的话,精加工是不行的
作者: szqa    时间: 2016-1-8 23:04
好厉害偶 谢谢楼主分享 哈哈哈哈哈哈哈
作者: lee007zh*    时间: 2016-8-11 19:22
#31和#32有鸟用?有时直接不更好?拐歪磨脚#32不就是0
作者: lee007zh*    时间: 2016-8-11 19:29
直接#18小于#26一直直行循环,大于或者等于就往下走,紧跟着来个#18=#26,然后补平不就完事啦?
作者: yihai5526783    时间: 2017-4-8 22:49
请问你发的宏程序铣孔,不可以像G81那样模态吗?例如G133X0Y0C10D5Z-5.R0.5Q0.5F1000. 下一行光写x,y的坐标,让其它变成模态怎么改,请指教下。
作者: 阿__斐    时间: 2017-9-24 02:31
顶顶顶顶顶顶顶顶
作者: mtj009    时间: 2017-11-16 20:52
非常感谢楼主的分享
作者: mtj009    时间: 2017-11-16 20:52
非常感谢楼主的分享
作者: 寒露*    时间: 2018-6-27 15:30
先谢谢楼主了
作者: wyp375*    时间: 2019-1-22 06:36
好东西 ,谢谢
作者: 背着行囊的驴    时间: 2019-1-25 20:49
没有这么复杂吧
G0X100
#1=0.5
N1 G3 I-100 Z-#1F3000
#1=#1+0.5
IF(#1LE50)GO1

作者: pxdblhj    时间: 2019-3-7 09:01
谢谢分享
作者: 黑风很浪    时间: 2019-6-25 16:58
cdj_456 发表于 2014-1-22 09:12
兄弟,抱歉,C和D一时疏忽忘了写上去了,C是孔直径,D是刀具直径。
不是私藏,昨天看论坛突然发现有这么 ...

楼主,G66调用试过了,不可以用啊,做了第一个孔,第二个孔时候#18 不会自己归零啊。怎么处理?想用G66调用,这样没有太多程序。
作者: 打开砂带机发    时间: 2019-10-14 19:18
这么干好干多了
作者: 打开砂带机发    时间: 2019-10-14 19:19
这么干好干多了
作者: ug1029    时间: 2020-4-17 17:56
谢谢分享!谢谢分享!
作者: 刘排530    时间: 2020-5-14 15:39
day day up
作者: ug同路人    时间: 2020-11-17 10:16
来学习学习!
作者: 陳詩傑    时间: 2020-12-24 14:53
感謝樓主的分享!
作者: 复仇云    时间: 2024-2-27 08:34

谢谢分享
作者: lg333    时间: 2024-3-27 22:04
好厉害偶 谢谢楼主分享 哈哈哈哈




欢迎光临 UG爱好者 (https://www.ugsnx.com/) Powered by Discuz! X3.2