nx导入导出菜单设置(NX后处理常用指令代码)

总是输出D01,考虑添加事件中的刀具补偿号问题,现在小编就来说说关于nx导入导出菜单设置?下面内容希望能帮助到你,我们来一起看看吧!

nx导入导出菜单设置(NX后处理常用指令代码)

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电子书两本,需要可以私信留言。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页