-
MasterCAM9.1
后处理自动生成刀具清单,使用方法:
将下面的内容复制到记事本内,并将其更名为
,
pst
为后缀,再将该文件拷
贝至
MasterCAM9.1
的安装目录
C:Mcam9Mill
Posts
,覆盖原文件,然后启动软件,
可以在
NC
程序开头生成刀具清单。经典版本,绝对好用!
# Post Name
: MPFAN
# Product
: MILL
# Machine Name
: FANUC
# Control Name
: 6M
# Description
: GENERIC
FANUC 6M STYLE POST
# Associated Post
:
# Mill/Turn
: NO
# 4-axis/Axis subs.
: NO
# 5-axis
:
NO
# Executable
: MP 4.03
#
# ************************
************************************************
# *------------------------------------
----------------------------------*
#
*
POST PROCESSOR INTENDED FOR VERSION 6
BETA TESTING
*
# *
*
# *
D O N O T D I S T R I B U T E
! !
!
*
# *
------------------------
------------------------------------------------ *
# *************************************
***********************************
#
#
#| REVISION
LOG
|
#
# Programmers Note:
# CNC
8/15/2005 - grt - Updated for Mill
Version 6
#
#
#| FEATURES:
|
#
# Users Note:
#
# Following Misc_Reals & Misc_Integers
are used:
#
# mi1 - Work
coordinate system
#
0 =
Reference return is generated and G92 with the
#
X, Y and Z home positions
at file head.
#
1 thru 3 =
Reference return is generated and G92 with the
#
X, Y and Z
home positions at each tool.
#
4 thru 9 = The WCS of G54 thru G59
respectively at each tool.
#
# Options / Usage:
# It is
recommended to start and end cutter compensation
on a linear move.
# Rotary axis assumes
a
# substituted axis at absolute zero
position and the retraction from path
#
by the post call to the G28 machine Z home
position.
#
# DEBUG/PROGRAM SWITCHES, debugging and
program switches
#
bug1
: 1
# 1 =
Output post to screen, 2 = output leader to screen
bug2
: 0
# Append
postline labels, non-zero is column position?
bug3
: 0
# Append
whatline no. to each NC line?
bug4
: 0
# Append NCI line no. to
each NC line?
whatno : yes
#
Do not perform whatline branches?
strtool_v7 : 2
get_1004
: 1
rpd_typ_v7 : 1
#Use Version 7 toolname, 1= path
components, 2=string
#Find
gcode 1004 with getnextop?
#Use Version
7 style contour flags?
# 0 = IJK, 1 = R
no sign, 2 = R signed neg. over 180
#Break arcs, 0 = no, 1 = quadrants, 2 =
180deg. max arcs
arcoutput
: 2
breakarcs : 0
stagetool : 0
# 0 = Do not
pre-stage tools, 1 = Stage tools
use_gear
: no
#
Set to yes to output gear range codes
#
# FORMAT
STATEMENTS - n=nonmodal, l=leading, t=trailing,
i=inc, d=delta
#
fs
1
0.3
#Decimal, absolute, 4 place
fs
2
0.4d
#Decimal, delta
fs
3
1 0
#Integer,
not leading
fs
4
2 0l
#Integer, two leading
fs
5
3 0l
#Integer, three leading
fs
6
4 0l
#Integer,
four leading
fs
7
0.1
#Decimal, absolute, 1
place
fs
8
0.2
#Decimal, absolute, 2 place
fs
9
0.3
#Decimal, absolute, 3 place
fs
10 0 4t
fs
11 0.4t
#No decimal,
absolute, four trailing
#Decimal,
absolute, four trailing
#
# FORMAT ASSIGNMENTS
#
# Axis output formats - Linear
#
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 from tool change
fmt
Y 1 yr
# Y
rapid position from tool change
fmt
Z 1 zr
# Z rapid position
from tool change
fmt
X 1 xh
# X home position
fmt
Y 1 yh
# Y home position
fmt
Z 1 zh
# Z
home position
#
# Axis
output formats - Circular
#
fmt
I 2 i
# Arc
center description in X
fmt
J 2 j
# Arc center
description in Y
fmt
K 2 k
# Arc center description in Z
fmt
R 1 arcrad
#
Arc Radius
fmt
R- 1 arcradm
# Arc Radius over 180 degree sweep
#
# Axis output formats -
Rotary substitution
#
fmt
A 9 xs
# Linear to rotary calculation of X
fmt
B 9 ys
#
Linear to rotary calculation of Y
#
#
Program & Sequence number format
#
fmt
O 6 progno
# Program number
fmt
N 3 n
#
Sequence nos.
#
# Tool format
#
fmt
T 3 t
# Tool
No
fmt
T 3 first_tool# First
Tool Used (bldnxtool: yes)
fmt
T 3 next_tool # Next Tool Used
(bldnxtool: yes)
fmt
D 3 tloffno
# Diameter
Offset No
fmt
H 3 tlngno
# Length Offset
No
fmt
fmt
Note format
fmt
1
tlngnote
#
Note
format
fmt
#
# Spindle Speeds & Feedrate output
formats
#
fmt
S
6 speed
# Spindle Speed
fmt
F 8 fr
# Feedrate
fmt
F 7 frdeg
#
Feedrate for rotary
fmt
M 3
gear
# Gear range
#
# Drill variable formats
#
fmt
G 3 drillref
# Initial / Reference Toggle (G98/G99)
fmt
P 10 dwell
#
Dwell
fmt
Z 1 initht
# Initial Height
fmt
R 1 refht
# Reference Height
fmt
Z 1 depth
#
Depth
fmt
Q 2 peck1
# First peck increment (positive)
fmt
1 peck2
#
Second or last peck (positive)
fmt
1 peckclr
# Safety distance
fmt
1 retr
#
Retract height
fmt
F 8
frplunge
# Plunge feedrate in drill
cycles
#
# Miscellaneous
output formats
#
fmt
M 5 ssrange
# Spindle Speed Range
fmt
C 4 coolant
# Coolant
#
# INITIALIZE - initialize
system variables and define user variables
#
qtoolpln
: no
#
MP386 - Enable tool plane option
qtoolopt
: no
#
MP386 - Enable tool optimization
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
bldnxtool : yes
# Build
next tool table
ldrcode
: 65
# Leader character dec. equiv. (fleader
outputs code)
ncldr
: 20
# No. of leader characters (fleader
outputs code)
nobrk
: no
# Omit breakup of x/y & z rapid moves
omitcrlf
: no
#
Omit CR/LF
omitrefht : no
#
Don't use reference height on first non-canned Z
move
omitseq
: yes
# Omit sequence no.
omitz
: no
# Omit
first Z movement for non-canned-cycles
progname
: 1
#
Use uppercase for program name
scalex
:
1.0
#
Scaling
of .NCI
at
input
-
x,y,z,i,j,k
scaley
:
1.0
#
Scaling
of .NCI
at
input
-
x,y,z,i,j,k
scalez
:
1.0
#
Scaling
of
.NCI
at
input
-
x,y,z,i,j,k
seqmax : 9999 #
Max. sequence no.
skipmotest: no
# Skip motion test in linear
spaces
: 1
# No. of spaces to add between fields
tooltable : 1
# Read for
tool table and pwrtt
absswp
: 0
drlgsel
: -1
maxfrdeg
:
9999
absinc
: 0
tcnt
: 0
adelta
: 0
ldelta
: 0
zdelta
: 0
alzdelta
: 0
frdelta
: 0
frdegcalc : 0
circum
: 0
rotstrt
: 1
newglobal : 1
# Absolute sweep
# Drill Select Initialize
#
Limit for feed in deg/min
#
Absolute/Incremental toggle for modality
# Count the number of tool changes
# Calculation for deg/min
# Calculation for deg/min
#
Calculation for deg/min
# Calculation
for deg/min
# Calculation for deg/min
# Calculation for deg/min
# Calculation for deg/min
#
Flag for first rotary position
# Error
Check (Leave this variable set to 1)
#
# FORMULAS -
global formulas
#
ssrange
= mi3
#
Gear Range Select
speed
=
abs ( ss )
# Absolute spindle speed
arcradm
= arcrad
# Negative arcrad
spdlsel
= fsg3(ss)
# Spindle on
selector based on pos. or neg. ss
#
# CANNED CYCLES - select long or short
code
#
usecandrill : yes #
Use canned cycle for drill
usecanpeck :
yes # Use canned cycle for Peck
usecanchip
: yes
usecantap
: yes
usecanbore1 : yes
usecanbore2 : yes
usecanmisc1 : yes
usecanmisc2 : yes
# Use
canned cycle for Chip Break
# Use
canned cycle for Tap
# Use canned cycle
for Bore1
# Use canned cycle for Bore2
# Use canned cycle for Misc1
# Use canned cycle for Misc2
#
# Lookup table definitions - for math
functions FLOOK and FRANGE
#
flktbl
1
3
# Lookup table definitions
- table no. - no. entries
40
1000
# Low
gear range
41
2500
# Med gear range
42
5000
# Hi gear range
#
# Strings -
String labels must start with 's' - they are not
pre-assigned
#
#Select operation note
sop00
NULL
# String definition
sop01
END-MIll
#
sop02
END-MIll
#
sop03
DRIll
#
sop04
END-MIll
#
sop05
S-MILL
#
sop06
2D-SWEPT..
#
sop07
3D-SWEPT..
#
sop08
REVOLVED..
#
sop09
LOFT......
#
sop10
COONS.....
#
sop11
TRIM .....
#
sop12
FILLET....
#
sop13
ROUGH.....
#
sop14
OP14......
#
sop15
OP15......
#
sopnote
# Target string
fstrsel
sop00
opcode sopnote
#
# Select motion G code
sg00
G0
# Linear movement at
rapid feedrate
sg01
G1
# Linear movement at feedrate
sg02
sg03
sgcode
G2
G3
# Circular interpolation
CW
# Circular interpolation CCW
# Target string
fstrsel
sg00 gcode sgcode
#
# Select
incremental or absolute G code
sg90
G90
# Absolute G code
sg91
G91
#
Incremental G code
sgabsinc
#
Target string
fstrsel
sg90
absinc sgabsinc
#
# Select
spindle start
sm04
M4
# Spindle reverse
sm05
M5
# Spindle off
sm03
M3
# Spindle
forward
spdlon
# Target string
fstrsel
sm04 spdlsel spdlon
#
# Cutter
compensation code
scc0
# Cutter compensation state
not changed
sg40
G40
# Cancel cutter compensation
sg41
G41
# Cutter
compensation left
sg42
G42
# Cutter compensation right
sg140
G40
# Last
linear move cancel cutter comp (see note)
# Note: to
cancel comp after last move, remove G40 string
# with sg140
and remove
sccomp
# Target string
fstrsel
scc0
ccomp sccomp
#
# Select work plane G code
sg17
G17
# XY
plane code
sg19
G19
# XZ plane code
sg18
G18
# YZ plane code
# Target string
sgplane
fstrsel
sg17 plane sgplane
#
# Work coordinate system
sg50
G92
# Work
coordinate system G code
sg51
G92
#
sg52
G92
#
sg53
G92
#
sg54
G54
#
sg55
G55
#
sg56
G56
#
sg57
G57
#
sg58
G58
#
sg59
G59
#
sgwcs
# Target string
fstrsel
sg50 mi1 sgwcs
#
# Canned drill cycle string select
sg81
G81
#
drill
- no dwell
sg81d
G82
#
drill
- with dwell
sg83
sg83d
sg73
sg73d
sg84
sg84d
sg85
sg85d
sg86
sg86d
sgm1
sgm1d
sgm2
sgm2d
G83
G83
G73
G73
G84
G74
G85
G89
G86
G86
G81
G82
G81
G82
#
#
#
#
#
#
#
#
#
#
#
#
#
#
peck drill - no dwell
peck
drill - with dwell
chip break - no
dwell
chip break - with dwell
tap
tap
bore #1
bore #1
bore #2
bore #2
misc #1
misc #1
misc #2
misc #2
- no dwell
- with dwell (selects left hand)
- no dwell
- with dwell
- no dwell
- with dwell
- no dwell
- with dwell
- no dwell
- with dwell
sgdrill
#
Target string
drlgsel = drillcyc * 2 + fsg2 ( dwell )
# 16 possible combinations:
#
drillcyc = 0..7
#
dwell
= 0 or
non-zero (2 states)
fstrsel
sg81 drlgsel sgdrill
#
# Generate
'sgear' string
sgear0
M**
# auto gear range
sgear1
M41
# Low gear range
sgear2
M42
# Med
gear range
sgear3
M43
# High gear range - selected in
parameters by mi3
sgear
fstrsel
sgear0 gear sgear
#
# POSTLINES, USER-DEFINED -
Postline labels start with 'p'.
# End a line with ',' to continue on
the next line.
# End a line with ', e'
to generate carriage return and linefeed.
#
# Program
general output control, user defined
#
pinit
# Initialize Vars
prv_fr =
999.999
prv_frdeg = 999.999
prv_frplunge = 999.999
linarc = 0
rotstrt = 1
pabs
# Absolute
G code output
absinc = 0
sgabsinc
# Incremental G
code output
absinc = 1
sgabsinc
# Coolant off
if prv_coolant > 0,
#
Coolant off
if coolant = 1,
# Flood
if coolant = 2,
# Mist
pinc
pcooloff
pcoolon
pcoolnl
#
Coolant off
if coolant = 0,
# Off
if coolant = 1,
# Flood
if coolant = 2,
# Mist
# Feedrate W/O
Negative Feedrates
if fr > 0, fr
# Canned text - cantext = 0, 1, 2, 3
if cantext = 1,
#optional
stop
if cantext = 2,
#user
option
if cantext = 3,
#user
option
pfr
pcan
#
# Work
coordinate output, user defined
#
pg92_sof
# G92
coordinate setting at start
pg92_out
# G92 coordinate
setting at tool change
if
gcode <> 1003,
# G54+ coordinate
setting
if mi1 >= 4, *sgwcs
pwcs
#
# Gear
selection control, user defined
#
pgear
# Find
spindle range
gear = frange ( 1, speed
)
*gear
prange
# Find spindle range
if
use_gear = 1, pgear
#
# Cutter
comp. output control, user defined
#
pccdia2
# Cutter
Compensation2
if ccomp <> 4, tloffno