[精华]mastercam_x5
mastercam_X5
[POST_VERSION] #DO NOT MOVE OR ALTER THIS LINE# V14.00 E1 P0
T1347353688 M14.00 I0
fs 1 +1^3 #(X.Y.Z坐标有小数点时的小数位)
fs 2 +1^3ln #(刀具半径补偿小数位)
fs 3 3 3ln
fs 4 2 0n
fs 5 4 0t #速度4位整数,0位小数
fs 6 2 0ln
fs 7 3 0ln
fs 8 4 3n
fs 9 1.3
fs 10 1.3ln #(圆心小数位)
fs 11 +1.3ln #(l表示数值为0时消除前缀)
fs 12 4 0ln
#fs2 1 0.4 0.3 #Decimal, absolute, 4/3place,(X.Y.Z坐
标小数位) default for initialize (:)
#fs2 2 0.3 0.3 #Decimal, absolute, 4/3 place
#fs2 3 0.3 0.3d #Decimal, delta, 4/3 place
#Common format statements
#fs2 4 1 0 1 0 #Integer, not leading
#fs2 5 2 0 2 0l #Integer, force two leading
#fs2 6 3 0 3 0l #Integer, force three leading
#fs2 7 4 0 4 0l #Integer, force four leading
#fs2 9 0.1 0.1 #Decimal, absolute, 1 place
#fs2 10 0.2 0.3 #Decimal, absolute, 2 place(圆心小数
位)
#fs2 11 0.3 0.3 #Decimal, absolute, 3 place
#fs2 12 0.4 0.4 #Decimal, absolute, 4 place
#fs2 13 0.5 0.5 #Decimal, absolute, 5 place
#fs2 14 0.3 0.3d #Decimal, delta, 3 place
#fs2 15 0.2 0.1 #Decimal, absolute, 2/1 place (feedrate)
#fs2 16 1 0 1 0n #Integer, forced output
#fs2 17 0.3 0.3 #Decimal, absolute, 2/3 place (tapping feedrate)
# This format statement is used for sequence number output
# Number of places output is determined by value for "Increment Sequence Number" in CD
# Max depth to the right of the decimal point is set in the fs statement below
fs2 21 0^3 0^3 #Decimal, 7 place, omit decimal if integer value
fs2 22 0^3 0^3 #Decimal, 3 place, omit decimal if integer value
fmt X 1 x$ # X Axis Position
fmt Y 1 y$ # Y Axis Position
fmt Z 1 z$ # Z Axis Position
fmt X 1 xr$ # X Rapid Position
fmt Y 1 yr$ # Y Rapid Position
fmt Z 1 zr$ # Z Rapid Position
fmt X 1 xh$ # X Home Position
fmt Y 1 yh$ # Y Home Position
fmt Z 1 zh$ # Z Home Position
fmt X 1 i$ # Arc center description in X
fmt Y 1 j$ # Arc center description in Y
fmt Z 1 k$ # Arc center description in Z
fmt X 10 xc$ # Arc Center X
fmt Y 10 yc$ # Arc Center Y
fmt R 9 arcrad$ # Arc Radius
fmt 1 sweep$ # Angle between start and end of arc
fmt 8 progno$ # Program number
fmt 4 seqno$ # Starting Sequence Number
fmt 4 seqinc$ # Sequence Number Increment
fmt 4 n$ # Main Program Sequence Numbers
fmt 4 t$ # Tool Number
fmt R 2 tldia$ # Tool Diameter
fmt R 2 tlrad$ # Tool Radius
fmt 9 trflat$ # Tool Flat Rad.
fmt 9 tcr$ # Tool Corner Rad
fmt R 4 tloffno$ # Diameter Offset Number
fmt L 2 tlngno$ # Length Offset Number
fmt 1 tlplnno$ # Tool Plane Number.
fmt S 4 ss$ # Spindle Speed
fmt 4 spprev # Hold previous selspin value for spin change
fmt 4 cc_sav # Hold previous cc_pos value for comp
change
fmt 8 selspin # Spindle Dir
fmt 5 fr$ # Feedrate
fmt 5 fr2 # Feedrate 2
fmt 5 frrapid # Rapid
fmt 4 dirchg$ # Feerate Accel/Decel Flag
fmt 4 gcode$ # Format linear G-code selector for modality only
fmt 4 coolant$ # Format coolant M-code selector for modality only
fmt M 6 cantext$ # Canned text output variable
fmt 1 drillcyc$ # drillcyc = 0..7
fmt 1 drillcur$ # Drill with current cycle flag (=1 if true)
fmt G 4 drillref # Initial / Reference Toggle (G98/G99)
fmt 10 dwell$ # Dwell
fmt Z 10 initht$ # Initial Height
fmt Z 10 refht$ # Reference Height
fmt 10 depth$ # Depth
fmt 10 peck1$ # First peck increment (negative)
fmt 10 peck2$ # Second or last peck (negative)
fmt 10 setup # Safety Distance (-initht)
fmt 10 peckg # Feed Depth (peck1)
fmt 2 peckclr$ # Safety distance
fmt 1 retr$ # Retract height
fmt F 5 frplunge$ # Plunge feedrate in drill cycles
m_one : -1 # Define Constant
zero : 0 # Define Constant
one : 1 # Define Constant
two : 2 # Define Constant
three : 3 # Define Constant
c9k : 9999 # Define Constant
tooltable$ : no$ # Output tool table?
spaces$ : yes$ # Number of spaces to add between fields
nobrk$ : no$ # omit breakup of x/y & z rapid moves
omitcrlf$ : no$ # Omit CR/LF- Used for floppy output of
- .NC files
omitrefht : no$ # Don't use reference height on first non-canned Z move
seqmax$ : 9999 # Max. sequence number
omitseq$ : no$ # Omit sequence numbers?
frrapid : 800 # Rapid feedrate? 800
frmax : 800 # Maximum feedrate? 800
ssmax : 2000 # Maximum spindle speed? 2000
breakarcs$ : 0 # Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs
arctype$ : 2 # Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.
do_full_arc$ : 0 # Allow full circle output? 0=no, 1=yes
helix_arc$ : 0 # Support helix arc output, 0=no, 1=all planes, 2=XY plane only
ncldr$ : 20 # Number of leader characters
ldrcode$ : 65 # Leader character dec. equiv.
drlgsel : m_one # Drill Select Initialize
spprev : m_one # Initial value for last spindle state
#Cantext string definitions (spaces must be padded here)
sm00 : "M00"
sm01 : "M01"
strm : "M"
strtextno : ""
strcantext : ""
sblank : ""
usecandrill$ : yes$ # Use canned cycle for Drill
usecanpeck$ : yes$ # Use canned cycle for Peck
usecanchip$ : yes$ # Use canned cycle for Chip Break
usecantap$ : yes$ # Use canned cycle for Tap
usecanbore1$ : yes$ # Use canned cycle for Bore1
usecanbore2$ : yes$ # Use canned cycle for Bore2
usecanmisc1$ : yes$ # Use canned cycle for Misc1
usecanmisc2$ : yes$ # Use canned cycle for Misc2
fastmode$ : yes$ # Enable Quick Post Processing, (set to no for debug)
bug1$ : 2 # 0=No display, 1=Generic list box, 2=Editor
bug2$ : 30 # Add postline label to each line at column 'bug2' at ? Columns
bug3$ : 0 # Add whatline to each line? yes/no
bug4$ : 1 # Add -.nci line no. to each line? yes/no
whatno$ : yes$ # Ignore whatline branches to plin1 etc.?
linktolvar$ : 1 #V9 变量相关联的 X 容忍变量,
linkplnvar$ : 1 #V9 变量相关联的 X 平面特定变量,
cant_tlchng$ : 1 #忽略移动与 tlchng_aft 的 cantext 条目吗,
newglobal$ : 0 #启用对全局变量的错误检查吗,
skp_lead_flgs$ : 1 #请不要使用 V9 样式轮廓标志吗,
strtool_v7$ : 2 # Use Version 7 toolname, 1= path components, 2=string
get_1004$ : 1 # Find gcode 1004 with getnextop?
rpd_typ_v7$ : 1 # Use Version 7 style contour flags?
tlchng_aft$ : yes$ #
sdef : "CYCL DEF" #String Constants
specking : "1.0 PECKING"
stapping : "2.0 TAPPING"
ssetup : "SET UP "
sdepth : "DEPTH "
speckg : "PECKG "
sdwell : "DWELL "
stoolcall : "TOOL CALL "
stooldef : "TOOL DEF "
sbeginpgm : "BEGIN PGM "
sendpgm : "END PGM "
sinch : "MM"
smax : "800"
strc : "C"
strcc : "CC"
strf : "F"
strl : "L"
strr : "R"
strr0 : "R0"
sm99 : "M99"
strz : "Z"
sg00 : "L" # Linear movement at rapid feedrate G code
sg01 : "L" # Linear movement at feedrate G code
sg02 : "DR-" # Circular interpolation CW G code
sg03 : "DR+" # Circular interpolation CCW G code
sgcode : "" # Target string for linear/circular motion
G code
fstrsel sg00 gcode$ sgcode 4 -1# Select motion G code string
sm09 : "M9" # Coolant off
sm08f : "M8" # Coolant on
sm08m : "M8" # Coolant on
sm08t : "M8" # Coolant on
smcool : "" # Coolant code target string
fstrsel sm09 coolant$ smcool 4 -1# Boolean handles modality
sg40 : "R0" # cancel cutter compensation
sg41 : "RL" # cutter compensation left
sg42 : "RR" # cutter compensation right
sccomp : "" # Select cutter compensation
fstrsel sg40 cc_pos$ sccomp 3 -1
pinit # Initialize Vars
prv_fr$ = c9k
prv_fr2 = c9k
prv_frplunge$ = c9k
prv_coolant$ = zero
if opcode$ = three, prv_z$ = initht$
progno$ = prv_progno$
pcomment$ # Manual Entry - COMMENTS (on a block by itself)
1005,1006
n$, strl, scomm$,e$
pcc # cutter comp
if cc_sav <> cc_pos$, *sccomp
else, strr
cc_sav = cc_pos$
pspdl # spindle and coolant state
selspin = fsg2(coolant$) * three + fsg3(ss$)
if spprev <> selspin, "M03" # M03 = spindle on, coolant on
if spprev = selspin, pchk_cool
spprev = selspin
pchk_cool # Output coolant as needed
if coolant$ <> prv_coolant$, smcool
else, strm
pfr # Feedrate
if fr$ >= zero, fr2 = fr$
if gcode$ = zero, fr2 = zero
if fr2 > zero, strf, fr2
if fr2 = zero, strf, smax
psg00 # Output "G00" via String Select Function to maintain modality
gcode$ = zero
*sgcode
pheader$ # File header
n$, sbeginpgm, *progno$, sinch,e$
psof0$ # Start of file for tool zero
1001
psof$
psof$ # Start of file for non-zero tool number 1001
pcan
n$, stooldef, t$, tlngno$, tloffno$,e$
n$, stoolcall, t$, strz, *ss$,e$
#n$, strl, strr, strf, "M06",e$
n$, strl, *xh$, *yh$, pcc, strf, smax, strm,e$
pcan1, n$, strl, *x$, *y$, pcc, strf, smax, pspdl, strcantext, e$
if opcode$ <> three, n$, strl, *z$, pcc, strf, smax, strm,e$
pcan2
pinit
ptlchg0$ # Null tool change 1000
if prv_ss$ <> ss$, n$, stoolcall, t$, strz, *ss$,e$
pcan
ptlchg$ # Tool change 1002
pcan
n$, stoolcall, t$, strz, *ss$,e$
n$, strl, strr, strf, "M06",e$
pcan1, n$, strl, *x$, *y$, pcc, strf, smax, pspdl,
strcantext, e$
if opcode$ <> three, n$, strl, *z$, pcc, strf, smax, strm,e$
pcan2
pinit
peof0$ # End of file for tool zero 1003
peof$
peof$ # End of file for non-zero tool 1003
n$, "STOP M30",e$
n$, sendpgm, *progno$, sinch,e$
#17,e$
prapid$ # Linear line movement - at rapid feedrate 0
pcan
pcan1, n$, sgcode, x$, y$, z$, pcc, pfr, pspdl, strcantext, e$
pcan2
pzrapid$ # Linear movement in Z axis only - at rapid feedrate 0
n$, sgcode, z$, pcc, pfr, pspdl,e$
plin$ # Linear line movement - at feedrate 1
pcan
pcan1, n$, sgcode, x$, y$, z$, pcc, pfr, pspdl,
strcantext, e$
pcan2
pz$ # Linear movement in Z axis only - at feedrate
1
n$, sgcode, z$, pcc, pfr, pspdl,e$
pcir$ # Circular interpolation
2
pcan
n$, strcc, xc$, yc$, e$
pcan1, n$, strc, x$, y$, z$, *sgcode, pcc, pfr, pspdl, strcantext, e$
pcan2
pdrill_calc # Drilling Calculations
setup = abs(refht$) * m_one
peckg = abs(peck1$) * m_one
pdrill$ # Canned Drill Cycle
pdrill_calc
n$, sdef, specking,e$
n$, sdef, "1.1", ssetup, setup,e$
n$, sdef, "1.2", sdepth, depth$,e$
n$, sdef, "1.3", speckg, peckg,e$
n$, sdef, "1.4", sdwell, dwell$,e$
n$, sdef, "1.5", strf, *fr$,e$
n$, strl, *initht$, strr, strf, smax, strm,e$
n$, strl, *refht$, strr, strf, smax, smcool,e$
n$, strl, *refht$, strr, strf, smax, sm99,e$
ppeck$ # Canned Peck Drill Cycle
pdrill$
pchpbrk$ # Canned Chip Break Cycle
pdrill$
ptap$ # Canned Tap Cycle
pdrill_calc
n$, sdef, stapping,e$
n$, sdef, "2.1", ssetup, setup,e$
n$, sdef, "2.2", sdepth, depth$,e$
n$, sdef, "2.3", sdwell, dwell$,e$
n$, sdef, "2.4", strf, *fr$,e$
n$, strl, x$, y$, strr0, strf, smax, "M03",e$
n$, strl, *initht$, strr, strf, smax, strm,e$
n$, strl, *refht$, strr, strf, smax, smcool,e$
n$, strl, *refht$, strr, strf, smax, sm99,e$
pbore1$ # Canned Bore #1 Cycle
pdrill$
pbore2$ # Canned Bore #2 Cycle
pdrill$
pmisc1$ # Canned Misc #1 Cycle
pdrill$
pmisc2$ # Canned Misc #2 Cycle
pdrill$
pdrill_2$ # Canned Drill Cycle
n$, strl, x$, y$, strr0, strf, smax, sm99,e$
ppeck_2$ # Canned Peck Drill Cycle
pdrill_2$
pchpbrk_2$ # Canned Chip Break Cycle
pdrill_2$
ptap_2$ # Canned Tap Cycle
pdrill_2$
pbore1_2$ # Canned Bore #1 Cycle
pdrill_2$
pbore2_2$ # Canned Bore #2 Cycle
pdrill_2$
pmisc1_2$ # Canned Misc #1 Cycle
pdrill_2$
pmisc2_2$ # Canned Misc #2 Cycle
pdrill_2$
pcanceldc$ # Cancel canned drill cycle
pcancelcc$ # Cancel cutter comp.
pcan #Canned text - before output call
strcantext = sblank
if cant_no$ > 0,
[
if cant_pos1$ = 0, pcant_1
if cant_pos2$ = 0, pcant_2
if cant_pos3$ = 0, pcant_3
if cant_pos4$ = 0, pcant_4
if cant_pos5$ = 0, pcant_5
if cant_pos6$ = 0, pcant_6
if cant_pos7$ = 0, pcant_7
if cant_pos8$ = 0, pcant_8
if cant_pos9$ = 0, pcant_9
if cant_pos10$ = 0, pcant_10
n$, strcantext, e$
strcantext = sblank
]
pcan1 #Canned text - with move
strcantext = sblank
if cant_no$ > 0,
[
if cant_pos1$ = 1, pcant_1
if cant_pos2$ = 1, pcant_2
if cant_pos3$ = 1, pcant_3
if cant_pos4$ = 1, pcant_4
if cant_pos5$ = 1, pcant_5
if cant_pos6$ = 1, pcant_6
if cant_pos7$ = 1, pcant_7
if cant_pos8$ = 1, pcant_8
if cant_pos9$ = 1, pcant_9
if cant_pos10$ = 1, pcant_10
]
if cstop$, strcantext = strcantext + sm00
if cgstop$, strcantext = strcantext + sm01
#Output of strcantext occurs at the end of the output line
pcan2 #Canned text - after output call
strcantext = sblank
if cant_no$ > 0,
[
if cant_pos1$ = 2, pcant_1
if cant_pos2$ = 2, pcant_2
if cant_pos3$ = 2, pcant_3
if cant_pos4$ = 2, pcant_4
if cant_pos5$ = 2, pcant_5
if cant_pos6$ = 2, pcant_6
if cant_pos7$ = 2, pcant_7
if cant_pos8$ = 2, pcant_8
if cant_pos9$ = 2, pcant_9
if cant_pos10$ = 2, pcant_10
n$, strcantext, e$
strcantext = sblank
]
pcant_1 #Canned text - output call
cantext$ = cant_val1$
pcant_out
pcant_2 #Canned text - output call
cantext$ = cant_val2$
pcant_out
pcant_3 #Canned text - output call
cantext$ = cant_val3$
pcant_out
pcant_4 #Canned text - output call
cantext$ = cant_val4$
pcant_out
pcant_5 #Canned text - output call
cantext$ = cant_val5$
pcant_out
pcant_6 #Canned text - output call
cantext$ = cant_val6$
pcant_out
pcant_7 #Canned text - output call
cantext$ = cant_val7$
pcant_out
pcant_8 #Canned text - output call
cantext$ = cant_val8$
pcant_out
pcant_9 #Canned text - output call
cantext$ = cant_val9$
pcant_out
pcant_10 #Canned text - output call
cantext$ = cant_val10$
pcant_out
pcant_out #Canned text - build the string for output
#Build the cantext string
if cantext$ = 1, strcantext = strcantext + sm00
if cantext$ = 2, strcantext = strcantext + sm01
if cantext$ > 2,
[
strtextno = no2str(cantext$)
strcantext = strcantext + strm + strtextno
]
pwrtt$ # Tool table line format
#
--------------------------------------------------------------------------
# Numbered questions for Mastercam Mill
#
--------------------------------------------------------------------------
38. Rapid feedrate? 800
1538. Rapid feedrate (metric)? 800
80. Communications port number for receive and transmit (1 or 2) ? 1
81. Baud rate (110, 150, 300, 600, 1200, 2400, 4800, 9600)? 9600
82. Parity (E/O/N)? E
83. Data bits (7 or 8)? 7
84. Stop bits (1 or 2)? 1
85. Strip line feeds? N
86. Delay after end of line (seconds)? 0.0
87. Ascii, Eia, or Binary (A/E/B)? A
88. Echo keyboard to screen in terminal emulation? n
89. Strip carriage returns? N
90. Drive and subdirectory for NC files?
91. Name of executable post processor? MP
92. Name of reverse post processor? RP
93. Reverse post PST file name? RPFAN
100. Number of places BEFORE the decimal point for sequence numbers? 3
101. Number of places AFTER the decimal point for sequence numbers? 0
103. Maximum spindle speed? 4000
107. Average time for tool change (seconds)? 2.0
161. Enable Home Position button? y
162. Enable Reference Point button? n
163. Enable Misc. Values button? y
164. Enable Rotary Axis button? n
165. Enable Tool Plane button? y
166. Enable Construction Plane button? y
167. Enable Tool Display button? y
168. Check tplane during automatic work origin creation? n
201. Default miscellaneous real variable 1 (mr1)? 0.0
202. Default miscellaneous real variable 2 (mr2)? 0.0
203. Default miscellaneous real variable 3 (mr3)? 0.0
204. Default miscellaneous real variable 4 (mr4)? 0.0
205. Default miscellaneous real variable 5 (mr5)? 0.0
206. Default miscellaneous real variable 6 (mr6)? 0.0
207. Default miscellaneous real variable 7 (mr7)? 0.0
208. Default miscellaneous real variable 8 (mr8)? 0.0
209. Default miscellaneous real variable 9 (mr9)? 0.0
210. Default miscellaneous real variable 10 (mr10)? 0.0
1601. Default miscellaneous real variable 1 (mr1) (metric)? 0.0
1602. Default miscellaneous real variable 2 (mr2) (metric)? 0.0
1603. Default miscellaneous real variable 3 (mr3) (metric)? 0.0
1604. Default miscellaneous real variable 4 (mr4) (metric)? 0.0
1605. Default miscellaneous real variable 5 (mr5) (metric)? 0.0
1606. Default miscellaneous real variable 6 (mr6) (metric)?
0.0
1607. Default miscellaneous real variable 7 (mr7) (metric)? 0.0
1608. Default miscellaneous real variable 8 (mr8) (metric)? 0.0
1609. Default miscellaneous real variable 9 (mr9) (metric)? 0.0
1610. Default miscellaneous real variable 10 (mr10) (metric)? 0.0
1611. Enable miscellaneous real variable 1? y
1612. Enable miscellaneous real variable 2? y
1613. Enable miscellaneous real variable 3? y
1614. Enable miscellaneous real variable 4? y
1615. Enable miscellaneous real variable 5? y
1616. Enable miscellaneous real variable 6? y
1617. Enable miscellaneous real variable 7? y
1618. Enable miscellaneous real variable 8? y
1619. Enable miscellaneous real variable 9? y
1620. Enable miscellaneous real variable 10? y
301. Default miscellaneous integer variable 1 (mi1)? 0
302. Default miscellaneous integer variable 2 (mi2)? 0
303. Default miscellaneous integer variable 3 (mi3)? 0
304. Default miscellaneous integer variable 4 (mi4)? 0
305. Default miscellaneous integer variable 5 (mi5)? 0
306. Default miscellaneous integer variable 6 (mi6)? 0
307. Default miscellaneous integer variable 7 (mi7)? 0
308. Default miscellaneous integer variable 8 (mi8)? 0
309. Default miscellaneous integer variable 9 (mi9)? 0
310. Default miscellaneous integer variable 10 (mi10)? 0
1621. Enable miscellaneous integer variable 1? y
1622. Enable miscellaneous integer variable 2? y
1623. Enable miscellaneous integer variable 3? y
1624. Enable miscellaneous integer variable 4? y
1625. Enable miscellaneous integer variable 5? y
1626. Enable miscellaneous integer variable 6? y
1627. Enable miscellaneous integer variable 7? y
1628. Enable miscellaneous integer variable 8? y
1629. Enable miscellaneous integer variable 9? y
1630. Enable miscellaneous integer variable 10? y
401. Read SYSTEM COLORS section? y
402. Read ALLOCATIONS section? y
403. Read TOLERANCES section? y
404. Read DATA PATHS section? y
405. Read COMMUNICATIONS section? y
406. Read DRAFT SETTINGS section? y
407. Read MISCELLANEOUS section? y
408. Read NC SETTINGS section? y
409. Read DIALOG SCRIPTS section? y
410. Read DESIGN SETTINGS section? y
411. Read PLOTTER SETTINGS section? y
412. Read ALT-KEY ASSIGNMENTS section? y
413. Read CAD section? y
414. Read START/EXIT section? y
415. Read SCREEN section? y
416. Read FILE NAMES section? y
1500. Chook to execute from 'Misc. values' button?
1501. Insert parameter information in the ascii NCI? n
1502. Write operation information to binary file (.ops)? n
1520. Display a warning when cutter compensation in control simulation finds an error? n
# Do NOT manually change the answer for Q.1999 !
1999. Product major version number that post supports? 9
[CTRL_TEXT_END]