|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路. 0 |) }3 k* _$ [: }: D$ K7 z. o- V
& x8 Z( f; N8 v' g% g1 P) V
下面重点介绍它的后处理设置.
' M5 [* Z7 t, h5 e: P9 d
* k4 t3 B- Q( C' E 后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分: ) t5 S' {; T' y1 N
: _$ o3 e, C; `1 X1 Z
1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改. ( @- L' r2 D. M9 l7 `9 [
以下是截取的部分注释注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.) 1 u* Q6 ?; d; a3 c9 r) e3 T G1 ~
# Post Name : MPFAN
% B0 X' ~2 G" R8 {6 O6 u# Product : MILL
: }+ E1 `$ M$ v; h# Machine Name : GENERIC FANUC 2 U% ^3 c5 [4 C" v- {
# Control Name : GENERIC FANUC
& I7 k3 g: z8 N u& M# Description : GENERIC FANUC MILL POST
* h) l! B" j4 B7 P# Associated Post : NONE ( X; i6 ]5 j1 K8 x' x4 P3 S
# Mill/Turn : NO
! [5 y* u' |- a2 k0 z$ Q: F# 4-axis/Axis subs. : YES 7 U1 N, U7 E4 o) o3 X
# 5-axis : NO + ?( c0 Y( {% ~# c/ ? y* t9 Y) n
# Subprograms : YES
8 y' o+ Z: G7 ^6 T% p9 ?# Executable : MP v9.0
; W( H/ y/ f1 g) C- b5 h& Q! Y: r# : h3 g; x4 e& l' Y9 M
# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
- _/ O$ ]! B& \. ]& {# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE. 3 P% C# i [& J; X$ [0 T
3 s2 }1 f& S" W8 O# D( a
2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的) , k) ~- x! J% w, g; S- `# t
m_one : -1 #Define constant 9 _' A6 B$ O' B
zero : 0 #Define constant 3 S& _0 I- D$ F5 f% J r! C: p' J q
one : 1 #Define constant 8 G( v, e; l; Y9 _1 J- J) v
two : 2 #Define constant
" }+ z& ?% H% Z7 g' m1 i. Sthree : 3 #Define constant ) Q6 V1 B- g1 i! H! M V
four : 4 #Define constant
8 c) k: `# a: F7 \ Xfive : 5 #Define constant 7 D8 y# j& f& q# q% z& }
c9k : 999 #Define constant ' m+ x8 {. A8 X) p
7 |2 g8 T3 `+ R- n- Vfastmode : yes #Enable Quick Post Processing, (set to no for debug)
0 C8 v- {+ _/ \bug1 : 2 #0=No display, 1=Generic list box, 2=Editor 8 D! K- [, k/ p! f8 Y# J
bug2 : 40 #Append postline labels, non-zero is column position?
/ Z& v7 G4 o9 e0 hbug3 : 0 #Append whatline no. to each NC line? 9 U) @! D* g+ S" q) Q) r0 l4 ?/ @) R k
bug4 : 1 #Append NCI line no. to each NC line?
7 [ w1 q* i6 B# E/ u, _& bwhatno : yes #Do not perform whatline branches? (leave as yes) 6 I2 @5 z! ^4 y3 @/ g2 w
5 Y4 \/ s# @# t8 H F+ tget_1004 : 1 #Find gcode 1004 with getnextop?
0 ?) y/ {* y3 C- W. _1 Wrpd_typ_v7 : 0 #Use Version 7 style contour flags/processing? , H2 T, c4 ~/ T' n H
strtool_v7 : 2 #Use Version 7+ toolname? : p" y3 A0 {& P
tlchng_aft : 2 #Delay call to toolchange until move line
3 y/ X2 B6 x& E& ~cant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft
2 i% R. O. W. m" S# mnewglobal : 1 #Error checking for global variables # O2 a9 Q/ _, G s# l
getnextop : 0 #Build the next variable table
r& _7 R2 A8 H8 |: j% e& [( B 9 R: N. Z8 l0 f1 t9 {
3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿... 7 b/ P5 Q8 b4 E
+ ?; I9 F+ r8 z- isub_level : 1 #Enable automatic subprogram support(启用自动支持子程式) ; ]. ~, g' q" n* J; A. {8 n
breakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式)
& c- e& X# u& a3 E- iarcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式) ) a6 ]. z) t) S2 J( G
arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc. & M: y2 K; b. C2 K' |' X4 p
do_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式)
8 F9 J: t. D6 p6 R" s( c4 Hhelix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧)
+ _* L; P& t( {$ c$ e/ Larccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线)
# L3 `1 n7 l7 g1 d- }atol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差) / g& P. Z! n) w9 G7 p
ltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差) # D$ Q, m8 ?; M" s, T3 G7 ]
vtol : .1 #System tolerance(系统公差) 3 P4 ^7 k9 G. x9 K& A2 W B& A2 U. l
maxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制)
4 M: c7 y- R5 Yltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制)
! n+ S W; Q0 l& e- r9 @' G0 w3 P7 {vtol_m : .0025 #System tolerance, metric(系统公差-公制)
4 K, L- l" z) b3 ]( }9 rmaxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制)
5 p2 [8 ~: |! b! ~% bforce_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标) $ P* R+ V. G8 V. S9 O4 |
spaces : 0 #Number of spaces to add between fields(两行之间是否加入空格) ) _! c7 }1 [7 u; S1 I, a/ Z" ?
omitseq : yes #Omit sequence numbers?(是否省略序列号) , _+ d. r$ w1 A' S6 A- y+ o# n
seqmax : 9999 #Max. sequence number(最大序列号) " p3 @/ `5 a9 J9 n$ E
stagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具)
3 E* c/ A. a8 s. ?2 \use_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码) 2 Y x6 f( o! W5 Z, T+ ]) s
max_speed : 10000 #Maximum spindle speed(最大转速)
$ V9 O% r4 _1 cmin_speed : 50 #Minimum spindle speed(最小转速) : C+ G5 D3 i& I
nobrk : no #Omit breakup of x, y & z rapid moves * @7 o2 d4 e% p v+ j8 T
progname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写) 3 u. s4 P' E3 P6 o, ^7 q9 P$ E8 Z
G6 T4 {" X. [3 q/ i+ a, v$ P, \ 4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警......
% k$ P/ K$ n* ~+ g- s3 K# R9 g" i3 D Q* t8 B4 R% J
5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容.
- O; Y9 Z1 p$ g' {# F
2 i, q6 w! Y2 d/ o& e8 M/ ^"%", e(程式开头的百分号)
8 O( I& f* o# K U*progno, e(程式号码) / \2 _+ F# Y- e1 R* h
comment(注解,可有可无,如不需要则删除此句) 4 s* t9 A1 m6 x& ~, v1 o
"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无)
4 `) u* n0 p! }0 u9 w"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除) ! g! R& C- y, J% v" [
"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无)
$ |% S) Y/ x1 G+ U: u$ vpbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容)
& l0 t$ W) v1 `$ Ppbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标) 7 J! S d1 J6 n* ?' V1 H
sav_absinc = absinc (绝对坐标系) 1 l. r/ z, g9 l. b* I) M
......
3 C! ?1 N" b2 v9 v/ O# F
2 I( ~# i9 r! ?; K" g(中间省略的部分是系统根据刀路自动转出的程式,一般不必改)
/ u% ?' P1 [, e...... 5 d7 \+ R, Z; {7 P& p
(以下几句是出现在程式尾,可以根据需要添加或删除) ! _ x: R- }, A$ T% O9 m# o
7 a* h$ Q& N. |& E; D/ Vn, "Z10.", e (加工完成后提刀至安全高度) $ y9 v: @- f: Q' V, x* o9 K
n, "X0.Y0.", e (归零)
& u8 G; ?+ E7 t$ an, "G91", e (转用相对坐标) ) V9 `* z9 t1 H0 x
n, "M99", e (回到主程式)
$ W& P3 ^7 S/ a6 ^mergesub(此四句为程式结尾固定语句,不必理它) ! L2 N' L9 g" P9 m% g
clearsub $ k# `' B" G, k) X& M; O
mergeaux
; C6 T" q" i$ m W* @clearaux
7 w" ^# K9 A. [6 E" U7 f"%", e(程式尾) |
评分
-
查看全部评分
|