|
|
(17).在"初始移动"事件下的PB_CMD_detect_tool_path_type行下面添加定制命令,
输入名称PB_CMD_calc_g54,编辑TCL代码如下:
global dpp_path_type
global mom_out_angle_pos
global va vc
global sa sc
if {![string compare "3X" $dpp_path_type]} {
if { $mom_out_angle_pos(0) !=0 || $mom_out_angle_pos(1) != 0} {
MOM_output_literal "(刀路: 定轴)"
#*****获取第四轴A旋转角度***********************************
set va [expr round($mom_out_angle_pos(0)*10000.0)/10000.0]
#将A轴角度转换成字符串,并且去除小数末尾多余0
set sa [format "%.4f" $va]
if {[string index $sa end-0] == "0"} {
if {[string index $sa end-1] == "0"} {
if {[string index $sa end-2] == "0"} {
if {[string index $sa end-3] == "0"} {
set sa [format "%d." [expr round($va)]]
} else {
set sa [format "%.1f" $va)]
}
} else {
set sa [format "%.2f" $va]
}
} else {
set sa [format "%.3f" $va]
}
}
#********获取第五轴C旋转角度***************************
set vc [expr round($mom_out_angle_pos(1)*10000.0)/10000.0]
#将C轴角度转换成字符串,并且去除小数末尾多余0
set sc [format "%.4f" $vc]
if {[string index $sc end-0] == "0"} {
if {[string index $sc end-1] == "0"} {
if {[string index $sc end-2] == "0"} {
if {[string index $sc end-3] == "0"} {
set sc [format "%d." [expr round($vc)]]
} else {
set sc [format "%.1f" $vc)]
}
} else {
set sc [format "%.2f" $vc]
}
} else {
set sc [format "%.3f" $vc]
}
}
#************计算定轴加工原点G54**********************************
MOM_output_literal "#130=$sa"
MOM_output_literal "#131=$sc"
MOM_output_literal "#23=-#101*SIN\[#131\]+#102*COS\[#131\]"
MOM_output_literal "#24=#101*COS\[#131\]+#102*SIN\[#131\]+#5241"
MOM_output_literal "#25=#23*COS\[#130\]+#103*SIN\[#130\]+#5242"
MOM_output_literal "#26=-#23*SIN\[#130\]+#103*COS\[#130\]+#5243"
MOM_output_literal "G90 G10 L2 P1 X\[#24\] Y\[#25\] Z\[#26\]"
} else {
MOM_output_literal "(刀路: 三轴)"
#************计算三轴加工原点G54*********************************
MOM_output_literal "#130=0."
MOM_output_literal "#131=0."
MOM_output_literal "#23=-#101*SIN\[#131\]+#102*COS\[#131\]"
MOM_output_literal "#24=#101*COS\[#131\]+#102*SIN\[#131\]+#5241"
MOM_output_literal "#25=#23*COS\[#130\]+#103*SIN\[#130\]+#5242"
MOM_output_literal "#26=-#23*SIN\[#130\]+#103*COS\[#130\]+#5243"
MOM_output_literal "G90 G10 L2 P1 X\[#24\] Y\[#25\] Z\[#26\]"
}
} elseif {![string compare "5X" $dpp_path_type]} {
MOM_output_literal "(刀路: 五轴联动)"
#*******计算五轴联动加工原点G54,让加工原点与编程原点重合********
MOM_output_literal "#130=0."
MOM_output_literal "#131=0."
MOM_output_literal "#23=-#101*SIN\[#131\]+#102*COS\[#131\]"
MOM_output_literal "#24=#101*COS\[#131\]+#102*SIN\[#131\]+#5241"
MOM_output_literal "#25=#23*COS\[#130\]+#103*SIN\[#130\]+#5242"
MOM_output_literal "#26=-#23*SIN\[#130\]+#103*COS\[#130\]+#5243"
MOM_output_literal "G90 G10 L2 P1 X\[#24\] Y\[#25\] Z\[#26\]"
}
点击确定。
(18).将PB_CMD_calc_g54行复制到"第一次移动"事件下的PB_CMD_detect_tool_path_type行下面。
(19).在"初始移动"事件下的PB_CMD_calc_g54行下面添加G0 G90 G(54~59) X Y A C S M3行,
添加输出条件PB__CMD_check_block_initial_move,编辑TCL代码如下:
global dpp_path_type
if {![string compare "3X" $dpp_path_type]} {
return 1
}
return 0
点击确定。
未完待续。。。。
作者 南京六合标子
|
|