UG爱好者

标题: 怎样让同组程序不同坐标系后处理时只提示一次 [打印本页]

作者: k3684952    时间: 2023-11-13 13:52
标题: 怎样让同组程序不同坐标系后处理时只提示一次
global mom_operation_name_list mom_mcsname_attach_opr
foreach op $mom_operation_name_list {
           lappend mcs_list $mom_mcsname_attach_opr($op)
           }
set mcs_list_count [llength $mcs_list]

for {set i 1} {$i <= [expr $mcs_list_count - 1]} {incr i} {
     if {![string match [lindex $mcs_list 0] [lindex $mcs_list $i]]} {
    set msg [MOM_display_message 程序中包含多个坐标系,基于坐标系名称检测!请检查!]

        }
}



这是一个大神写的判断同组程序中是否有多个坐标系的,很有用。不过有一个操作它就提示一次,,。有没有大神有办法让它只提示一次。或者可以选择继续或终止
作者: 似曾相识999999    时间: 2023-11-13 15:55
放程式起始位置
作者: k3684952    时间: 2023-11-14 08:21
似曾相识999999 发表于 2023-11-13 15:55
放程式起始位置

我是放在起始位置的。问题是有一个工序它就提示一次,很多工序它就提示很多次。
大佬你有没有办法让它只提示一次。
作者: 似曾相识999999    时间: 2023-11-14 11:38
k3684952 发表于 2023-11-14 08:21
我是放在起始位置的。问题是有一个工序它就提示一次,很多工序它就提示很多次。
大佬你有没有办法让它只 ...

添加一个 条件就可以 选择 是否继续执行

global mom_operation_name_list
global mom_mcsname_attach_opr
foreach op $mom_operation_name_list {
           lappend mcs_list $mom_mcsname_attach_opr($op)
           }
set mcs_list_count [llength $mcs_list]

for {set i 1} {$i <= [expr $mcs_list_count - 1]} {incr i} {
     if {![string match [lindex $mcs_list 0] [lindex $mcs_list $i]]} {
set msg [MOM_display_message 程序中包含多坐标系,请注意 多坐标系提醒!确认生成多坐标系加工吗? I 按原程序输出  中止后处理]
    switch $msg {
        1 {
            set offset_flag 1
        }
        2 {
            MOM_abort 中止
        }
    }
}
}
作者: 似曾相识999999    时间: 2023-11-14 11:44
你用这个做什么 防止 多坐标系输出么?这样坐标系几何体也要有判定不然会出错,如 两个策略 不同几何体,执行多坐标系出程序,偏置值一样 如都是 1,两个策略输出G54。
作者: k3684952    时间: 2023-11-14 12:34
似曾相识999999 发表于 2023-11-14 11:44
你用这个做什么 防止 多坐标系输出么?这样坐标系几何体也要有判定不然会出错,如 两个策略 不同几何体,执 ...

我编程时都是多坐标系,一个工作台加工几个活。上次一个程序组里有个程序不在同一个坐标系里,导致上机出错了。
作者: k3684952    时间: 2023-11-14 12:37
似曾相识999999 发表于 2023-11-14 11:44
你用这个做什么 防止 多坐标系输出么?这样坐标系几何体也要有判定不然会出错,如 两个策略 不同几何体,执 ...

我是要它提示我后处理时检查程序
作者: k3684952    时间: 2023-11-14 12:41
似曾相识999999 发表于 2023-11-14 11:44
你用这个做什么 防止 多坐标系输出么?这样坐标系几何体也要有判定不然会出错,如 两个策略 不同几何体,执 ...

大佬好,感谢你的代码。是正确的。
可是也是有几个操作就提示几次。
作者: k3684952    时间: 2023-11-14 12:46
似曾相识999999 发表于 2023-11-14 11:44
你用这个做什么 防止 多坐标系输出么?这样坐标系几何体也要有判定不然会出错,如 两个策略 不同几何体,执 ...

大佬如果你的代码再加一个选项,跳过检查就完美了。
顺带问下,哪里可以学习这个写代码呀
作者: k3684952    时间: 2023-11-14 14:17
似曾相识999999 发表于 2023-11-14 11:38
添加一个 条件就可以 选择 是否继续执行

global mom_operation_name_list

非常感谢大佬。已解决
作者: 似曾相识999999    时间: 2023-11-14 15:09
代码还是和你的一样,就是加个条件选择一下是否执行或者终止,我这也是别人发的,拿来用的,不知道哪里有些方面教程。
作者: lj564    时间: 2023-12-14 15:44
k3684952 发表于 2023-11-14 14:17
非常感谢大佬。已解决

正确,
作者: 黄如宇    时间: 2023-12-16 10:29
k3684952 发表于 2023-11-14 14:17
非常感谢大佬。已解决

能分享下吗?我也遇到这样的问题
作者: k3684952    时间: 2023-12-16 13:36
黄如宇 发表于 2023-12-16 10:29
能分享下吗?我也遇到这样的问题

就是楼上“似曾相识”大佬那个代码。
把“中止后处理”改成“跳过”
把“MOM_abort 中止”改成“break”

作者: snowa*    时间: 2023-12-16 23:26
我是把收集放在工序开始,把输出放在程序结束。后处理全部完成后输出一次坐标不同的提示
因为有时候就是需要使用多个坐标在同一程序
作者: 黄如宇    时间: 2023-12-19 16:26
本帖最后由 黄如宇 于 2023-12-19 16:28 编辑
k3684952 发表于 2023-12-16 13:36
就是楼上“似曾相识”大佬那个代码。
把“中止后处理”改成“跳过”
把“MOM_abort 中止”改成“break ...

好了
作者: 似曾相识999999    时间: 2023-12-19 19:56
k3684952 发表于 2023-12-16 13:36
就是楼上“似曾相识”大佬那个代码。
把“中止后处理”改成“跳过”
把“MOM_abort 中止”改成“break ...

默认原程序输出就是跳过 1 ,2 终止
作者: ckbha123    时间: 2024-1-1 21:54
这个很有用,谢谢分享




欢迎光临 UG爱好者 (https://www.ugsnx.com/) Powered by Discuz! X3.2