机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5533|回复: 7

Mastercam 后处理

[复制链接]
发表于 2015-3-3 00:11:45 | 显示全部楼层 |阅读模式
MASTERCAM后处理格式修改 [url=]转载[/url]
6 T6 o8 [* b; z3 g0 ?

! w' O. Y% f' [+ @: J; F; ~. l' e% {) Y- H5 e$ u
对于后处理格式,一般的用户有三个层次的需求:
  u' h# C& N2 {/ u8 @" k% @' x' i  d- ]5 h
一、PM 自带的后处理中有适合自己机床要求的,不过要修改、增删些代码。
& `! q. }' K- D; M# D, u% }二、没有适合的,需要改写后处理。
+ ^; S8 K. T: u4 o. B三、机床的代码格式完全与普通 G 代码格式不同,需建全新的后处理。
/ C- ?! y5 t2 f) h! a0 m8 t$ p$ X& u
% R6 d9 i0 T8 p( r  o1 N- t现在开始准备工作:
. `1 j* G0 S  T7 p, n! K) Y  Q% p  t& h+ i9 v
1、以不同的控制器试着处理几个G代码文件出来,然后和自己机床的代码进行比较,选一个最接近自己的。
  B0 e# v4 Q! _2、打开ductpost\dp-index.html,准备有问题就看帮助。" @, V/ x) Y( A2 j3 u7 K
3、运行:ductpost -w [控制器类型] > [控制器类型].opt ,从而生成OPT文件,这个选最接近你机床的控制器。如:ductpost -w hurco > hurco.opt 。 这时就可以用文本编辑器来打开这个opt文件了:
. o- ~+ U+ Z+ ^9 i: t5 L6 w7 f3 J) |
1、程序头、程序尾的改写:
' G; F5 I5 [3 @3 [! h1 g: g$ z# P这个在以下的定义里面:  Z- S: {4 e- |# Z% T
define block tape start: Y" ]9 }( w! x" B
********************! }% k6 Z0 i/ l2 ?0 S$ \' {
end define7 B- Y" I! T! L- D9 S
define block tape end
  j8 P4 N% _" X9 `$ x*******************2 X2 b4 Z1 N  ~/ L1 D8 k: H- ]
end define
6 _: o1 i6 n% y- l6 n& r5 v) L9 E, }" M4 i9 C
你可以根据自己的需要添加,如:
; _: Z4 f9 K: Q4 @2 W/ f
4 d" f; T7 x2 v4 e# Odefine block tape start* `+ f3 g/ l: W* ^$ z, _$ G. }0 N
"%"
& g4 e1 |2 H$ c) U4 B7 tN ; "G17G90G80G40G49"" X4 k0 ^- _- j$ y, k* w
end define
8 {7 c0 I- U) w8 E. ]6 l' s
. \, s5 U3 F  @define block tape end( `# m2 T, S! y) _/ O
N ; "M05"
: K( K% S  p2 V0 R) C" mN ; "M30"
4 J1 x, w" t1 k7 Fend define0 l8 o$ ^, R8 B% @+ ~- `

" d2 A. S0 ?$ L9 c2 Q. h1 p* v不过注意这种引号方法优点是简单明了,但控制器只是把它当字符处理,而不能以模态存在,具体可参见其它说明。: R0 P: t  y% c" o
% ]) J7 B' |6 T% b1 y- K8 g
2、是否需要N行号?
/ M$ w: ~- y) d% \# `( i%3 ]# y2 P& I0 E" p* y2 L7 s
:0001
" b" ^7 {, j) e8 [7 J) ^" W# n! @  ?N10G28G91X0Y0Z0
9 ~3 f  y" }9 d7 t5 W: UN30T1M6
9 h5 Y3 P: e! V" j4 M* l/ s' eN40G0G90X-25.Y-40.S800 M3, p3 \8 @, [+ p5 v/ J# d

