文档库 最新最全的文档下载
当前位置:文档库 › UG后处理tcl语言解释

UG后处理tcl语言解释

UG后处理tcl语言解释
UG后处理tcl语言解释

exec tclsh ${1+"$@"}

# echo server that can handle multiple

# simultaneous connections.

proc newConnection { sock addr port } {

# client connections will be handled in

# line-buffered, non-blocking mode

fconfigure $sock -blocking no -buffering line

# call handleData when socket is readable

fileevent $sock readable [ list handleData $sock ]

}

proc handleData {

puts $sock [ gets $sock ]

if { [ eof $sock ] } {

close $sock

}

}

# handle all connections to port given

# as argument when server was invoked

# by calling newConnection

set port [ lindex $argv 0 ]

socket -server newConnection $port

# enter the event loop by waiting

# on a dummy variable that is otherwise

# unused.

vwait forever

另外一个TK的例子 (来自 A simple A/D clock) 它使用了定时器时间,3行就显示了一个时钟。

proc every {ms body} {eval $body; after $ms [info level 0]} pack [label .clock -textvar time]

every 1000 {set ::time [clock format [clock sec]

-format %H:%M:%S]} ;# RS

解释:第一行定义了过程every,每隔ms毫秒,就重新执行body代码。第二行创建了标签起内容由time变量决定。第3行中设置定时器,time 变量从当前时间中每秒更新一次。

Tcl被广泛的用做script语言,大多数情况下,Tcl和Tk(“Tool Kit”)库同时使用,Tk是一系列令Tcl易于编写图形用户接口的命令和过程Tcl的一个重要特性是它的扩展性。如果一个程序需要使用某些标准Tcl没有提供的功能,可以使用c语言创造一些新的Tcl命令,并很容易的

融合进去。正是由于Tcl易于扩展,很多人为它编写了扩展包,并在网上共享。

Tcl和其他编程语言例如c不同,它是一种解释语言而非编译语言。Tcl 程序由一系列Tcl命令组成,在运行时由Tcl解释器解释运行。解释运行的一个优点是它可以自己为自己生成Tcl script。

变量和变量交换

不像c,Tcl的变量在使用前不需要声明。Tcl的变量在它首次被赋值时产生,使用set命令。变量可以用unset命令删除,虽然并不强制需要这样做。

变量的值通过$符号访问,也叫变量交换。

Tcl是一个典型的”弱类型定义”语言,这意味者任何类型可以存储在任何变量中。例如,同一个变量可以存储数字,日期,字符串甚至另一段Tcl script.

Example 1.1:

set foo "john"

puts "Hi my name is $foo"

Output: Hi my name is john

Example 1.2:

set month 2

set day 3

set year 97

set date "$month:$day:$year"

puts $date

Output: 2:3:97

Example 1.3:

set foo "puts hi"

eval $foo

Output: hi

在这个例子里,变量foo存储了另外一段Tcl script.

表达式

包括数学表达式,关系表达式,通常用 expr命令。

Example 2.1:

expr 0 == 1

Output: 0

Example 2.2:

expr 1 == 1

Output: 1

两数比较,true则输出1,false输出0

Example 2.3:

expr 4 + 5

Output: 9

Example 2.4:

expr sin(2)

Output: 0.909297

命令传递

以运算结果替代Tcl命令中的部分

Example 3.1:

puts "I am [expr 10 * 2] years old, and my I.Q. is [expr 100 - 25]"

Output: I am 20 years old, and my I.Q. is 75

方括号是命令传递的标志

Example 3.2:

set my_height 6.0

puts "If I was 2 inches taller, I would be [expr $my_height + (2.0 / 12.0)] feet tall"

Output: If I was 2 inches taller, I would be 6.16667 feet tall 命令流控制

Tcl有判断流转(if-else; switch)和循环控制(while; for; foreach) Example 4.1:

set my_planet "earth"

if {$my_planet == "earth"} {

puts "I feel right at home."

} elseif {$my_planet == "venus"} {

puts "This is not my home."

} else {

puts "I am neither from Earth, nor from Venus."

}

set temp 95

if {$temp < 80} {

puts "It's a little chilly."

} else {

puts "Warm enough for me."

}

