后处理修改求助:加入强制换刀功能后出现的新问题
使用的原始后处理是[丶唯一的存在]大佬分享的“大机”后处理,感谢大佬的无私分享!具体网址为 https://www.ugsnx.com/forum.php?mod=viewthread&tid=345923
修改过程
1. 把手工换刀处清空
2. 在第一次移动处添加以下定制命令
global mom_tool_manual_change
if { && $mom_tool_manual_change == "Yes" } {
PB_auto_tool_change
MOM_force once H G_adjust
}
3. 在程序结束——定制命令 PB_CMD_list_out 里面,把 puts $ofile "$tlist_zt($it)" 这行注释掉(前面加#号)。
如果不把这行注释掉,后处理会报错。前面添加#号之后,程序里勾选“手工换刀”,后处理可以正常输出
强制换刀代码。
但是问题也来了,每把刀换刀处的Z深度不再输出了。
现在的想法是既要输出强制换刀代码,又要在每把刀的换刀处输出Z深度。
本来也想自己解决的,但是研究了几天终始没有头绪,只好硬着头皮来论坛求助,恳请大佬出手相助,非常感谢!
nms981 发表于 2025-6-5 20:30
看来这个问题确实难住了不少人
不是难住了,是不想浪费时间,你越激将法,也没用,现在白嫖的人可多,谁的时间都宝贵的,去问AI,免费的,也不用耽误别人时间哈哈
看来这个问题确实难住了不少人:P 与前面刀具号相同报警能不能取消一下啊 AI的回答
根据您的需求,您需要在保留强制换刀代码的同时,还要在换刀处输出Z深度。以下是修改建议:
[*]保留手工换刀处的清空操作(这是您已经完成的步骤1)
[*]修改第一次移动处的定制命令,使其在强制换刀的同时保留Z深度输出:
tcl
复制
下载
global mom_tool_manual_changeif { [info exists mom_tool_manual_change && $mom_tool_manual_change == "Yes" } { PB_auto_tool_change MOM_force once H G_adjust Z}
注意我在MOM_force once命令中添加了Z,这样会强制输出Z坐标。
[*]对于程序结束处的定制命令 PB_CMD_list_out,您可以有两种选择:方案A:完全恢复原来的puts $ofile "$tlist_zt($it)"行(去掉#号),然后修改前面的逻辑:
tcl
复制
下载
if { ![info exists mom_tool_manual_change || $mom_tool_manual_change != "Yes" } { puts $ofile "$tlist_zt($it)"}
方案B:保持该行被注释,但在强制换刀命令后添加Z深度输出:tcl
复制
下载
global mom_tool_manual_changeif { [info exists mom_tool_manual_change && $mom_tool_manual_change == "Yes" } { PB_auto_tool_change MOM_force once H G_adjust Z # 添加Z深度输出 if { [info exists tlist_zt($it) } { puts $ofile "$tlist_zt($it)" }}
这两种方案都应该能实现您的需求:既输出强制换刀代码,又在换刀处输出Z深度。建议先尝试方案A,因为它更简洁,如果不行再尝试方案B。您可能需要根据实际的后处理结构和变量名进行适当调整,特别是tlist_zt($it)这个变量名是否准确。如果后处理仍然有问题,可能需要检查其他相关部分的代码。
你的提问描述我有点看不懂;删除后处理器的“手工换刀”事件,编程时勾选“手工换刀”的思路是什么,这个不勾选不就完事了。还是说你要勾选勾选手工换刀,后处理器内部的手工换刀事件要是空白,然后处理出来的程序还要有Z值输出,是这个意思吗。
谢谢分享 topckey 发表于 2025-6-7 08:19
AI的回答
感谢大佬!虽然没搞定,不过离成功又近了一步。 F1706755 发表于 2025-6-7 09:47
你的提问描述我有点看不懂;删除后处理器的“手工换刀”事件,编程时勾选“手工换刀”的思路是什么,这个不 ...
是的,后处理内部的手工换刀事件全部清空,在第一次移动处添加定制命令,编程时在想要强制换刀的工序内勾选手工换刀,类似于MC勾选强制换刀
页:
[1]