[UG后处理] UG NX后处理输出攻牙程序的一些设置,和M29的用法

[复制链接]
查看6501 | 回复0 | 2019-7-13 12:54:51 | 显示全部楼层 |阅读模式
攻牙一般分三菱的F为牙距和FANUC的F为S*牙距的方式,而且FANUC一般要用到M29
首先,把两个系统的后处理做在一起的做法:
在公共循环里打开攻丝的自定义,在攻丝循环里加入一个新的地址M29 S,并删除F,自己定义个F地址:
101.png
M29按此设置:
102.jpg
M29 S的输出条件(F设置大于10,按FANUC方式输出):
  1.    global feed
  2. if { $feed > 10. } {
  3. return 1
  4. } else {
  5. return 0
  6. }
复制代码
F按此设置:
103.png
这样F可以输出小数。
然后在循环结束要加入如下定制命令:
104.png
  1. MOM_force once S M_spindle X Y Z F R dwell cycle_step user_add user_add_1
复制代码
G80取消循环后,再次循环,上面的地址都输出一次。
避免有的时候再循环时,缺少一切地址而报警或撞机的情况。
结果如下:
105.jpg
三菱的方式:
106.png
但是,以上方式有个不好的地方,就是NX显示的加工时间差距非常大(三菱方式)
从上面的图片可以看到攻牙要45分钟。如果你不在意这个的话,那按上面的方法做吧
===============================================
我自己用的方法:用G95和G94的切换,两个系统都通杀,NX的加工时间也不会出差
我的F来自牙距与S的乘积,我也不用M29
107.png
还有个攻牙加Q的问题:
有的用的是秒,有的用的是CAM(比如我)
用秒,把Q设置为可选,不然没设置秒要报警,然后输出和不输出效果如下:
108.png
第一个操作是在秒里设置的1.11,第二个操作没设置

如果是用CAM,那比较麻烦,没设置CAM也会输出0.001,大概这个样子吧
需要把攻牙循环设置两行,一行有Q的一行没有Q的,我个人分析是因为秒和CAM对应变量的数据类型有关吧
两行的输出条件为:
109.png
  1. global mom_cycle_cam
  2. if { [info exists mom_cycle_cam] && $mom_cycle_cam != 0} {
  3. return 1
  4. } else {
  5. return 0
  6. }
复制代码

下一行的交换下 0和1即可。
不知道会不会说得有点乱,能看懂就好了。

铸造屋,铸造设计师交流的网站。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则