重复刀号报警代码修改版,同一把刀多次调用仅报警一次,另增加同刀名不同的号报警
今天看到了别人以前的一个重复刀号报警的帖子,我以前也引用了那段代码,但那段代码有点瑕疵,就是同一把刀如果有多条刀路,每次都会弹窗,如果这个用来做拦截,终止后处理输出是没什么问题都,我觉得代码都原作者应该也是这个想法,只是用于终止后处理输出的,但后面都延伸功能,想继续输出后处理,这代码就需要做些更改了。我自己后来做了些修改,同一把刀多条刀路只提醒一次,如果有第三把刀冲突才会再次提醒,另外增加了同一名字不同刀号的弹窗(有些人在操作上改刀号会出现这种,而且不好发现),图片是我看到都帖子,下面是我改过都代码,分享给大家。global mom_tool_number mom_tool_name tool_seq tool_name_array tool_num_array \R_alerted_tools_list R_alerted_numbers_list R_tool_numbers_by_name
if {!} {
set tool_seq 0
array set R_tool_numbers_by_name {}
}
set tool_name_array($tool_seq) $mom_tool_name
set tool_num_array($tool_seq) T
set R_current_tool_num "T"
set R_current_tool_name $mom_tool_name
set R_found_same_number 0
for {set i 0} {$i < $tool_seq} {incr i} {
if {$tool_num_array($i) == $R_current_tool_num} {
set R_found_same_number 1
incr tool_seq -1
if {! && !} {
set R_used_names
for {set R_j 0} {$R_j < $tool_seq} {incr R_j} {
if {$tool_num_array($R_j) == $R_current_tool_num} {
if { == -1} {
lappend R_used_names $tool_name_array($R_j)
}
}
}
set R_names_display
set msg [MOM_display_message \
"Rez15916841614提醒您:\n\n刀具【$R_current_tool_name】与【$R_names_display】使用了相同刀具号 $R_current_tool_num\n\n是否继续后处理?" \
"警告!" I "继续处理" "中止处理"]
switch $msg {
1 { set R_alerted_tools_list($R_current_tool_name) 1 }
2 { MOM_abort "用户中止:检测到刀具号冲突" }
}
}
break
}
}
if {!$R_found_same_number && } {
set R_used_numbers $R_tool_numbers_by_name($R_current_tool_name)
if { == -1} {
set R_alert_key "${R_current_tool_name}_${R_current_tool_num}"
if {!} {
set R_numbers_display ", "]
set msg [MOM_display_message \
"Rez15916841614提醒您:\n\n刀具【$R_current_tool_name】在不同工序使用了不同刀号\n\n当前刀号: $R_current_tool_num\n已用刀号: $R_numbers_display\n\n是否继续后处理?" \
"警告!" I "继续处理" "中止处理"]
switch $msg {
1 {
lappend R_tool_numbers_by_name($R_current_tool_name) $R_current_tool_num
set R_alerted_numbers_list($R_alert_key) 1
}
2 { MOM_abort "用户中止:检测到刀具名称使用多刀号" }
}
}
}
} elseif {!$R_found_same_number} {
set R_tool_numbers_by_name($R_current_tool_name)
}
incr tool_seq
:D感谢分享 什么软件可以取相同的刀具名? 本帖最后由 Rez 于 2025-12-10 09:42 编辑
黄如宇1983 发表于 2025-12-9 21:42
什么软件可以取相同的刀具名?
你使用的场景不同,你理解不了也正常,刀具是同一把刀具,但刀具号会不一样。用继承没有这样的问题,但有些人或者外挂会在操作上改刀号,不打开那条刀路你都看不出来同一把刀有不一样的刀号。遇到这个场景就知道这段代码的重要性了。 管理员,帮我删除这个帖子
页:
[1]