|
|
为什么我的后处理前面几把刀角度读取正常,后面的两把刀读取不到角度呢
代码原文如下
#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
|
|