怎么添加不同坐标后处理输出时会报警呢?
UG后处理,怎么固定一个进给率,厂里要求所有程序进给都是5000,具体现场会自己调整,还有另一个问题,后处理时怎么添加检测不同坐标后处理输出时会报警呢?比较粗心,会把不同坐标系的程序输出去加工,感谢能有大佬解答#=============================================================
proc PB_CMD_custom_command_1 { } {
#=============================================================
# 声明全局变量,包括各种报警状态标记
global mom_operation_name_list mom_mcsname_attach_opr
global mcs_alert_shown tool_speed_alert_shown
global mom_tool_diameter mom_spindle_speed
global mom_operation_name
# 初始化报警状态标记(仅在第一次运行时)
if {!} {
set mcs_alert_shown 0
}
if {!} {
set tool_speed_alert_shown 0
}
# 1. 多MCS检测
if {!$mcs_alert_shown} {
# 初始化存储MCS名称的列表
set unique_mcs_list
# 遍历当前后处理中的所有操作
foreach op $mom_operation_name_list {
# 获取每个操作所附着的MCS名称
set current_mcs $mom_mcsname_attach_opr($op)
# 如果这个MCS名称不在唯一列表中,则加入列表
if { == -1 } {
lappend unique_mcs_list $current_mcs
}
}
# 检查唯一MCS列表中的数量
if { > 1 } {
# 组装报警信息
set warning_msg "警告:程序组中包含多个不同的加工坐标系(MCS)!\n"
append warning_msg "检测到的坐标系有:\n"
foreach mcs $unique_mcs_list {
append warning_msg "$mcs\n"
}
append warning_msg "请仔细检查刀路程序!"
# 弹出对话框提示用户
set user_choice
# 标记为已报警,避免重复
set mcs_alert_shown 1
if { $user_choice != 1 } {
# 用户选择中止
MOM_abort "用户因多坐标系问题中止后处理"
}
}
}
# 2. 刀具直径和转速检测
if {!$tool_speed_alert_shown} {
# 检查当前操作的刀具直径和转速是否超标
if { $mom_tool_diameter > 30 && $mom_spindle_speed > 6000 } {
# 组装刀具转速报警信息
set tool_msg "警告:刀具直径和转速不匹配!\n"
append tool_msg "当前操作: $mom_operation_name\n"
append tool_msg "刀具直径: mm (超过30mm)\n"
append tool_msg "主轴转速: $mom_spindle_speed rpm (超过6000rpm)\n"
append tool_msg "请检查刀具参数和转速设置!"
# 弹出对话框提示用户
set speed_choice
# 标记为已报警,避免重复
set tool_speed_alert_shown 1
if { $speed_choice != 1 } {
# 用户选择中止
MOM_abort "用户因刀具转速问题中止后处理"
}
}
}
}
这个语句你在论坛一找一大堆 不要读取软件里面的坐标系,强制G54,不管软件里面的夹具偏置设置多少,都不会输出,只输出G54 白色治愈之风 发表于 2026-6-24 14:51
不要读取软件里面的坐标系,强制G54,不管软件里面的夹具偏置设置多少,都不会输出,只输出G54 ...
这个意思是比如我新建个程序,但是坐标系不对,,就算在后处理上加语句强制G54,出来的程序位置也是不对的,我只想在后处理时,帮我检测一下如果几条程序处理出去时是不同坐标系的就报警提示 wind10 发表于 2026-6-24 14:18
这个语句你在论坛一找一大堆
好的,大哥,我找找看,谢谢解答 没关系17 发表于 2026-6-24 15:29
这个意思是比如我新建个程序,但是坐标系不对,,就算在后处理上加语句强制G54,出来的程序位置也是不对 ...
那就搜一下判断语句吧。这个肯定可以。 白色治愈之风 发表于 2026-6-24 15:41
那就搜一下判断语句吧。这个肯定可以。
我看了别人的后处理可以做到,但是他的后处理是加密的,看不到里面门道 进给自己后处理构造器改强制输出5000就可以了
如果所有的坐标系里面都是1,单独输出都是G54,但是这些位置都不同,这样可以检测吗。