Output:

I feel right at home.

Warm enough for me.

Example 4.2:

set num_legs 4

switch $num_legs {

2 {puts "It could be a human."}

4 {puts "It could be a cow."}

6 {puts "It could be an ant."}

8 {puts "It could be a spider."} default {puts "It could be anything."} }

Output:

It could be a cow.

Example 4.3:

for {set i 0} {$i < 10} {incr i 1} { puts "In the for loop, and i == $i"

}

Output:

In the for loop, and i == 0

In the for loop, and i == 1

In the for loop, and i == 2

In the for loop, and i == 3

In the for loop, and i == 4

In the for loop, and i == 5

In the for loop, and i == 6

In the for loop, and i == 7

In the for loop, and i == 8

In the for loop, and i == 9

Example 4.4:

set i 0

while {$i < 10} {

puts "In the while loop, and i == $i" incr i 1

}

Output:

In the while loop, and i == 0

In the while loop, and i == 1

In the while loop, and i == 2

In the while loop, and i == 3

In the while loop, and i == 4

In the while loop, and i == 5

In the while loop, and i == 6

In the while loop, and i == 7

In the while loop, and i == 8

In the while loop, and i == 9

Example 4.5:

foreach vowel {a e i o u} {

puts "$vowel is a vowel"

}

Output:

a is a vowel

e is a vowel

i is a vowel

o is a vowel

u is a vowel

Procedures

参数定义方法

Tcl的Procedures 和c的函数差不多. 它们有参数,它们返回值。基本定义方法是:

proc name argList body

当一个procedure被定义,它就被看做是一个命令,如同Tcl的自带命令一样,通过名字来呼叫,名字后面跟上参数。

缺省的,procedure的返回值是它的最后一个命令结果。但也可以通过return命令来返回其他值。Return值可以在procedure的任何地方,一旦执行,procedure就此返回。

Example 5.1:

proc sum_proc {a b} {

return [expr $a + $b]

}

proc magnitude {num} {

if {$num > 0} {

return $num

}

set num [expr $num * (-1)]

return $num

}

set num1 12

set num2 14

set sum [sum_proc $num1 $num2]

puts "The sum is $sum"

puts "The magnitude of 3 is [magnitude 3]"

puts "The magnitude of -2 is [magnitude -2]"

Output:

The sum is 26

The magnitude of 3 is 3

The magnitude of -2 is 2

在procedure中可以通过set创造变量,但是变量只在procedure中有效,而且一旦procedure返回,这些变量就不可访问。如果procedure

需要访问主程序中的变量,就需要使用global关键字。

Example 5.2:

proc dumb_proc {} {

set myvar 4

puts "The value of the local variable is $myvar"

global myglobalvar

puts "The value of the global variable is $myglobalvar"

}

set myglobalvar 79

dumb_proc

Output:

The value of the local variable is 4

The value of the global variable is 79

List

Lists就好像是Tcl中的一种特殊的数组。它把一堆东西放成一个集合,然后就像操作一个整体一样的操作它。

Example 6.1:

set simple_list "John Joe Mary Susan"

puts [lindex $simple_list 0]

puts [lindex $simple_list 2]

Output:

John

Mary

注意list的index是从0开始的

Example 6.2:

set simple_list2 "Mike Sam Heather Jennifer"

set compound_list [list $simple_list $simple_list2] puts $compound_list

puts [llength $compound_list]

Output:

{John Joe Mary Susan} {Mike Sam Heather Jennifer} 2

Example 6.3:

set mylist "Mercury Venus Mars"

puts $mylist

set mylist [linsert $mylist 2 Earth]

puts $mylist

lappend mylist Jupiter

puts $mylist

Output:

Mercury Venus Mars

Mercury Venus Earth Mars

Mercury Venus Earth Mars Jupiter

Arrays

Tcl数组在使用前无须定义,大小也不用指定。

Example 7.1:

set myarray(0) "Zero"

set myarray(1) "One"

set myarray(2) "Two"

for {set i 0} {$i < 3} {incr i 1} {

puts $myarray($i)

}

Output:

Zero

One

Two

Example 7.2:

set person_info(name) "Fred Smith"

set person_info(age) "25"

