20 UG后处理M07M08自动识别输出,后处理怎么修改?

如下面图片中的文字描述,后处理怎么修改?

attachments-2023-03-Ydwsgjiw6402b8484c955.JPG

下面是在一个后处理文件中打的代码,是定义切削液的,但是

它只能输出M08,不能自动输出M07


global mom_coolant_status

global mom_coolant_mode

global mom_coolant_text_defined

if [info exists mom_coolant_coolant_text_defined] {

} else {

set mom_coolant_text_defined 1

set mom_coolant_status "FLOOD"

set mom_coolant_mode "FLOOD"

}


请先 登录 后评论

最佳答案 2023-03-05 11:36

一般来说NX后处理都是默认输出M08的,要实现事件切换,需要定制TCL命令。

首先在 PB_CMD_before_motion (如果没有这个名称,新建一个即可) 这里加入如下命令:

global mom_coolant_mode cc
   switch $mom_coolant_mode {
      ON { set cc 8}
      FLOOD { set cc 8}
      MIST { set cc 7}
      TAP { set cc 8}
      THRU { set cc 26}
      default { set cc 8}
}

然后工序开始的位置,添加如下代码初始化,默认为M08输出

global mom_coolant_mode cc
   set mom_coolant_mode "default"

最后还要给你输出M08/M07的块的变量改为 $cc

保存就可以了,默认输出M08,事件切换可以输出上面定义的M代码,比如M07


===============================


我是老叶创办的学技网讲师,欢迎跟我系统的学习《UG NX三四五轴后处理制作教程

https://www.caxpx.com/course/28

请先 登录 后评论

其它 2 个回答

小华仔

前面那个在PB_CMD_before_motion处添加那个判断的缺点有二
1: 稍有延迟后处理速度,这个是每一个G00或G01都有检查和判断的
2: 如果有操作自定义了M07,则下一个操作会继承上一个操作,直到有新的自定义出现
根据以上问题, 可以在每个工序的G43后或前添加一个m08的输出,内容如下


global mom_coolant_mode

   switch $mom_coolant_mode {

      ON { MOM_output_literal "M8"}

      FLOOD { MOM_output_literal "M8"}

      MIST { MOM_output_literal "M8"}

      TAP { MOM_output_literal "M7"}

      THRU { MOM_output_literal "M51"}

      OFF { MOM_output_literal "M9"}

      default { MOM_output_literal "M8"}

}

unset mom_coolant_mode

set mom_coolant_mode "ON"

结尾取消模态并设置为ON,貌似直接设置为ON无效

attachments-2023-03-LejfiPbC64086f7641b0f.jpg

请先 登录 后评论
Ugang

attachments-2023-03-nJY3Entc64087ebb56268.png

请先 登录 后评论