" A* h" N9 T& g. {: E如这上面的N10、N30、N40,另外行号的起始、增量、最大都可以定义。如果不想要行号,可修改为以下值:
$ B3 X5 |+ {$ A1 ?  x( Odefine format ( N )
, r' Z, J) T% l7 |/ unot permanent+ x, ?! Y  S$ S' g" x, q
end define
( |' p& d8 d" x2 @7 ]4 z; N
1 O% M6 S& c  c, N9 I0 i3、是否需要Message?' p: j' ?. N  i2 X9 g1 b$ H

/ T) j- c1 u6 j. {3 oN60( MSG, Toolpath Name: ET)
. u! Q7 s% K" G/ zN70( MSG, xyzxyz_cut_1 ET)' S1 x; \: r" W
N80( MSG, Output: ET). Y6 K1 Q5 y& _$ J* ^# `" L) l. x
N90( MSG, UNITS: MILLIMETRES ET)* v: O4 g8 U& t) M2 k5 G
N100( MSG, TOOL COORDINATES: TIP ET)2 Q& ]8 [# K% P  Y" Y5 q5 a0 v& y
N110( MSG, LOAD TOOL ET)
5 [9 i' O) c7 w( w' z  C3 j3 N1 ^* N# h: N" {9 C
上面的信息,可修改为你需要的,具体参见帮助。也可选择不输出,如:
% n; M  ]  E5 S  Z( F3 b$ i( |- F! X- n( K8 Y% n" M; \
message output = false
" G( a* |- L' O$ K4 q# c) a2 r
! V" q# |* H$ W" W4、圆弧的输出格式:
5 J1 q6 O" |) R( _  N! z2 j7 Q5 g" k' }; d. q' F' s7 L* _; g
这个需要讲一下,输出R的就不讲了,专讲I、J、K的输出。大致有三大类:( x+ `9 r  _! t2 Y) T

- h2 ^- n9 @; Oa、I、J输出为圆心的绝对坐标值。
( x6 s- S4 \( J; Rb、I、J输出为相对坐标值,具体值为:圆心坐标值-圆弧始点坐标(常用)3 [/ x5 L  T- e, S2 _- i# i! ]
c、I、J输出为相对坐标值,具体值为:圆弧始点坐标-圆心坐标值
" h4 Z" ?( s8 P) Z4 V- W) y/ ^; s- Q  W' H+ g6 l
define format (I J K) :定义I J K的矢量; [* `1 m8 d3 i- k
scale factor = -12 G3 s9 Y. I7 \2 e
end define
% H1 }8 ?, J# z3 X3 G) C, G5.定义左右刀具补偿
& j' d5 s4 r( ]+ i6 ?define codes
6 I( t8 Q" L0 h8 d5 z' ], V+ Bcomp on left = G2 41
# Q3 E$ R: Z1 S6 pcomp on right = G2 422 s7 \8 J* n* c3 @- ]
comp off = G2 40
+ g* U9 w+ S" }; iend define
1 X* [6 t4 O* ~1 d2 t
7 e0 a# ?- R8 u# ]#14 :从#14~#41为定义旋转轴的写法,如小数点的位数, /-的输出等等, X* V1 l5 Z2 ^$ n7 z
  V5 `7 `5 \* @) l
define format ( A )
+ c; K' x. I$ taddress letter = "A"+ T! c, {7 {. y- J
address width = 1: n, s: e/ ]* y! \
field width = 8" ^& d: r- X# M" `  x# J
metric formats
/ p0 w! p) X0 J- B- @# Hdecimal places = 3
. }) _4 A$ G0 n- k0 u- P9 G! ]5 X  wdecimal point = true
# H1 ]( A# t3 r$ c- C% q: \sign = if negative
' b& q) x/ e8 v" w3 X, h) r' \8 [leading zeros = false
' L7 C& ?4 \4 l# p1 Y8 x4 mtrailing zeros = true, O  [) H  U! I9 J$ e
end define
! W( u( v; p& S$ M#26
! c! v" _, s4 |- `' w& Pword order = ( A )& X' _  k, f8 Y
#28- ^7 p& g: d4 G0 h
units = metric
8 I# ]) ~/ q* H# Y0 ~1 Q0 O( ^message output = false
6 `! L1 n/ t/ U( mspindle output = (2 0 0 0 )
  C9 o7 ]7 v6 l- {5 ?. Bcoolant output = ( 1 2 )
! V9 b! W$ T) ^* ]#32
1 ]9 o" Y; H! |- J/ Rdefine format ( C )
8 R- X$ c8 ?' S6 v0 Y* paddress letter = "C"
5 g" l: }% S( V) faddress width = 1* B& r0 G, B( W/ i# D7 c
field width = 8
* P' k- Q  z+ r- c7 c8 [) Gmetric formats# `' r" S( J  \$ L0 q" P4 K
decimal places = 3
/ }" s% U3 n. G6 w" s- idecimal point = true
. a6 M' n, ]- F1 Gsign = if negative
5 u  n5 {$ b' m% m' A- Bleading zeros = false
; l# n/ H* o/ \" G9 b, X' f' dtrailing zeros = true
" M8 {0 X3 B+ w' J: I" Hend define0 c; P( J0 G- o; H' y3 c$ E' g" ~. j
#39  l: o9 s5 _/ h( C& z' K' Z; z
word order = ( C )
& r8 L) e' I+ ^( l* x#412 o! c5 m7 j9 Y0 f$ g7 S) P4 J
units = metric- ]& I5 H% `! x  n% w/ f( N- T
message output = false$ ~& E6 N' g5 c0 k- p; D
spindle output = (2 0 0 0 )
! K7 m# p. l+ y0 ~7 }$ U- x* b4 Icoolant output = ( 1 2 )4 ?1 K* w# B7 m& F, H" o* B3 n0 r( [
3 ?1 }7 T" Y2 P( y8 D7 y
#33
  W5 j5 |& [8 B9 a+ rdefine keys :定义旋转轴名称
1 c" C$ H7 p6 y, xazimuth axis = C
1 H. G  [2 B  _elevation axis = A
( {# s! m1 o  B/ [4 Dend define. R, [8 {6 g& r
#38- O6 T: |# m5 U" {+ b# c( \5 D
azimuth axis parameters = (0. 0. 0. 0. 0. 1. )
" }( ~( v, R3 `( }elevation axis parameters = (0. 0. 0. 1. 0. 0. )
  r1 e2 k" ?) u#41
4 l9 O3 R" \6 t. xspindle azimuth rotation = true :定义方位轴方式,true为主轴头式false为工作台式; I' q6 L* J$ F
spindle elevation rotation = true :定义俯仰轴方式,true为主轴头式false为工作台式9 h0 I& [/ J' N6 v! v$ K
#44, j! Y* i0 N- T: ]9 L
azimuth axis direction = positive :定义方位轴用法,相对还是绝对
/ [- t- n% C0 belevation axis direction = positive :定义俯仰轴用法,相对还是绝对
2 V! r$ F" A' t#478 @  v1 j, r1 b! P, ^
azimuth axis units = degrees :定义方位轴单位2 e9 z5 X% q4 A  `0 S# f' p
elevation axis units = degrees :定义俯仰轴单位4 \! v! K, i& p8 p+ g4 W6 C# S
#50) H7 F) L& D" T+ f
azimuth axis parameters = ( 0 0 0 0 0 1 ) :定义方位轴参数
4 v# d/ F: d: E6 j% C7 S- w1 z5 G3 qazimuth centre = ( 0 0 0 ) :定义方位轴圆心参数2 F5 ^: ]) T$ X; x
elevation axis parameters = ( 0 0 0 1 0 0 ) :定义俯仰轴参数# p' m% P2 T6 a  m# V* X- I' e+ c
elevation centre = ( 0 0 0 ) :定义俯仰轴圆心参数
3 f) y0 [8 ]4 J2 C4 w9 ^  ^pcs origin = ( 0 0 0 0 0 0 ) :定义旋转轴圆心
, S8 u7 t8 b+ b$ h. Y9 qlinear axis limits = ( -99999 999999 -99999 999999 -99999 999999 ) :定义线性轴范围3 W, o4 n1 F; h# f
rotary axis limits = ( -99999 999999 -99999 999999 999 1 ) :定义旋转轴范围
& S( P* `. A: _move safe angles = ( 0 0 0 0 0 0 ) :定义起始角度/ x  r! p! [) n( G% h7 C* r9 x3 ^
linearise multiaxis moves = false :定义机床是否支持线性多轴联动,false为支持true为不支持  Z9 z# {& N  {2 W4 j- y7 `
multiaxis coordinate transform = false :定义机床是否支持多轴联动,false为支持true为不支持) T5 f$ v: [1 H5 i9 V' @: E. [
integer 3 = 1 :定义是否进行多轴处理7 e% p4 {( g, n) m% K
integer 9 = 5/ S/ r: w4 @6 b! Y& y4 j. W
integer 22 = 1! }: S: ?3 M3 }
integer 23 = 1
+ [5 h( e4 V, y; f# H) L4 [integer 24 = 00 f8 m/ Z- y9 X  N& O2 U' v
integer 25 = 08 R& l( }) R" [9 ]' X
integer 28 = 1$ u' ?( E4 g5 P6 o$ J
integer 38 = 0
( ^/ B1 U. d+ jinteger 40 = 10! i; k# _3 b: l+ a$ t' i
block start = 1  g; G6 h; J4 y4 }6 |8 n
block increment = 1
1 N) O- t. `6 J9 y5 ^  Emaximum feedrate = 16000.0 :定义最大进给量
8 G% T) o/ `8 _) \  S# d1 s. \. |comp output = (1 1 1 2)) _3 L. N$ K4 i# D9 X3 }. w
message output = false :定义是否输出信息,false为不输出true为输出
- i+ n+ O: k7 Y. hblock order = true
( M6 Q" q0 K9 E& B% F  Zdefine block tape start/ i) Y9 s4 o2 L& E) J3 B
end define4 F: |# }* w$ U/ W& f$ Z1 X+ O
define block tool change first clear :定义程序头和换刀及换刀后的第一个动作
) F. b6 Q- X8 f5 K4 @"T1 M6 D1"6 [. @8 Q2 F! O4 Y, i) r, N% E0 B9 I
"TRAORI(1)"
# S9 H1 {) j' o4 s( d"HSM") }( R+ G9 C6 r  B6 H3 `7 P
S ToolSpeed ; M1 3
5 M3 Z0 f5 C3 [; e4 g& Y( aG6 54
. Q, b* D& x0 m4 W4 PG5 90 ; G1 0 ; Z FromZ
# v% F. G+ G' W3 z; F# TG5 90 ; G1 0 ; X FromX ; Y FromY% a$ w% E0 g. }% f
end define( e2 |7 C0 }2 x
define block move rapid :定义快速移动9 Y/ G& l& F* r- R; H2 D# U& S
G1 ; X ; Y ; Z ; A ; C4 k% W1 |5 R2 W; d
end define. l- N7 u8 |7 u" x
define block move circle
6 O1 I+ Z( X( e7 TG1 ; G2 ; X ; Y ; Z ; I ; J ; K ; D ; A ; C ; F ; M2 :定义线圆弧移动5 {4 G5 S) P% M- w% X2 _
end define
5 D5 w5 c$ _3 u* m) ?/ K1 adefine block move linear8 d" X2 C/ X! c9 k$ d
G1 ; G2 ; X ; Y ; Z ; D ; A ; C ; F ; M2 :定义线性移动方式/ u1 s5 \3 \5 T1 R
end define
# `" c) @# a$ \& hdefine block tape end :定义程序尾
! e& V' C' B2 I9 @2 b# `"M5 M9"
  i3 U8 \  Y8 _/ O8 f+ \"M30"
/ T' I! C3 S+ ?' f+ Y! @" S# v8 dend define
! P4 w+ w+ ^7 z# L/ g( Aend2 w) t( K- k6 B  D! `) o

$ @2 f" F6 I* v  _7 i1 e所以这个就要看你机床格式来具体设置了,修改以下值为你所需:: V+ I2 \* Z3 ]. [9 U7 Q
incremental centre = true (相对,反之false绝对)
& b1 z6 ?/ ~5 Y7 q6 P相对有两种,所以:' [, s6 k* j( m  L5 n+ H5 x
scale factor = 1 或 -1
5 `3 i4 b( q+ d% v& G另外有些机床不能输出360度的圆弧,这时需要将其分为几段输出:
/ ~( J* Y; ?2 }full circle = false
2 K: [0 y) T& I3 x6 K5、换刀的格式:
0 j1 V# `( S! Y如:+ a! W0 k: g0 c4 j1 p) a
define block tool change first/ ~' j% p9 `* ~: N3 R% g
N ; OP ; change tool ; T ToolNum
3 J& T8 s& C; D; fN ; "G48"9 ^  v. t% o( G% ^
N ; G1 0 ; Z FromZ
- k; y+ v9 P9 p" R) yend define3 ]1 T8 b! D" J% k8 B

; f7 X: K/ d! p( u里面可自己添加你的机床换刀时所需的代码,如打开刀具长度补偿。
( z, o4 d2 l+ w, H9 }& q
0 x* `0 x( B' u7 p6、快速运动、直线运动、圆弧运动的代码:
* J8 Z, D+ h7 Q" E4 F
) ~# U( F1 B/ i: |! C7 R参见:
% j' W2 H; I9 a8 xdefine block move circle
1 R6 c, A8 w2 |7 @N ; G1 ; G2 ; G3 ; X ; Y ; Z ; I ; J ; K ; F ; D& B$ g* z" c# k% ]7 H1 c. O* }: m( X
end define- ]& ^* Q" C, Y

: M/ y( J, }1 U/ ldefine block move linear: v1 u: ^* A% N% F# D8 t
N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; ; T ; S ;! _2 N3 |# ?4 r  X4 o) r- @1 M- R: v
M1 ; M2/ o5 {2 t" v$ b" q, W7 M
end define- V" w) F; s1 Q$ R0 U

, Z' W4 @& n9 ]6 ^% i1 ydefine block move rapid& t5 [, Q0 _3 q3 N2 J
N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; T ; S ;: X: e, T! W0 h5 J! U1 g
M1 ; M2
- G, [1 a, c2 J3 `" Cend define! N3 _+ P+ \. d# ^3 C6 G2 j

, q' P- w4 g! ^) v7 p# Q3 ]8 r你也可在帮助文件的指引下,修改上面的代码,如:不想要每次输出G17之类,可以删掉G3。。。当然修改前要了解清楚该代码是做什么的,另外注意备份,随时恢复。3 H! h7 _& s+ L) t7 x2 c

" b  G& |0 l: c) }& }( R1 ^7、多轴:* Y% g) H; P6 g: @+ i
/ |# h7 ?& M/ b; f2 a2 a8 _
PM 这点做的非常好,如4轴的几种方式、5轴的几种方式都有代码可参考。如:在X轴加一个圆盘A,只需添加、修改以下几行:" [: I9 E0 H7 y8 D) a% E
2 Y) ]3 Y: ]; q, r4 k' d% T
Fourth rotary table axis :- ( A. rotating about X. )
* |3 ^" }* u9 G
3 O' s, e" u; D3 ]2 N9 Rdefine format ( A )
) q$ K' I9 t4 G) Z7 g, odecimal point = true. k$ e/ X) e, S
decimal places = 3
+ k, H9 S0 R7 D4 q1 L- d4 Y9 V% hend define3 l, g3 o7 }( X) u. l) i3 N! }% Z

. w# r5 z  M" i& T0 Z! s' Mword order = ( A )+ G' c2 P) y4 H  b3 T7 C
- ]! D) g- E! J, B9 _4 f
define keys& a% n& e1 B* {, {8 H
azimuth axis not used
. A4 z. M  @6 d! Pelevation axis = A% E+ P* `0 @1 w5 v0 _
end define
! N7 A) `* J: A! C
5 b! M) z; G. e; p# Z! Yspindle elevation rotation = false ## Default
6 Y  g) {$ G% D+ K3 Aelevation units = degrees
: u+ o" M+ \* D7 D9 gelevation axis direction = positive& d, ]5 E: a% D0 O, K2 F
& i7 C# R9 b) a; D# v
azimuth axis parameters = ( 0. 0. 0. 0. 0. 0. )
9 i, |$ s: R$ n2 \' Z6 Oelevation axis parameters = ( 0. 0. 0. 1. 0. 0. )  O/ ?9 f# U& Q* z6 e+ z
% R1 ~' ~+ o1 J6 I
define block move rapid7 ]1 K/ D3 b1 x
N ; G1 ; G2 ; G3 ; G6 ; X ; Y ; Z ; A ; H ; M1 ; M2
" j4 ~- f3 g; w7 l. E, ?end define* Z. R1 h& b$ U# W

3 A8 r3 n4 N5 Edefine block move linear& i2 W- P# C/ k0 z0 y& W; K+ j/ G
N ; G1 ; G2 ; X ; Y ; Z ; A ; F ; M1 ; M2
+ T9 d; l1 v* L3 hend define
. Y  J+ b1 Z( `. }' V1 }% N! S: u
具体可参见ductpost/multex4.html页及5 轴的帮助页。。。3 v8 r6 k5 k, |; i2 b: N* e0 U

' w% I# H3 C# B4 F* h) ?9 ~/ L注:总结,多轴后处理的写法,如有错误遗漏处欢迎批评指教。

$ [7 j4 \8 Y' }8 [. _+ e2 v  `2 _# n7 D  B3 o$ G
, J" M  |& I, p! `
0 Y4 ^2 y9 l4 ]6 J
补充内容 (2015-3-4 23:09):
/ |1 m: v9 c1 c0 L1 }" P内容是PowerMILL后处理
2 `: C4 C/ j, p8 N2 B- ?
9 ~3 ]7 v* {1 V补充内容 (2015-3-4 23:09):
+ V9 a* x" K1 w4 }# d对你们抱歉啦!!

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2015-3-4 23:06:43 | 显示全部楼层
panyuhao 发表于 2015-3-3 07:16
4 y$ {% z/ G2 ~( E1 p( `标题是mastercam 内容却是powermill
  @. Z; R% ^; _6 w+ D6 w" O
初学者,我是不是搞错了,我再看看书!* A" V& {* @. C: u8 P
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-4 23:08:23 | 显示全部楼层
panyuhao 发表于 2015-3-3 07:16
" I5 C4 Z: F: I' L: B标题是mastercam 内容却是powermill
/ q, C; B  o% d& h4 g
对不起我弄错了!!9 u1 d7 D6 M% t. X5 C- A# I6 j
回复 支持 反对

使用道具 举报

发表于 2015-3-5 09:46:52 | 显示全部楼层
大学有学点MAX  可能好像上班后 用的公司用的不多
5 |: Y% A# d5 d! G. m, h. W! m现在学SolidWorks
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-5 22:33:02 | 显示全部楼层
qq820647955 发表于 2015-3-5 09:46 # A, K$ }" A8 C8 p' h5 u7 J% I
大学有学点MAX  可能好像上班后 用的公司用的不多! U- G: ^5 C' K8 d4 S$ e
现在学SolidWorks

& @8 Y/ `4 b/ Qsolidworks算图纸,mastercam是程序啊!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-5 22:35:17 | 显示全部楼层
qq820647955 发表于 2015-3-5 09:46 5 {$ f& Z- V) {' N
大学有学点MAX  可能好像上班后 用的公司用的不多
* ~- K- e: k. Z, _+ t现在学SolidWorks

+ }5 Q; z# I7 H, f# q我感觉虽然solidworks有solidcam,但是还是没有mastercam的程序好用
  r4 a- y% J$ N
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-19 05:56 , Processed in 0.060888 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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