找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 38|回复: 0

[分享] 丝攻刀具与攻丝循环不匹配报警代码分享

[复制链接]

11

主题

70

回帖

509

积分

三级士官

积分
509
发表于 1 小时前 | 显示全部楼层 |阅读模式
我攻丝程序经常复制钻孔的,老是忘了改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
        }
    }

局部截取_20260404_135531.png
局部截取_20260404_135457.png
局部截取_20260404_134548.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2026-4-4 16:01

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表