set person_info(occupation) "Plumber"

foreach thing {name age occupation} {

puts "$thing == $person_info($thing)"

}

Output:

name == Fred Smith

age == 25

occupation == Plumber

这个例子指出数组的index不需要是数字,其他类型的数据也可以。

Example 7.3:

set person_info(name) "Fred Smith"

set person_info(age) "25"

set person_info(occupation) "Plumber"

foreach thing [array names person_info] {

puts "$thing == $person_info($thing)"

}

Output:

occupation == Plumber

age == 25

name == Fred Smith

Strings

字符串是Tcl中最常用的类型,string有很多使用参数,可以参照Tcl 手册。使用方法:

string option arg arg ...

Example 8.1:

set str "This is a string"

puts "The string is: $str"

puts "The length of the string is: [string length $str]"

puts "The character at index 3 is: [string index $str 3]"

puts "The characters from index 4 through 8 are: [string range $str 4 8]"

puts "The index of the first occurrence of letter \"i\" is: [string first i $str]"

Output:

The string is: This is a string

The length of the string is: 16

The character at index 3 is: s

The characters from index 4 through 8 are: is a

The index of the first occurrence of letter "i" is: 2

Input/Output

Tcl的绝大多数输入/输出是通过puts和gets做到的。Puts命令显示在console上,gets命令从console输入上取得数据,并存储在某个变量中。

gets channelId varName

channelID可以理解为c的文件句柄,varName如果定义,输入值就赋给它,gets返回读入的字节数,否则gets直接返回输入值。

Example 9.1:

puts -nonewline "Enter your name: "

set bytesread [gets stdin name]

puts "Your name is $name, and it is $bytesread bytes long"

Output: (note that user input is shown in italics)

Enter your name: Shyam

Your name is Shyam, and it is 5 bytes long

Example 9.2:

set f [open "/tmp/myfile" "w"]

puts $f "We live in Texas. It's already 110 degrees out here."

puts $f "456"

close $f

Output: (none)

Open打开了一个 "/tmp/myfile" 作为channel. 用法是:

open name access

access参数指出打开文件的方式,”w”是读写。这时可以用puts $f 把内容写入文件

Example 9.3:

set f [open "/tmp/myfile" "r"]

set line1 [gets $f]

set len_line2 [gets $f line2]

close $f

puts "line 1: $line1"

puts "line 2: $line2"

puts "Length of line 2: $len_line2"

Output:

line 1: We live in Texas. It's already 110 degrees out here.

line 2: 456

Length of line 2: 3

这个例子假设已知文件只有两行,如果不是,则需要使用循环,用eof 来找到文件尾。

eval

eval命令会把它的参数直接送往解释器。

Example 10.1:

set foo "set a 22"

eval $foo

puts $a

Output:

22

单纯的执行$foo不会成功。

catch

Example 10.2:

set retval [catch {set f [open "nosuchfile" "r"]}]

if {$retval == 1} {

puts "An error occured"

}

Output: (this output occurs if there is no file named "nosuchfile" in the current directory).

An error occured

Catch 参数记录一个script的执行情况,如果返回值为1,则执行出错。用来进行错误处理。

UG后处理自写教程.doc

