nx導入導出菜單設置?總是輸出D01,考慮添加事件中的刀具補償号問題,現在小編就來說說關于nx導入導出菜單設置?下面内容希望能幫助到你,我們來一起看看吧!
總是輸出D01,考慮添加事件中的刀具補償号問題。
實現多坐标系輸出。
添加開始事件,zero,設置每個坐标系的偏置值。
程序頭添加定制日期命令
global mom_date
MOM_output_literal “($mom_date)”
或者
set x1_clock [clock format [clock seconds] -format %Y-%m-%d_>%T —gmt 0]
MOM_output_literal "($x1_clock)"
MOM_output_literal如果打開了序列号輸出執行這一行代碼會輸出序列号N代碼,
而MOM_output_text無論你是否打開序列号輸出都不會輸出序列号。
MOM_set_seq_on
MOM_output_literal " "
MOM_set_seq_off
n單獨一行
MOM_output_literal如果打開了序列号輸出執行這一行代碼會輸出序列号N代碼,MOM_output_text無論你是否打開序列号輸出都不會輸出序列号。
刀具信息函數:
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_tool_name
global mom_tool_diameter
global mom_tool_corner1_radius
MOM_output_literal "(TOOL=$mom_tool_name,D[format "%.2f" $mom_tool_diameter],R[format "%.2f" $mom_tool_corner1_radius])"
UG後處理加工程序、加工時間、刀具參數分開保存的解決方案
該問題有網友在清華ug網提到過.但無人能回答這個是我在網上不小心找到的。
現将源代碼放出.有需要的自己去發掘吧!
聲明并定義時間參數
帶#的參數在時間和刀具清單裡面用不上,用于其他功能的參數,如需要簡介的,删除即可
#global pre_b pn m_sys1 m_sys2 t_ifo tt
global tool_time_prevset tool_time_prev 0
#set pre_b 0
#set pn 1#lappend m_sys1 0
'#lappend m_sys2 0#lappend t_ifo "0"
#lappend tt "0"
解決刀具補償後面隻有一個D的情況。
找到“刀具補償打開”選項,新建,命令,在Cutcom On裡面增加一個Custom Command.,.填入
"MOM_force Once D",這個方法可以解決D号的模态省略的問題 。
不給刀号報警
global mom_sys_home_pos
global mom_tool_number
global mom_tool_name;
global mom_tool_number;
global mom_tool_adjust_register
global mom_tool_diameter
global mom_tool_corner1_radius
global mom_tool_type
global mom_operation_name
global mom_tool_point_angle
#=================
#=====刀号防錯=====
#=================
if {$mom_tool_number == "0" || $mom_tool_number > "99"} {
MOM_output_to_listing_device "提示您"
MOM_output_to_listing_device "刀具名稱:$mom_tool_name"
MOM_output_to_listing_device "!刀具号都忘記給了,别說認識我.丢人"
MOM_output_to_listing_device "請給刀具号.正确應該是大于0小于99"
MOM_abort "\n\nTool:$mom_tool_name,T=error\n\n"
}
安全函數不給轉速報警函數
global feed
global mom_spindle_speed
global mom_group_name
global mom_operation_name
if {$mom_spindle_speed == 0 && [info exists mom_group_name]} {
MOM_output_to_listing_device "提示您"
MOM_output_to_listing_device "程序組:$mom_group_name,程序名稱:$mom_operation_name,沒給轉速"
MOM_output_to_listing_device "!轉速都不給,你做什麼編程?"
MOM_output_to_listing_device "正确值為大于0"
MOM_abort "\n\n Operation:$mom_operation_name, S=0\n\n"
} elseif {$mom_spindle_speed == 0 && [info exists mom_operation_name]} {
MOM_output_to_listing_device "程序名:$mom_operation_name,轉速為0"
MOM_output_to_listing_device "提示您"
MOM_output_to_listing_device "程序名稱:$mom_operation_name,"
MOM_output_to_listing_device "轉速都不給,你做什麼編程?"
MOM_output_to_listing_device "正确值為大于0"
MOM_abort "\n\n Operation:$mom_operation_name,S=0\n\n"
}
#輸出加工時間到程序頭
global ptp_file_name
set tmp_file_name "${ptp_file_name}_"
if {[file exists $tmp_file_name]} {
MOM_remove_file $tmp_file_name
}
MOM_close_output_file $ptp_file_name
file rename $ptp_file_name $tmp_file_name
set ifile [open $tmp_file_name r]
set ofile [open $ptp_file_name w]
global mom_machine_time
set cutting_time "(CUTTING TIME: [ format "%.2f" $mom_machine_time])"
puts "%"
puts $cutting_time
set buf ""
while { [gets $ifile buf] > 0 } {
puts $ofile $buf
}
close $ifile
close $ofile
MOM_remove_file $tmp_file_name
MOM_open_output_file $ptp_file_name
時間函數:TIME
global mom_lognam
global mom_output_file_basename
MOM_output_literal "(Date=[clock format [clock seconds] -format "%Y-%m-%d"])"
MOM_output_literal "(NAME: $mom_output_file_basename)"
多坐标系如何實現遞加
在坐标系G代碼中輸入變量。
G,右鍵,用戶定義表達式,
輸入“$mom_fixture_offset_value 54”
輸入時間,文件名,刀具信息等。
#
# This custom command is for start_of_program commentary
global mom_date
global mom_part_name
global mom_logname
global mom_sys_control_in
global mom_sys_control_out
MOM_output_literal "$mom_sys_control_out Date : $mom_date $mom_sys_control_in"
MOM_output_literal "$mom_sys_control_out Programmer : $mom_logname $mom_sys_control_in"
MOM_output_literal "$mom_sys_control_out Part File Name: $mom_part_name $mom_sys_control_in"
最近在學習制作三軸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
有來自網絡“UG後處理制作全過程及重要參數”及“UG NX6後處理技術培訓教程”PDF電子書兩本,需要可以私信留言。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!