机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5404|回复: 7

Mastercam 后处理

[复制链接]
发表于 2015-3-3 00:11:45 | 显示全部楼层 |阅读模式
MASTERCAM后处理格式修改 [url=]转载[/url]
' |8 V' a8 Q9 k
4 W8 K" [4 o# `

: \) g% Z% b; y# P) D2 A$ W对于后处理格式,一般的用户有三个层次的需求:
' ]$ H5 x# h. t5 x- @) s# H. \8 U4 Q  D8 v& T- v( I
一、PM 自带的后处理中有适合自己机床要求的,不过要修改、增删些代码。
4 q& R$ R2 ?. X. X+ `二、没有适合的,需要改写后处理。% P* S/ \, m$ t- Y
三、机床的代码格式完全与普通 G 代码格式不同,需建全新的后处理。
' f1 ?, b, e; W! y" c' k1 o5 d8 C9 g0 ]  I2 _
现在开始准备工作:2 \. B8 l0 r: W3 L. r

8 E4 W% @9 a" [& b. Q8 q6 U1、以不同的控制器试着处理几个G代码文件出来,然后和自己机床的代码进行比较,选一个最接近自己的。
4 l0 j- m/ A/ Y, R( L" @& ^  x! u2、打开ductpost\dp-index.html,准备有问题就看帮助。! ?: U% K# s" X( S$ J" U
3、运行:ductpost -w [控制器类型] > [控制器类型].opt ,从而生成OPT文件,这个选最接近你机床的控制器。如:ductpost -w hurco > hurco.opt 。 这时就可以用文本编辑器来打开这个opt文件了:, e5 V0 F" q( j; C+ }- d. [5 e* u) o

" f) o) U' C/ q1、程序头、程序尾的改写:
2 M) x; i  g) r& s* g这个在以下的定义里面:% I3 o. m* P3 C6 v' p4 x! L5 L% e
define block tape start
+ k% g* z& k2 [5 e# I& L********************- U7 l0 f; L$ X6 e4 [) }
end define4 T- L, e2 I9 D4 _, ~( e# S: [: x6 C
define block tape end  l2 v) H- `5 f  {  n2 ^
*******************
. x2 \9 @2 D) W$ X5 f- Uend define
. R. e8 {7 ]0 |
: W( P$ Y  g. \/ _3 K你可以根据自己的需要添加,如:
9 z0 `8 _/ d& d. A/ J' ?; }( s, ?# S/ `0 N1 N: ^+ X. [2 o
define block tape start& C3 f; `- ~* b  ]  D2 N- ]8 x
"%"
! N+ @3 y0 g1 ]( {5 H1 r$ PN ; "G17G90G80G40G49"
9 D) @; E# W4 v! Oend define$ D' m# e/ {+ `: Y  ]% a

% Y4 T0 O9 F- S1 o5 n3 ?- Gdefine block tape end" |, P, ]& ]; |  }- U6 T( v
N ; "M05"; I/ s1 [5 H2 @/ L& P& q
N ; "M30"9 ?4 R+ _! f( _% L
end define
- S# q% M5 `$ ~9 [) V  ~+ K8 ^* `) |2 O6 u" e& f9 u& Y1 f
不过注意这种引号方法优点是简单明了,但控制器只是把它当字符处理,而不能以模态存在,具体可参见其它说明。
  S$ O/ D) V2 e& S0 h9 O1 l" C* G6 L. }2 j+ n1 k- t
2、是否需要N行号?
5 B7 }+ W# p& Q%
. X) B! o  Q! V6 d- l' H8 `4 ^:0001
$ N- b3 }2 N' zN10G28G91X0Y0Z0
/ X$ V8 ^' z* h. q" rN30T1M6
, u& ~& @* r. L* mN40G0G90X-25.Y-40.S800 M3
" p, n: {  u: q% f' t" H
! g: `0 M9 i& a如这上面的N10、N30、N40,另外行号的起始、增量、最大都可以定义。如果不想要行号,可修改为以下值:
* w* L' C6 i5 t$ rdefine format ( N )
! r1 s" u# I( D4 z  qnot permanent
! I2 {/ S/ u: i- x  |2 p6 d+ Uend define  J& w8 [9 W" b# C0 |
6 {8 X) M( w! p8 J% z* b
3、是否需要Message?
: Z$ U0 X3 S& W
" t$ R5 t8 [; }5 ?5 q9 VN60( MSG, Toolpath Name: ET)1 k2 w0 A; i: i; o5 M
N70( MSG, xyzxyz_cut_1 ET)
# B' F& |9 m- C2 E' Y3 g. rN80( MSG, Output: ET)
$ j5 S/ U0 M" j% a3 [N90( MSG, UNITS: MILLIMETRES ET): r$ @, P8 _1 G/ U
N100( MSG, TOOL COORDINATES: TIP ET)8 P7 ^$ r: t8 f& Q7 n2 C/ G
N110( MSG, LOAD TOOL ET)
  C4 Q) E0 O) V' G7 M" p8 z- [* [+ ]& Q% r: B& r
上面的信息,可修改为你需要的,具体参见帮助。也可选择不输出,如:
) C" Z9 F9 }& c, ]: I; A
  H6 S, c9 E1 Q9 T  umessage output = false
) J% ~" g& {. S( h0 |/ _" o& |1 |# `: d
4、圆弧的输出格式:
8 O) b: d. @8 w% u
5 W% k& d! A8 l+ d9 ]* [/ [这个需要讲一下,输出R的就不讲了,专讲I、J、K的输出。大致有三大类:1 [4 F" W. `+ B  z/ E: g0 _) z

- x4 s' `( N( oa、I、J输出为圆心的绝对坐标值。
5 K5 M" l$ V8 R8 {; |8 Y9 Bb、I、J输出为相对坐标值,具体值为:圆心坐标值-圆弧始点坐标(常用)
1 b, h* K4 K1 R' i* v4 w& I& tc、I、J输出为相对坐标值,具体值为:圆弧始点坐标-圆心坐标值
( D$ |3 J" c; S8 X: d. @: A* q" ^) k+ W% y) c4 x5 ~$ m
define format (I J K) :定义I J K的矢量
+ U$ H5 T$ F. j+ Wscale factor = -1
1 @' p; a( {! L* R& dend define3 P  K  o$ }5 `
5.定义左右刀具补偿
) d) j- G9 F, r2 J# G" l8 c1 ldefine codes0 N' V/ o$ ?; E* I0 e/ b
comp on left = G2 41, p6 m) N6 ^% n0 w
comp on right = G2 42
) r# T4 m8 |6 l/ B2 }1 ]4 V4 E8 `comp off = G2 408 l0 i7 m& E- p! G, u) r2 f
end define
  @0 d; D- S/ D% ?$ k. T6 C$ V% @) V3 O: v