機械資料檔產生器MDFA檔(載入參數) 零件檔(Part)刀具路徑(cls)圓形后處理模組 NC檔NC機械完成零件 第二項 GPM在UG之應用 說明:此選項用于京明如何在UG骨,以圓形后處理模組GPM(Graphics Postprocessor Module) 產生NC檔,當選取UG下拉式功能表工具箱CCLSF管理員時,系統將顯示CLSF管理員對話框,點選其對話框中之后處理程式產生器,則系統將出現NC扣處理產生器對話框關于其祥細說明,請參考本書Part-3第三節).系統可以此對話框之設定產生一名稱為"*.ptp"之NC檔,及名稱為“*.ltp"之列示檔. 第三項GPM在UG外之應用 說明: 此選項用于說明如何在UG外部,以圓形后處理模組GPM(Graphics Postprocessor Module)產生NC檔,當欲以外部程式執行圓形后處理模組GPM 時,在WindowNT系統下,須點選WindowNT中開始>程式>Unigraphics V13.0>UG Command Prompt命令則系統會出現如下圖所示UG Command Prompt命令視穸,執行時只須在其命令視穸中輸入""gpm-MDF=name.MDFA(或.MDF) -CLF=name.cls(.clf或.iso)"即可產生一名稱為"*.ptp"之NC檔,下圓為其執行圓示: UG Command Prompt Execcd XDK nit installed on this system. Environment set for Unigraphics User Function without Exceed XD UGII is C:\EDS130\ugopen; C:\WINNT\system32; C:\WINNT;% n\;C:\EDS130\UGII\;c:\EDS130\UGII\ INCLUDE is ; C:\EDS130\ugopen LIB is CL is -c -nologo-MD C:\>c:eds130\mach\gpm -mdf=name.mdf -clf=name.cls GPM位置路徑 MDF檔案名稱 CLS檔案名稱 [注] 當欲將由機械資料檔產生器(MDFG),所產生之二進位居要津(Binary)MDF 檔,改變為文字檔(ASCII),可在上述之UG Command Prompt命令視穸中,輸入"ascmdf fiename"命令,其檔案各稱可以輸入* 字元,將所有檔案轉為文字檔. ascmdf filename.mdf由進位碼檔轉成文字檔.mdfa clszclf fulname由.cls檔轉成.clf檔(二進位碼檔) gpm -mdf=file.mdf -clf=name.cls執生后處理 mdfg制作控制器格式檔即.mdfa xlafor punch or read a EIA or ISO MCD*file(制作讀取紙帶格式) MCD: Machine Confrol Data機器控制資料.

UG_后处理技巧说明

UG 后处理(后面有点UG与VERICUT)要适当的提高自己的英语水平 1.0.0:打开后处理工具卡 1.2.0:进入创建后处理文件页面 1.2.1 创建一个新的后处理文件这里输入文件名(英文)

这一区域是你的输出是否记录选项 此区域左边为机床行程数据右边为机床原点数据 此区域左边为机床精度小数右边为机床快速进给G00速度 其他选项默认就可以了 然后进入下一页面点击这里 这一选项进行修改你的程序头程序尾中间换刀程序衔接道具号道具属性显示的添加进行讲解 此选项为程序头选项此选项为增加程序条命令点击它可以拖入程序条就像这样这里的垃圾桶通样你不想要的此条可以删除

下面讲解通用的编程设置下面图片是默认的设置 此选项为N码关闭此选项为N码开启一般都是把这条此选项需要更改改成你需要的G40 G49 G80 G90既可单击这条词条就可修改进入下一画面把不需要的拖入垃圾桶

通过此选项里的代码你可以找到你想要的改好后点击OK既可 安全起见最好加入个Z轴回零命令拉入一个词条框 添加一个新的词条框如果你想把词条框放在哪个词条框的周围只要看好词条对应放置位置变白既可松掉鼠标下面进入新词条选项里点击这里可以加入你要的词条

而我们需要的是 G00 G91 G28 Z0 命令可以用文本形式输入就是这里选择第二个选项“TEXT”文本点击 Add word 拉入这个区域同样变白放置输入你要的文本G00 G91 G28 ZO 点击OK 既可程序头设定完成就是这个效果看下图如果需要加入O号 下面编辑你的换刀过程点击中文意 思就是操作开始步骤 在这里你可以加入你需要的道具信息 N号的开关 M8 M9的开关设置 G43H00等 设置下面先讲解 N号的加入

自写教程-UG后处理程序

