UG NX后处理构造器定制UG后处理常用代码分享

学习UG NX后处理制作时常用的一些代码

最近在学习制作三轴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

  • 发表于 2020-03-05 11:39
  • 阅读 ( 23421 )
  • 分类:NX后处理

12 条评论

请先 登录 后评论
倾梦无痕
倾梦无痕

4 篇文章

作家榜 »