#14 :从#14~#41为定义旋转轴的写法,如小数点的位数, /-的输出等等
' z! H2 [6 K  X* \" o  K7 v4 t4 x6 }% w3 X
define format ( A )
: Z- G+ _# W3 j, R, oaddress letter = "A"
* D: d! g$ I) M+ Paddress width = 1
4 e$ |$ N' D1 Tfield width = 8$ A& n. g7 C5 g7 t* G
metric formats( {: Q8 W8 t& `! u2 v& j& B- y3 C
decimal places = 3
" l: _/ }. a/ p+ V( {0 J0 _decimal point = true6 M5 Y' `- n; m% t& s( T* b$ O0 w. I$ b
sign = if negative
5 g# @) G( L  ?leading zeros = false% s2 W, D; ]9 C/ _% A- u  D
trailing zeros = true0 ]. t& m# x4 V6 f& k4 i. Q3 u
end define+ g5 K( {+ s# G  K8 q% V
#26
4 Z* g/ \2 m4 ^word order = ( A )
9 `0 `6 D6 }; m( L9 o3 Q; z#28: m0 E7 `+ ^5 C
units = metric/ B; y/ P  L6 j" s
message output = false  T: M+ _  w/ c. ^( y: b: x, V; A
spindle output = (2 0 0 0 )
1 y9 ~! ]) x) C9 f" H& Ccoolant output = ( 1 2 )
- d: @4 v- S# c" F& _5 [#32; |! A% G. E6 o
define format ( C )2 A0 `8 _" K7 R/ P
address letter = "C"
* N% ?; l% t2 D4 Caddress width = 1
+ \1 D0 N. P8 T6 U: }field width = 8
% F% v/ a$ d& w; K: J9 r) S$ }metric formats
# {3 N. d% S! M7 p5 Y0 }  ]' t4 M+ Edecimal places = 30 e7 S" d* I- [  ?4 S: O% h$ V. I+ e
decimal point = true
" H& v" ~& L$ j7 `% z2 V; ^3 _. N% u  nsign = if negative& a) ~- z! h$ `5 g. g% F  [8 a
leading zeros = false1 g) A* P, R& j5 T% S* S
trailing zeros = true# D1 f8 _; Y0 R, J4 B6 Z
end define4 x& F( k4 e. S! T8 p! i4 ?: {8 Q, E
#39
- X2 \8 _3 t3 @, a8 u6 c6 H+ _word order = ( C )
# f0 \: Z( C+ x3 q#417 n, O8 c, e4 F
units = metric( v+ A: t8 J' O) _6 N
message output = false
6 q0 P1 l" j- X0 n1 P& R7 sspindle output = (2 0 0 0 )* E0 T5 g: N3 p7 m5 P7 l
coolant output = ( 1 2 )  ^3 O; L% x9 h, l3 H: _2 H

  D, `  Q1 s" k; g, c) ?+ e#33
! h. z+ F2 ^! _) [define keys :定义旋转轴名称
( Y& j0 f. A8 W  |3 M" zazimuth axis = C! K9 g6 G; b1 L6 t# y
elevation axis = A
% a, r$ L( e) ?8 ?: s) send define; S( [# u8 @6 c# G
#382 n# }+ A) b' X% H' F
azimuth axis parameters = (0. 0. 0. 0. 0. 1. )8 G" v) h* h, M& Z
elevation axis parameters = (0. 0. 0. 1. 0. 0. )
, J* \- U; q$ @& z1 M2 v#41
, u" h+ d: F: i! hspindle azimuth rotation = true :定义方位轴方式,true为主轴头式false为工作台式) i. s* p. s  E9 e
spindle elevation rotation = true :定义俯仰轴方式,true为主轴头式false为工作台式
9 h& Y$ }! `. l5 J. ^: y#44
; Z: S4 o5 h4 s/ Razimuth axis direction = positive :定义方位轴用法,相对还是绝对. w% h5 d" ]. D2 ^7 U! X
elevation axis direction = positive :定义俯仰轴用法,相对还是绝对  a) @6 ^( H6 H8 {. [* G
#47
8 x+ @* Q. }; f! l1 d0 vazimuth axis units = degrees :定义方位轴单位
4 s4 d5 [' d) o" F. [# Ielevation axis units = degrees :定义俯仰轴单位
& ]. |) Z) q5 r# ]#50
3 ^8 u- R; Z! W; n2 G% Nazimuth axis parameters = ( 0 0 0 0 0 1 ) :定义方位轴参数+ ~# g; P3 D- N8 |3 f) @7 E
azimuth centre = ( 0 0 0 ) :定义方位轴圆心参数
& n, Q" R* A2 {" D' Oelevation axis parameters = ( 0 0 0 1 0 0 ) :定义俯仰轴参数
  G+ h! Q0 D# M5 [elevation centre = ( 0 0 0 ) :定义俯仰轴圆心参数
  r7 X/ M5 w5 Fpcs origin = ( 0 0 0 0 0 0 ) :定义旋转轴圆心% M0 L( K* B, L( F/ h; V
linear axis limits = ( -99999 999999 -99999 999999 -99999 999999 ) :定义线性轴范围
$ K; \5 t7 ~$ G8 O* Z( trotary axis limits = ( -99999 999999 -99999 999999 999 1 ) :定义旋转轴范围
+ N# h3 n! n% cmove safe angles = ( 0 0 0 0 0 0 ) :定义起始角度
. C+ M6 X0 E- M( l6 W6 C+ qlinearise multiaxis moves = false :定义机床是否支持线性多轴联动,false为支持true为不支持+ Y7 ^: ?( d! I' D% j# m
multiaxis coordinate transform = false :定义机床是否支持多轴联动,false为支持true为不支持$ G+ i# U! y' z5 _4 \
integer 3 = 1 :定义是否进行多轴处理
+ |3 C9 I6 ^8 H, v% ninteger 9 = 5
0 J( C3 ^4 ~. ^- Y9 m* |) ninteger 22 = 1
/ H& T* C, q! i2 I. t0 ginteger 23 = 1( i+ M, `- n2 K, M/ b( Z' t$ m6 ^
integer 24 = 0
4 ]2 l2 P# i$ C: I. Ninteger 25 = 0
- R% V$ W5 v. j/ ~integer 28 = 1" ~7 g( d* k3 e
integer 38 = 0
: J8 c9 n+ l2 `1 Rinteger 40 = 105 G; m5 h& c$ U9 _" k8 {: j$ P2 A- t
block start = 1! M3 P. {9 c/ ]
block increment = 13 p* G( C. g4 f- D- N$ {4 w/ |+ l
maximum feedrate = 16000.0 :定义最大进给量
9 b( n3 e  V; Y6 V4 _comp output = (1 1 1 2)
* J& e; P7 h! ]+ S7 B" Omessage output = false :定义是否输出信息,false为不输出true为输出
4 q6 P, z+ E  a/ u& v) \" u: V* Wblock order = true8 t7 `2 @! r0 I/ S
define block tape start
0 }- ~+ v5 v% k6 j  M: y7 fend define' ~/ S& Q3 S4 w' _
define block tool change first clear :定义程序头和换刀及换刀后的第一个动作$ p/ _& B, a+ b1 f4 S7 o: B! }" j
"T1 M6 D1"
, W- I1 ^5 ~4 L"TRAORI(1)"& p) h- @% D( {5 W. Z$ Z
"HSM"
8 O% N+ ?& z4 m1 \# k) ^S ToolSpeed ; M1 3
$ `8 [- X/ ^5 R5 g; \) SG6 54
& S4 ^8 g. A+ G/ ?/ RG5 90 ; G1 0 ; Z FromZ
7 [- ?4 Q2 J" s4 N/ NG5 90 ; G1 0 ; X FromX ; Y FromY
& t! N8 F0 r( G( g* ?  i0 B! yend define
3 a5 Y6 l1 L5 Q5 `1 R) cdefine block move rapid :定义快速移动  N, `: y2 U$ |; k) n
G1 ; X ; Y ; Z ; A ; C) ~; X' v3 }& ^" K4 J6 \( Q& v
end define3 C2 @3 Z5 _' I, P! e7 ^/ s' p
define block move circle, A3 z4 ^( J7 O! n7 w& D
G1 ; G2 ; X ; Y ; Z ; I ; J ; K ; D ; A ; C ; F ; M2 :定义线圆弧移动2 f( e( B, f5 U
end define5 T5 `# N. ?! _  T
define block move linear( ~0 e/ ~! n' ?
G1 ; G2 ; X ; Y ; Z ; D ; A ; C ; F ; M2 :定义线性移动方式0 x! f# |( u7 V- C$ L& |/ }
end define4 q& O6 `9 E8 A: c0 b, I& V, x
define block tape end :定义程序尾
1 P% D* M% m9 u0 g2 K$ e"M5 M9"3 s6 h$ T& Z0 V8 x) z9 e: Q+ O
"M30"% M% K* Z( r; k
end define
  M! {: A  N) G2 Xend
, F, H3 F% C8 A4 N9 d
- D4 K- N6 m+ }+ ^, t5 t3 \所以这个就要看你机床格式来具体设置了,修改以下值为你所需:
2 g) @3 H! l# t( v( \& m8 Yincremental centre = true (相对,反之false绝对): c: q' I0 f# O8 h1 h1 F
相对有两种,所以:( z; {+ ~; q# @4 I2 J9 S
scale factor = 1 或 -13 M' I" f/ C1 T+ H' w- }
另外有些机床不能输出360度的圆弧,这时需要将其分为几段输出:! g  s% Z( v4 l
full circle = false
( j) Z7 \/ ^% B- e" a1 }& v5、换刀的格式:
& s, O! ^9 [  t1 z- s如:
- G+ n3 f" k$ W% Sdefine block tool change first
  f9 P2 a( F+ q; O8 Y. M/ r% R4 jN ; OP ; change tool ; T ToolNum2 _7 B# R5 m3 }: X
N ; "G48"6 p  ^, R' z' x8 q
N ; G1 0 ; Z FromZ/ E7 I$ Q: O. ~0 W* w
end define
3 C, C0 @+ C& X/ w% x& w( ?0 Z% _
里面可自己添加你的机床换刀时所需的代码,如打开刀具长度补偿。. K' A7 _8 P8 v* d4 o

+ t; T, V8 Q# I6、快速运动、直线运动、圆弧运动的代码:
4 d- v% `( I3 {: g4 q$ D
. @  F' E1 i' M0 `* \5 U  l参见:
; F* L# o0 b. ^6 v* T& J/ xdefine block move circle6 A; c( K, C, {$ ]
N ; G1 ; G2 ; G3 ; X ; Y ; Z ; I ; J ; K ; F ; D* a* D8 M2 ^9 l, d5 K2 e9 I7 v2 N4 S- C- d
end define- j4 j4 c  m: e/ @
/ E6 Q& B" A" O; B1 E. v) y
define block move linear
# S% L; D8 O$ qN ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; ; T ; S ;3 C- O4 i' s- ?5 ^; [
M1 ; M2
2 \4 v1 ?! p& e, M. ^end define
) z, @2 }! C' G4 l' v: i, D( @# a! J
define block move rapid
* @8 t* ~( P% C3 j4 `9 m+ A" R$ nN ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; T ; S ;
* V2 l4 N( c/ f* ?; zM1 ; M2. b1 z6 [, n- e
end define
( |" v! c4 {  q0 B3 `
. U) N2 z6 d0 J6 r: \) R, m, r你也可在帮助文件的指引下,修改上面的代码,如:不想要每次输出G17之类,可以删掉G3。。。当然修改前要了解清楚该代码是做什么的,另外注意备份,随时恢复。
. y. E: E  m. y7 t  [+ T3 y" a1 a" u6 l" }4 }! C
7、多轴:
6 `! M0 I$ Y9 }4 D) F# }
% L5 C6 M9 t2 M0 S' `1 l* sPM 这点做的非常好,如4轴的几种方式、5轴的几种方式都有代码可参考。如:在X轴加一个圆盘A,只需添加、修改以下几行:
7 T5 g( r5 {/ j4 i; Q  \
) j8 [" G3 Q0 X: B1 l! A  a3 vFourth rotary table axis :- ( A. rotating about X. )
) l/ R, A$ n/ {1 v1 c
9 S# O' F0 N0 J8 b! Vdefine format ( A )
3 s6 |% `, d( Ydecimal point = true
5 i) b; |& b, o3 |) ?! E/ O0 adecimal places = 38 p5 L' p; D3 v% z7 B3 r$ @- o
end define
* i% H; d+ K: x
' J( O3 P* Q* R6 rword order = ( A )
, |  H0 v2 j! [' b( e' A7 E, T
( L2 ~, i2 g! Wdefine keys
$ |; V5 ?7 `! c3 Z5 l# Hazimuth axis not used
2 m  g% U% u+ {$ yelevation axis = A. _1 {! J. a" `$ i7 B, d
end define1 X8 k% |4 a9 w8 ]' ~/ |7 z& l
3 h* Z" G5 W  |) e3 h
spindle elevation rotation = false ## Default
2 }. B1 h& j% ?6 A5 @' c) k0 Q) aelevation units = degrees5 t) b4 l. `* W. B
elevation axis direction = positive& A; @9 M5 F# Z: {! @( A) d5 q
  l5 {( ^% ?* p  h4 ~! L* l* {
azimuth axis parameters = ( 0. 0. 0. 0. 0. 0. ). o/ x: H% H! ^4 Y7 E6 |
elevation axis parameters = ( 0. 0. 0. 1. 0. 0. )/ `$ }! [5 C8 b4 L9 ^% P

5 K5 u; g8 B$ H$ vdefine block move rapid9 d, ?. B. X7 c' f% E0 ~7 x; e
N ; G1 ; G2 ; G3 ; G6 ; X ; Y ; Z ; A ; H ; M1 ; M24 B- z6 l4 S& k3 M7 A
end define9 m+ e% G6 m* v+ E# l
3 u. L; c5 E. B2 H6 e. r+ B2 J! G9 ]& E
define block move linear
; n- F* o' m" t/ N7 yN ; G1 ; G2 ; X ; Y ; Z ; A ; F ; M1 ; M2# b( D  P- |$ n, t! ]+ R5 o
end define
6 f! Z) V' z  |0 O' l* V+ |! [) i
: R) O$ h4 @+ e" D9 O具体可参见ductpost/multex4.html页及5 轴的帮助页。。。
1 Q% ?* m+ X" L! h
% b" W1 F  u( _% m. F  ~1 `注:总结,多轴后处理的写法,如有错误遗漏处欢迎批评指教。
  k) S  I' |. k" q( r" m' z& f1 K
6 W4 @% F$ d! J1 ?6 v# H
" M- l4 K" f# T+ X  E& D! w. ~

" @/ e1 t# K$ E  q5 b补充内容 (2015-3-4 23:09):/ Q0 m! n0 L9 P) K
内容是PowerMILL后处理
2 o) Z# ~* f4 L' Z2 z! c% R* h/ {& E) E
补充内容 (2015-3-4 23:09):- }/ r9 d! l5 j( m
对你们抱歉啦!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
回复

使用道具 举报

发表于 2015-3-3 07:16:47 | 显示全部楼层
标题是mastercam 内容却是powermill
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-4 23:06:43 | 显示全部楼层
panyuhao 发表于 2015-3-3 07:16
9 y9 o! @: x; G' A) H标题是mastercam 内容却是powermill
  Y( }2 j" m8 C$ u
初学者,我是不是搞错了,我再看看书!
, Z( [( L1 [1 e+ z
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-4 23:08:23 | 显示全部楼层
panyuhao 发表于 2015-3-3 07:16
+ n: C: D7 @! k: |标题是mastercam 内容却是powermill

; w3 G# e% w( c, y! t# L对不起我弄错了!!
$ _( z$ d6 ^+ V- A, R
回复 支持 反对

使用道具 举报

发表于 2015-3-5 09:46:52 | 显示全部楼层
大学有学点MAX  可能好像上班后 用的公司用的不多  N: |1 Y5 l0 \9 K; U, k5 I' q
现在学SolidWorks
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-5 22:33:02 | 显示全部楼层
qq820647955 发表于 2015-3-5 09:46 * T7 z5 Q2 z, v1 A, G( {
大学有学点MAX  可能好像上班后 用的公司用的不多* R! c4 R0 |% L8 N# R
现在学SolidWorks

5 ?  _/ W) a: X9 M) b) X1 H5 @solidworks算图纸,mastercam是程序啊!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-5 22:35:17 | 显示全部楼层
qq820647955 发表于 2015-3-5 09:46
4 E6 s- Q8 n8 t* q& k大学有学点MAX  可能好像上班后 用的公司用的不多
& D. Q& F( v. o2 P0 ^3 g现在学SolidWorks
# y; W' p" B% h* h* Q4 @2 `
我感觉虽然solidworks有solidcam,但是还是没有mastercam的程序好用9 D8 H  A5 O& F' ]6 z9 B# o
回复 支持 反对

使用道具 举报

发表于 2015-3-11 22:48:09 来自手机 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-11-28 17:28 , Processed in 0.068757 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表