|
|
我攻丝程序经常复制钻孔的,老是忘了改G84,这样后果很严重,为了解决这个问题,我用千问帮我写一个这样的报警程序,经过半天的反复修改,终于可以用了,没选丝攻,用84报警,选了丝攻,没用G84报警,但新建这个丝攻要高版本点的这种丝攻,如图。 报警效果,如图。 如何添加,把下面代码复制粘贴 ,如图。
# ========== 丝攻刀具与攻丝循环匹配检测(每工序只弹一次)==========
global mom_tool_type
global mom_cycle_type
global mom_tool_name
global mom_operation_name
global MOM_TAP_WARNING_LIST
# 如果未初始化列表,先初始化
if { ![info exists MOM_TAP_WARNING_LIST] } {
set MOM_TAP_WARNING_LIST
}
# 检查当前工序是否已报过警
set already_warned [expr {[lsearch $MOM_TAP_WARNING_LIST $mom_operation_name] >= 0}]
# 如果已报过警,跳过不弹窗
if { !$already_warned } {
# 定义攻丝循环类型(NX 后处理中的实际值)
set tap_cycles [list "Drill_Tap" "Tap" "Tap_Deep" "Tap_Float" "Tap_Break_Chip"]
# 检测是否为攻丝循环
set is_tap_cycle [expr {[lsearch $tap_cycles $mom_cycle_type] >= 0}]
# 检测是否为丝锥刀具
set is_tap_tool [expr {$mom_tool_type == "Tap" || $mom_tool_type == "Tapered Tap"}]
# 条件1:攻丝循环但刀具不是丝锥 → 报警
if { $is_tap_cycle && !$is_tap_tool } {
MOM_display_message "【后处理警告】\n\n工序:$mom_operation_name\n刀具:$mom_tool_name\n\n⚠️ 攻丝循环 ($mom_cycle_type) 必须使用丝锥刀具!\n当前刀具类型:$mom_tool_type\n\n程序将继续输出,请检查确认!" "警告" "warning"
lappend MOM_TAP_WARNING_LIST $mom_operation_name
}
# 条件2:丝锥刀具但循环不是攻丝 → 报警
if { $is_tap_tool && !$is_tap_cycle } {
MOM_display_message "【后处理警告】\n\n工序:$mom_operation_name\n刀具:$mom_tool_name\n\n⚠️ 丝锥刀具必须使用攻丝循环!\n当前循环类型:$mom_cycle_type\n\n程序将继续输出,请检查确认!" "警告" "warning"
lappend MOM_TAP_WARNING_LIST $mom_operation_name
}
}
|
|