找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 67|回复: 1

[求助] 为什么我的后处理前面几把刀角度读取正常,后面的两把刀读取不到角度呢

[复制链接]

37

主题

151

回帖

3337

积分

中尉

积分
3337
发表于 2 小时前 | 显示全部楼层 |阅读模式

122.PNG
为什么我的后处理前面几把刀角度读取正常,后面的两把刀读取不到角度呢
代码原文如下




#PB_CMD_TOOL_INFO

set outputthd 1
global toollist mom_tool_cutcom_register mom_cutcom_adjust_register mom_tool_name mom_tool_diameter mom_tool_corner1_radius mom_tool_adjust_register mom_tool_adj_reg_defined mom_tool_number mom_tool_type
global mom_tool_taper_angle mom_tool_point_angle mom_tool_lower_corner_radius
global mom_sys_max_travel mom_sys_min_travel mom_machine_time
global ptp_file_name ino mom_group_name mom_output_file_suffix mom_output_file_basename

set tdi [format "%.2f" $mom_tool_diameter]

#---------------------
# 安全读取角度变量(弧度转角度)
#---------------------
if {[info exists mom_tool_taper_angle]} {
    set angle_val [expr (180 / 3.14159) * $mom_tool_taper_angle]
} elseif {[info exists mom_tool_point_angle]} {
    set angle_val [expr (180 / 3.14159) * $mom_tool_point_angle]
} else {
    set angle_val 0
}

#---------------------
# 安全读取圆角变量(自动去尾零)
#---------------------
if {[info exists mom_tool_corner1_radius]} {
    set r_val [string trimright [format "%.2f" $mom_tool_corner1_radius] "0"]
} else {
    set r_val 0
}
if {[info exists mom_tool_lower_corner_radius]} {
    set cr_val [string trimright [format "%.2f" $mom_tool_lower_corner_radius] "0"]
} else {
    set cr_val 0
}

#---------------------
# 刀具号 / 补偿处理
#---------------------
if [info exists mom_tool_number] {
    set tt $mom_tool_number
} else {
    set tt 0
}
if [info exists mom_tool_adj_reg_defined] {
    set th $mom_tool_adjust_register
} else {
    set th 0
}
if [info exists mom_tool_adj_reg_defined] {
    set td $mom_tool_cutcom_register
} else {
    set td 0
}

set tt [format "%02.0f" $tt]
set th [format "%02.0f" $th]
set td [format "%01.0f" $td]
set hhh $th

#---------------------
# 按刀具类型自动判断:R / A(你的核心逻辑)
#---------------------
if {$mom_tool_type == "Milling Tool-T Cutter"} {
    set r $cr_val
    set rr2 "R$r"
} elseif {[string first "Drill" $mom_tool_type] != -1} {
    set angle $angle_val
    set rr2 "A[format "%.0f" $angle]"
} elseif {[string first "Chamfer" $mom_tool_type] != -1} {
    set angle [expr $angle_val * 2]
    set rr2 "A[format "%.0f" $angle]"
} else {
    set r $r_val
    set rr2 "R$r"
}


#---------------------
# 输出刀具清单文件(干净规整)
#---------------------
set tool_lists_file_name ${ptp_file_name}_toollists
if {![info exists ino]} {
    set ino 1
    if {[file exists $tool_lists_file_name]} {
        MOM_remove_file $tool_lists_file_name
    }
}

set tfile [open $tool_lists_file_name a]
if {$ino > 1} {
    puts $tfile "(    ZMAX=[format "%.2f" $mom_sys_max_travel(2)] ZMIN=[format "%.2f" $mom_sys_min_travel(2)])"
}

set mom_sys_max_travel(2) -9999.999
set mom_sys_min_travel(2)  9999.999

if {$outputthd == 1} {
    puts $tfile "(T$tt D$tdi $rr2 H$th D$td >$mom_tool_name)"
}

incr ino
close $tfile



5

主题

220

回帖

1万

积分

中校

积分
10748
发表于 1 小时前 | 显示全部楼层
你这这个发给元宝,或者豆包他们会给你改,你要说清楚你要干什么,他会帮你,不对就多问几次,总有一次是符合你的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-25 13:22

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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