如下面图片中的文字描述,后处理怎么修改?
下面是在一个后处理文件中打的代码,是定义切削液的,但是
它只能输出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"
}
一般来说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三四五轴后处理制作教程》
前面那个在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无效