機械資料檔產生器 MDFA檔 (載入參數) 零件檔(Part) 刀具路徑(cls) 圓形后處理模組 NC檔 NC機械 完成零件 第二項 GPM在UG之應用 說明:此選項用于京明如何在UG骨,以圓形后處理模組GPM(Graphics Postprocessor Module) 產生NC檔,當選取UG下拉式功能表工具箱CCLSF管理員時,系統將顯示CLSF管理員對話框,點選其對話框中之后處理程式產生器,則系統將出現NC扣處理產生器對話框關于其祥細說明,請參考本書Part-3第三節).系統可以此對話框之設定產生一名稱為"*.ptp"之NC檔,及名稱為“*.ltp"之列示檔. 第三項GPM在UG外之應用 說明: 此選項用于說明如何在UG外部,以圓形后處理模組GPM(Graphics Postprocessor Module)產生NC檔,當欲以外部程式執行圓形后處理模組GPM 時,在WindowNT系統下,須點選WindowNT中開始>程式>Unigraphics V13.0>UG Command Prompt命令則系統會出現如下圖所示UG Command Prompt命令視穸,執行時只須在其命令視穸中輸入""gpm-MDF=name.MDFA(或.MDF) -CLF=name.cls(.clf或.iso)"即可產生一名稱為"*.ptp"之NC檔,下圓為其執行圓示: UG Command Prompt Execcd XDK nit installed on this system. Environment set for Unigraphics User Function without Exceed XD UGII is C:\EDS130\ugopen; C:\WINNT\system32; C:\WINNT;% n\;C:\EDS130\UGII\;c:\EDS130\UGII\ INCLUDE is ; C:\EDS130\ugopen LIB is CL is -c -nologo-MD C:\>c:eds130\mach\gpm -mdf=name.mdf -clf=name.cls GPM位置路徑 MDF檔案名稱 CLS檔案名稱 [注] 當欲將由機械資料檔產生器(MDFG),所產生之二進位居要津(Binary)MDF 檔,改變為文字檔(ASCII),可在上述之UG Command Prompt命令視穸中,輸入"ascmdf fiename"命令,其檔案各稱可以輸入* 字元,將所有檔案轉為文字檔. ascmdf filename .mdf由進位碼檔轉成文字檔.mdfa clszclf fulname 由.cls檔轉成.clf檔(二進位碼檔) gpm -mdf=file.mdf -clf=name.cls 執生后處理 mdfg 制作控制器格式檔即.mdfa xlafor punch or read a EIA or ISO MCD*file(制作讀取紙帶格式) MCD: Machine Confrol Data機器控制資料.

ug后处理教程

制作自己的后处理1,开始菜单里打开UG/POST Builder 附件 0.PNG (17.26 KB) 2008-1-14 20:54 1.PNG (130.23 KB) 下面说说UG/POST Builder的界面和一些基本的东西 设定螺旋下刀的方式 增加一个自定义命令,拖到%下一行,如图, 加入以下命令 uplevel #0 { set mom_kin_helical_arc_output_mode LINEAR MOM_reload_kinematics } 完成

加turbo,使后处理速度快5~6倍 再在如图位置增加一个自定义命令 输入以下内容 uplevel #0 { set mom_kin_is_turbo_output "TRUE" MOM_reload_kinematics } 完成

加turbo,使后处理速度快5~6倍 这个命令可以使后处理速度快5~6倍,一个字“快” 加入这个命令后,如果不想自动开油的话要修改下面三个地方,只有加了turbo的才改这三个地方 以下内容需要回复才能看到 自己的自定义设置 如果自己喜欢在每次程式开始时做一次Z轴回零的动作,按以下三个图设置 以下内容需要回复才能看到 2.PNG (16.78 KB) 2008-1-14 21:10 , 阅读权限: 11 3.PNG (19.15 KB) 2008-1-14 21:10 , 阅读权限: 11 自己的自定义设置 有些高速机要在程式开始前加入G05.1Q1,有的又要加其它指令,但不管加什么指令,按以下方法都可以搞定

以下内容需要回复才能看到 在程式尾加入G05.1Q0G49,和程式头的方法一样。 把M02改为M30,点击M02进行修改,方法如图 以下内容需要回复才能看到 在程式头或程式尾加一些强制性输出的指令也可以用以下方法搞定,以加入G05.1Q1为例 增加一个自定义命令,在里面添加如下命令 MOM_output_literal "G05.1Q1" 如果要多加几行指令,只需换行重复以上的动作,只是G05.1Q1要换成其它的指令罢了 以下内容需要回复才能看到 加入刀具信息 在弹出的对话框中输入如下指令 global mom_tool_diameter global mom_tool_corner1_radius global mom_tool_name MOM_output_literal "( $mom_tool_name D=[format "%.2f" $mom_tool_diameter] R=[format "%.2f" $mom_tool_corner1_radius] )" 注意,D和R都可以改成你方便识别的文字,也可以改成汉字,不过要你的机床能识别汉字,%.2f是输出刀具信息的精度,这个意思是小数点后面2位数,2可以改成其它数字,其它地方就不要改了。 以下内容需要回复才能看到 程式尾的做法_加入加工时间 和程式头的做法一样,这里就不详细说明了 这里就说一下加入加工时间 在自定义命令里输入如下指令 global mom_machine_time MOM_output_literal "(TIME: [ format "%.2f" $mom_machine_time] MIN)" 以下内容需要回复才能看到 G02G03走R的方法 如图:victory: 以下内容需要回复才能看到

