|
|
本帖最后由 tombai691019 于 2026-10-18 10:55 编辑
在编程时经常会遇到同一把刀加工不同地方,同一工件或不同工件,如果前面工序加工的地方加工完后抬刀高度Z小于后面工序加工地方Z的抬刀高度,编程设置的抬刀高度又不够,你的后处理又没有考虑到这个问题,那加工时就会出现刀具移动时撞工件。如何避免这个问题?这里我在后处理添加几个命令,在移刀时检测后面加工工序的抬刀高度是否高于前面工序的抬刀高度,如果是,后处理在移刀前先增加把刀抬高的代码(这里设置比后面工序抬刀后Z值加高20,你也可以设置更高,这个高度可以在后处理里设置好,也可以加个配置文件放在配置文件中,随时修改),这里也可以实现同一把刀,不同坐标情况下移刀的抬刀,从而避免移刀时撞刀,下面是要添加的代码。
1,程序开始位置添加:
global operation_count tdao
set operation_count 0
set tdao 20
2,第一次移动位置添加
global mom_pos qqz mom_cycle_rapid_to_pos mom_mcs_goto zz zzz operation_count mom_next_mcs_goto mom_fixture_offset_value tem_mom_fixture_offset_value tdao
if { $operation_count < 1 } {
return
} else {
if { [info exists mom_pos] } {
if { $qqz < $mom_pos(2) } {
set zz [format "%02.0f" [expr $mom_pos(2)+$tdao ] ]
MOM_output_literal "G0 G90 Z$zz"
}
}
}
注意我的后处理在第一次移动那里有快速移动块,我是加在快速移动块前面的。
3,工序结束处添加
global operation_count max_z mom_pos
incr operation_count
set qqz $mom_pos(2)
下面放几个后处理出来的效果图,图片大了,改一下。图片放上来了,按图改就可以了,编辑完了。
|
|