最近在学习制作三轴UG后处理,整理了一些常用的后处理语句,和大家分享一下啊;
有不对的地方还望大家多多指点。
FANUC程序预读 添加引导号里的代码
MOM_output_literal "G05.1 Q1"
程序名称
$mom_operation_type
后处理文件位置图档名称,生成文件时间
global mom_date
global mom_part_name
MOM_output_literal "(Part_name: $mom_part_name)"
MOM_output_literal "(Date: $mom_date)"
刀具名称,刀具规格尺寸
global mom_tool_name
global mom_tool_diameter
global mom_tool_corner1_radius
MOM_output_literal "(ToolName=$mom_tool_name D=[format "%.2f" $mom_tool_diameter] R=[format "%.2f" $mom_tool_corner1_radius])"
加工余量(侧面,底面)
global mom_stock_part
global mom_stock_floor
MOM_output_literal "(stock_part: [format "%.2f" $mom_stock_part])"
if {[info exist mom_stock_floor]} {MOM_output_literal "(stock_floor: [format "%.2f" $mom_stock_floor])"} else {MOM_output_literal "(stock_floor: [format "%.2f" 0])"}
安全高度和加工深度
加工时间等
在用户命令里新建一个 proc_CMD_before_motion (必须是这个名字)
global mom_pos
global max_z min_z max_x min_x max_y min_y
if {![info exists min_z]} {
set min_z $mom_pos(2)
} elseif { $mom_pos(2) < $min_z} {
set min_z $mom_pos(2)
}
if {![info exists max_z]} {
set max_z $mom_pos(2)
} elseif { $mom_pos(2) > $max_z} {
set max_z $mom_pos(2)
}
if {![info exists min_x]} {
set min_x $mom_pos(0)
} elseif { $mom_pos(0) < $min_x} {
set min_x $mom_pos(0)
}
if {![info exists max_x]} {
set max_x $mom_pos(0)
} elseif { $mom_pos(0) > $max_x} {
set max_x $mom_pos(0)
}
if {![info exists min_y]} {
set min_y $mom_pos(1)
} elseif { $mom_pos(1) < $min_y} {
set min_y $mom_pos(1)
}
if {![info exists max_y]} {
set max_y $mom_pos(1)
} elseif { $mom_pos(1) > $max_y} {
set max_y $mom_pos(1)
}
然后在程序里 定制命令
global max_z min_z
set zmax [string trimright [format %.4f $max_z] 0]
set zmin [string trimright [format %.4f $min_z] 0]
MOM_output_literal "{MAXZ = $zmax , MINZ = $zmin}"
global mom_machine_time
MOM_output_literal "(Total Operation Machine Time : [format "%.2f" $mom_machine_time] min )"
MOM_output_literal "(姓名 + 联系方式等)"
再新建一个proc PB_CMD_command 添加
global max_z min_z max_x min_x max_y min_y
set zmax [string trimright [format %.4f $max_z] 0]
set zmin [string trimright [format %.4f $min_z] 0]
set xmax [string trimright [format %.4f $max_x] 0]
set xmin [string trimright [format %.4f $min_x] 0]
set ymax [string trimright [format %.4f $max_y] 0]
set ymin [string trimright [format %.4f $min_y] 0]
MOM_output_literal "{MAXZ = $zmax , MINZ = $zmin}"
MOM_output_literal "{MAXZ = $xmax , MINZ = $xmin}"
MOM_output_literal "{MAXZ = $ymax , MINZ = $ymin}"
然后在程序尾巴 添加command OK
X,Y,Z,A,B/C的对应变量,仅供参考
x==??mom_pos(0)
Y==??mom_pos(1)
Z==??mom_pos(2)
A==??mom_out_angle_pos(0)
B/C==??mom_out_angle_pos(1)
在S=0 F=250 时报警
添加 定制命令 PB_CMD_custom_command_baojing
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!