UG后处理批处理教程

UG后处理批处理教程. 1:先打开你的后处理*.TCL文件找到SET MOM_SYS_GROUP_OUTPUT 设为ON 2:打开你的UG安装目录下NX3.0\MACH\RESOURCE\postprocessor\下的UGPOST_BASE.TCL文件找到set grp_ptp_name "${mom_output_file_basename}_${group_name_lowercase}${output_extn}"改成set grp_ptp_name "${group_name_lowercase}${output_extn}" 3:找到 proc mom_start_of_group下面的 if {$mom_sys_ptp_output == "ON"} {MOM_open_output_file $ptp_file_name 改成 if {$mom_sys_ptp_output == "ON"} {MOM_remove_file $ptp_file_name 4:继续找到 proc mom_end_of_group下面的 if {$mom_sys_ptp_output == "ON"} {MOM_open_output_file $ptp_file_name 改成 if{$mom_sys_ptp_output == "ON"} {MOM_remove_file $ptp_file_name 5:保存UGPOST_BASE.TCL文件! 6 进入UG加工模块,点最上面的NC PROGRAM组上面进行后处理就OK了! 其实想让你的后处理摇身一变,成为批处理,也不是什么难事,我有个方法,大家可以试试,不过记得回贴,不然我会鄙视你有。。。。。 1:先打开你的后处理*.TCL文件找到SET MOM_SYS_GROUP_OUTPUT 设为ON 2:打开你的UG安装目录下NX3.0\MACH\RESOURCE\postprocessor\下的UGPOST_BASE.TCL文件找到 set grp_ptp_name "${mom_output_file_basename}_${group_name_lowercase}${output_extn}"改成 set grp_ptp_name "${group_name_lowercase}${output_extn}" 3:找到 proc mom_start_of_group下面的 if {$mom_sys_ptp_output == "ON"} {MOM_open_output_file $ptp_file_name 改成 if {$mom_sys_ptp_output == "ON"} {MOM_remove_file $ptp_file_name 4:继续找到 proc mom_end_of_group下面的 if {$mom_sys_ptp_output == "ON"} {MOM_open_output_file $ptp_file_name 改成 if {$mom_sys_ptp_output == "ON"} {MOM_remove_file $ptp_file_name 5:保存UGPOST_BASE.TCL文件 6 进入UG加工模块,点最上面的NC PROGRAM组上面进行后处理就OK了!

UG后处理变量

UG后处理变量 global mom_seqnum global mom_part_name global mom_logname global mom_date global mom_spindle_speed global mom_output_file_basename MOM_set_seq_off set mom_seqnum 100 # MOM_output_literal "(######## TASK : $mom_part_name ############)" # MOM_output_literal "(# Created By : $mom_logname)" # MOM_output_literal "(# Creation Date: $mom_date)" # MOM_output_literal "(############################################)" # MOM_suppress always N MOM_output_literal "G28 G91 Z0.0" MOM_output_literal "M30" MOM_output_literal "%" MOM_output_literal "(Date: $mom_date)" # MOM_suppress off N MOM_output_literal "(name: $mom_output_file_basename.nc )" MOM_output_literal "($mom_part_name)" # MOM_output_literal "O$mom_output_file_basename" # MOM_set_seq_on 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 Machine Time:[format "%.2f" $mom_machine_time min])" Tool_Name:$mom_tool_name Tool_No:$mom_tool_number $mom_operation_type 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 Machine Time:[format "%.2f" $mom_machine_time min

UG_后处理的制作

1.0.0:打开后处理工具卡 1.2.0:进入创建后处理文件页面 1.2.1 创建一个新的后处理文件这里输入文件名(英文)

这一区域是你的输出是否记录选项 此区域左边为机床行程数据右边为机床原点数据 此区域左边为机床精度小数右边为机床快速进给G00速度 其他选项默认就可以了 然后进入下一页面点击这里 这一选项进行修改你的程序头程序尾中间换刀程序衔接道具号道具属性显示的添加进行讲解 此选项为程序头选项此选项为增加程序条命令点击它可以拖入程序条就像这样这里的垃圾桶通样你不想要的此条可以删除

下面讲解通用的编程设置下面图片是默认的设置 此选项为N码关闭此选项为N码开启一般都是把这条此选项需要更改改成你需要的G40 G49 G80 G90既可单击这条词条就可修改进入下一画面把不需要的拖入垃圾桶

通过此选项里的代码你可以找到你想要的改好后点击OK既可 安全起见最好加入个Z轴回零命令拉入一个词条框 添加一个新的词条框如果你想把词条框放在哪个词条框的周围只要看好词条对应放置位置变白既可松掉鼠标下面进入新词条选项里点击这里可以加入你要的词条

而我们需要的是G00 G91 G28 Z0 命令可以用文本形式输入就是这里选择第二个选项“TEXT”文本点击Add word 拉入这个区域同样变白放置输入你要的文本G00 G91 G28 ZO 点击OK 既可程序头设定完成就是这个效果看下图如果需要加入O号 下面编辑你的换刀过程点击中文意 思就是操作开始步骤 在这里你可以加入你需要的道具信息N号的开关M8 M9的开关设置G43H00 等设置下面先讲解N号的加入

UG为加工中心配置后处理文件

UG为加工中心配置后处理文件 2008-06-01 20:32:56 作者:来源:互联网浏览次数:2492 文字大小:【大】【中】【小】 这是一篇针对性很强的文章,文中简明介绍了在UG 软件中配置针对HAAS 加工中心数控系『::好就好::模具网』统的后处理文件的全过程。读者可举一反三地将其应用于其他的数控系统中。笔者单位引进了HAAS 加工中... 这是一篇针对性很强的文章,文中简明介绍了在UG软件中配置针对HAAS 加工中心数控系 『::好就好::模具网』 统的后处理文件的全过程。读者可举一反三地将其应用于其他的数控系统中。 笔者单位引进了HAAS 加工中心和三维CAD/CAM/CAE 软件,UG。对于复杂零件( 特别是 模具) ,手工编程难以满足生产需要,而UG软件具有CAD/CAM 一体化的优势,可以编制 各种复杂的加工程序。然而,UG是一种通用的软件,针对不同的数控机床需开发其后处理 文件。因此,为UG配HAAS 加工中心后处理用的机床信息文件MDFA(Machine Date File ASC Ⅱ) 就成为当务之急。 一、UG的CAD/CAM 过程 UG的CAD/CAM 过程首先利用Modeling 造型模块对零件进行造型;再用Manufactu ring 加工模块生成APT 语言格式的刀位原文件(Cutter LocationSource File) ,即CLSF 文件 ,它包括刀具坐标数据和后处理语句;最后由UG的GPM(Graphics Postprocessor Module) 模块读取CLSF 文件和机床数据MDFA 文件,依照MDFA 文件的格式生成一个机床直接可执行 的PTP 文件,该文件就是机床数控G 代码文件,送入机床数控系统即可执行零件加工。 二、UG的刀位原文件(CLSF) 介绍

星空教你如何添加UG后处理

如何添加UG后处理教程 经常有人问如何添加后处理到星空,其实星空是读取UG本身后处理的,你只要把后处理正常添加到UG里面,星空也就有了,添加成功之后,会如下图显示: 点击UG后处理命令,弹出后处理对话框。

为了能看到文件的全名称,我们先做一个系统设置,打开文件的扩展名,以WIN7系统为例,

如果你的系统不一样的可以自行百度。 进入正题,今天就完全抛开外挂给大家讲后处理添加的整个过程和原理。 其实控制后处理的默认是这个配置文件:D:\Program Files\Siemens\NX 8.5\MACH\resource\postprocessor\template_post.dat 这是我电脑的UG安装路径, 以下提到的此路径请自行对应自己电脑上的安装位置,请注意这个默认的路径也可能被改变,请按下面方法检查。 检查是否有外挂设置环境变量更改了UG本身的后处理路径, 打开电脑环境变量(不会的可以百度),检查是否存在“UGII_CAM_POST_DIR” 用户变量和系统变量都要检查。

比如我的电脑设置了上面的环境变量,那么我的后处理配置文件就在 D:\QuickCAM\Postprocessor\template_post.dat , 如果删除此环境变量,那么就会重新默认UG 自身的目录,D:\Program Files\Siemens\NX 8.5\MACH\resource\postprocessor\template_post.dat 通过以上检查我们就确定了我们使用的是哪个后处理配置文template_post.dat 接下来我们用记事本打开此文件

(完整版)五轴UG(NX)后处理

0 引言 UG作为一种优秀的CAD/CAM软件,他几乎可以覆盖从设计到加工的方方面面。利用UG NX CAM加工模块产生刀轨。但是不能直接将这种未修改过的刀轨文件传送给机床进行切削工件,因为机床的类型很多,每种类型的机床都有其独特的硬件性能和要求,比如他可以有垂直或是水平的主轴,可以几轴联动等。此外,每种机床又受其控制器(controller)的控制。控制器接受刀轨文件并指挥刀具的运动或其他的行为(比如冷却液的开关)。但控制器也无法接受这种未经格式化过的刀轨文件,因此,刀轨文件必须被修改成适合于不同机床/控制器的特定参数,这种修改就是所谓的后处理。 近年来,五轴加工已开始应用到精密机械加工领域,工件一次装夹就可完成五面体的加工。如配置上五轴联动的高档数控系统,还可以对复杂的空间曲面进行高精度加工。但五轴机床后置处理因机床具体结构、刀位文件不同。后置处理所得出的数控程序也不尽相同。因为五轴加工的后处理非常关键,本人结合自己的实际工作经验,着重谈谈五轴加工中心后处理的制作过程。 1 UG后处理开发方法 UG/Post Execute和UG/Post Builder共同组成了UG加工模块的后置处理。UG的加工后置处理模块使用户可方便地建立自己的加工后置处理程序。后处理最基本的2个要素就是刀轨数据(Tool Path Data)和后处理器(A Postprocessor)。 利用UG/Post Execute后置处理器进行后处理,有2种方法:①利用MOM(Manufacturing Output Manager),②利用GPM(Graphics Postprocessor Module)。 MOM的工作过程如下: 刀轨源文件→Postprocessor→NC机床 MOM后处理是将UG的刀轨作为输入,他需要2个文件,一个是Event Handler,扩展名为.tcl,包含一系列指令用来处理不同的事件类型;另一个是Definition File,扩展名为.def,包含一系列机床、刀具的静态信息。这2个文件可以利用UG自带的工具POST BUILDER来生成。当这2个文件生成后,要将他加入template_post.dat文件里才能使用,其格式如下: fanuc,${UGII_CAM_POST_DIR}fanuc.tcl, ${UGII_CAM_POST_DIR}fanuc.def ?GPM的工作过程如下: 刀轨源文件→CLSF→GPM POST→NC机床

UG批量后处理带程式单的修改方法

UG批量后处理带程式单的修改方法UG批量后处理带程式单的修改方法(申请加精) 有些朋友用起来有点不习惯,如程式头有一些输出的资料不需要,有些又要加一些指令进去,这里我来说说我自己需要的程式头的修改方法,希望对初学者有点帮助. 先看看,右图是最初这个后处理处理出来的效果,我自己用的在左图,我以下的做法就是把右边的头部改为左边的样子。 Highway 1/2. Rail transportation and land use there ... Big. Urban rail transit as a low-pollution urban public transport has become a major positive development and construction of the city's main transport infrastructure through the construction of urban rail transit will help curb rapid growth in traffic demand and help reduce the core frequency

Highway 1/2. Rail transportation and land use there ... Big. Urban rail transit as a low-pollution urban public transport has become a major positive development and construction of the city's main transport infrastructure through the construction of urban rail transit will help curb rapid growth in traffic demand and help reduce the core frequency

相关文档