|
|
这几天在批量生产产品 当产品在B0 C0 加工时候 换刀时离产品很近 很容易把产品搞废 断刀 换刀前需要Y轴回原点 当产品在B90加工时候 产品离刀具比较远 所有换刀时Y轴不需要回原点 下面是写的代码 后处理报警 请大神指点一二 哪里出问题了
#=============================================# UG后处理 换刀前判断B/C轴角度,选择性输出G91 G28 Y0# 事件位置:Postbuilder → Before Tool Change#=============================================# 读取当前B、C轴角度set curr_b $mom_current_b_angleset curr_c $mom_current_c_angle# 角度容差 0.01度,防止浮点误差set tol 0.01# 判断条件:# 条件1:B≈0,C≈0 → 输出G91 G28 Y0.0# 条件2:B≈90 并且 (C≈0 或者 C≈180) → 不输出G91回零if {[expr abs($curr_b - 0.0) < $tol] && [expr abs($curr_c - 0.0) < $tol]} { # B0 C0 状态,输出G91 Y轴回参考点,之后恢复G90绝对模式 MOM_output_line "G91 G28 Y0.0" MOM_output_line "G90"} else { # B90C0 / B90C180 或者其他角度:不输出G91 G28 Y0,直接跳过 # 这里可以加注释行,方便看NC,不需要就删掉下面一行 # MOM_output_line "; B/C轴角度[$curr_b / $curr_c], skip Y return"}
|
|