View Full Version : Help with Editing a Post


Chris Rand
04-25-2006, 09:49 AM
I can't seem to find anyone with a post for a dx32 controller so I was hoping someone may be able to help me edit the one I have. My problem is that it spits out some crazy code whenever I have to do a Z move inside of cutter compensation. Any help would be appreciated. Following is a copy of my post;

[POST_VERSION] #DO NOT MOVE OR ALTER THIS LINE# V10.00 E1 P0 T1127411849 M10.00 I0
# Post Name : MPDX32
# Product : MILL
# Machine Name : BRIDGEPORT
# Control Name : DX32
# Description : BRIDGEPORT DX32 POST
# 4-axis/Axis subs. : NO
# 5-axis : NO
# Subprograms : NO
# Executable : MP 9.13
#
# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE.
#
# ---------------
#| REVISION LOG: |
# ------------------------------------------------------------------------
# Programmers Note:
# CNC 01/12/01 - Initial post update for V8.1
# CNC 05/22/01 - tlchng_aft was spelled incorrectly causing motion errors
# removed refht from pdrill_2.
# CNC 01/09/02 - Initial post update for V9.0
# CNC 08/12/02 - Added logic to ptlchg0 to address skipping outptu on null toolchange
# CNC 02/04/03 - Initial post update for V9.1
# CNC 05/28/03 - Initial post update for V9.1SP1
#
# ------------
#| Features: |
# ------------------------------------------------------------------------
# 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.
# mi2 - Rigid Tapping enabled
# 1 = Rigid tapping mode enabled
# 0 = Rigid tapping mode disabled
# mi3 - Corner rounding
# 1 = Corner rounding enabled
# 0 = Corner rounding Disabled
#
# Options / Usage:
# It is recommended to start and end cutter compensation on a linear move.
#
#Canned text:
# Entering cantext on a contour point from within Mastercam allows the
# following functions to enable/disable.
# Cantext value:
# 1 = Stop = output the "M00" stop code
# 2 = Ostop = output the "M01" optional stop code
#
# END_HEADER$
#
#----------------------------------------------------------------------------
# -------------------------- Format For Input Questions ---------------------
sprognum
srev
sname

fq 1 sprognum "Enter The Part Number"
fq 2 srev "Enter The Revision Number."
fq 3 sname "Enter The Programers Initials."
# ------------------------------------------------------------------------
# Format Statements - i=incr., n=nonmodal, l=leave ldg., t=leave trlg.
# ------------------------------------------------------------------------
fs 1 1.4
fs 2 1.4 #ld
fs 3 4 0
fs 4 2 0n
fs 5 3.1t
fs 6 3 0ln
fs 7 3 0n
fs 8 3.2

# ------------------------------------------------------------------------
# Format Assignments
# ------------------------------------------------------------------------
fmt X 1 x$ # X axis position
fmt Y 1 y$ # Y axis position
fmt Z 1 z$ # Z axis position
fmt I 2 i$ # Arc center in X axis
fmt J 2 j$ # Arc center in Y axis
fmt K 2 k$ # Arc center in Z axis
fmt N 7 n$ # Sequence number
fmt T 4 t$ # Tool number
fmt 4 tloffno$ # Tool diameter ofset number
fmt H 4 tlngno$ # Tool length offset number
fmt F 5 fr$ # Feedrate
fmt 5 plane$ # Modal plane code selector
fmt M 3 cc$ # Cutter Comp.
fmt S 3 ss$ # Spindle Speed
fmt 6 wcs # make Work Coord. string 'sgwcs' non-modal
fmt 6 drillcyc$ # make string 'sgdrlcyc' non-modal
fmt M 4 ssrange # Spindle Speed Range (mi2 - M42 = hi, M43 = low)
fmt M 4 sscode # Spindle Speed Code (M59 - M77 from tbl 1)
fmt 3 gcode$ # Format linear G-code selector for modality only
fmt Z 1 depth$
fmt Z 1 depth_out
fmt R 1 refht$
fmt Q 8 dwell$
fmt Z 1 initht$
fmt Q 1 peckincr1
fmt Z 1 peck1$
fmt Z 1 peck2$
fmt 4 dirchg$
fmt C 4 coolant$
fmt F 5 frplunge$
fmt 3 ccomp$ # Modal format for ccomp
fmt M 4 cantext$

# ------------------------------------------------------------------------
# Formulas - Use ':' instead of '=' to initialize variables
# ------------------------------------------------------------------------
skipmotest$ : 0 # Skip the motion test or xyz with previous xyz
plane$ : 0 # Initialize plane code to suppress first G17
spaces$ : 1 # Number of spaces to add between fields
seqmax$ : 99999 # Max. sequence number
omitseq$ : yes$ # Omit sequence numbers?
frrapid : 300 # Rapid feedrate? 300.0
frmax : 300 # Maximum feedrate? 300.0
ssmax : 3000 # Maximum spindle speed? 3000
breakarcs$ : 1 # Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs
arctype$ : 1 # Arc center 1=abs, 2=inc, 3=st-cen, 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
arccheck$ : 1 # Check for small arcs, convert to linear
ltol$ : 0.002 # Length tolerance for arccheck
tooltable$ : yes$ # Build next tool table
rigid : 0 # Rigid tapping performed
rigidon : 0 # Rigid Tapping enabled
nobrk$ : 0 # break rapid moves =0 Rapid as xyz=1, all moves broken=2

# Global Formulas
wcs = mi1$ # Work coord. system
#ssrange = mi2
sscode = frange(1,ss$) # Spindle speed code
cround = mi3$ # Corner rouding on/off 0=on, 1=off

# ------------------------------------------------------------------------
# USE CANNED CYCLES?
# ------------------------------------------------------------------------
usecandrill$ : yes$
usecanpeck$ : yes$
usecanchip$ : yes$
usecantap$ : yes$
usecanbore1$ : yes$
usecanbore2$ : yes$
usecanmisc1$ : no$
usecanmisc2$ : no$

# ------------------------------------------------------------------------
# Bugs - used for post processor code customization
# ------------------------------------------------------------------------
fastmode$ : yes$ # Enable Quick Post Processing, (set to no for debug)
bug1$ : 1 # 0=No display, 1=Generic list box, 2=Editor
bug2$ : 40 # Add postline label to each line at column 'bug2'
bug3$ : 1 # 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 #Associate X tolerance variables to V9- variable?
linkplnvar$ : 1 #Associate X plane specific variables to V9- variable?
linklvar$ : 1 #Associate X lathe specific variables to V9- variable?
newglobal$ : 1 #Enable error checking for global variables?

skp_lead_flgs$ : 1 # Do NOT use v9 style contour flags
get_1004$ : 1 # Find gcode 1004 with getnextop?
rpd_typ_v7$ : 1 # Use Version 7 style contour flags?
strtool_v7$ : 2 # Use Version 7 toolname?
cant_tlchng$ : 1 # Ignore cantext entry on move with tlchng_aft
tlchng_aft$ : 2 # Delay call to toolchange until move line
getnextop$ : 0

# ------------------------------------------------------------------------
# Lookup table definitions - for Math Functions FLOOK and FRANGE
# ------------------------------------------------------------------------
flktbl 1 12 # Lookup table no. No. of entry pairs
58 63 # Code 1 (output) Match 1
59 90 # Code 2 Match 2
63 112 # . .
64 180 # . .
65 224 # . .
66 355
67 450
73 710
74 900
75 1400
76 1800
77 2800

# ------------------------------------------------------------------------
# Strings - String labels must start with 's' - they are not pre-assigned
# ------------------------------------------------------------------------
sg00 G0 # Linear movement at rapid feedrate G code
sg01 G1 # Linear movement at feedrate G code
sg02 G2 # Circular interpolation CW G code
sg03 G3 # 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 M09 # Coolant Off
sm08 M08 # Coolant Flood
smx8 M08 # Coolant Mist
smxx M08 # Coolant Tool
smcool # Coolant code target string

fstrsel sm09 coolant$ smcool 4 -1# Boolean handles modality
# coolant = 0 - coolant off
# coolant = 1 - FLOOD coolant on
# coolant = 2 - MIST coolant on
# coolant = 3 - TOOL coolant on

# ------------------------------------------------------------------------
sm04 M04 # Spindle reverse - no coolant "M04"
sm05 M05 # Spindle off - no coolant "M05"
sm03 M03 # Spindle forward - no coolant "M03"
sm04c M04 # Spindle reverse - with coolant "M04"
sm05c M05 # Spindle off - with coolant "M05"
sm03c M03 # Spindle forward - with coolant "M03"
sm04cc M04 # Spindle reverse - with coolant "M04"
sm05cc M05 # Spindle off - with coolant "M05"
sm03cc M03 # Spindle forward - with coolant "M03"
spdlon # Target Spindle-on M-string

spdlsel = fsg2(coolant$) * 3 + fsg3(ss$) # Spindle on selector based on
# coolant - 0 = off, 1 = on
fstrsel sm04 spdlsel spdlon 9 -1

# ------------------------------------------------------------------------
scc0 # cutter compensation state not changed
sg40 G40 # cancel cutter compensation
sg41 G41 # cutter compensation left
sg42 G42 # cutter compensation right
sg140 # Last linear move cancel cutter comp (see note)
# Note: to cancel comp after last move, remove G40 string
# with sg140 and remove "#" at the postline call "pcancelcc"
sccomp

fstrsel scc0 ccomp$ sccomp 5 -1

# ------------------------------------------------------------------------
sg17 G17 # XY plane code
sg19 G19 # XZ plane code
sg18 G18 # YZ plane code
sgplane # Workplane G code

fstrsel sg17 plane$ sgplane 3 -1 # Select work plane G code

# ------------------------------------------------------------------------
sg53 G53 # Work coordinate system G code #1
sg54 G54 # Work coordinate system G code #2
sg55 G55 # Work coordinate system G code #3
sg56 G56 # Work coordinate system G code #4
sg57 G57 # Work coordinate system G code #5
sg58 G58 # Work coordinate system G code #6
sg59 G59 # Work coordinate system G code #7
sgwcs # Work coordinate system G code

fstrsel sg53 wcs sgwcs 7 -1

# ------------------------------------------------------------------------
sg81 G81 # drill - no dwell
sg82 G82 # drill - with dwell
sg83 G83 # peck drill - no dwell
sg83d G83 # peck drill - with dwell
sg73 G87 # chip break - no dwell
sg73d G87 # chip break - with dwell
sg84 G84 # tap
sg84d G84 # tap # must be here for selector to work
sg85 G85 # bore #1 - no dwell
sg89 G89 # bore #1 - with dwell
sg86 G86 # bore #2 - no dwell
sg86d G86 # bore #2 - with dwell
sgm1 GGG # misc #1 - no dwell
sgm1d GGG # misc #1 - with dwell
sgm2 GGG # misc #2 - no dwell
sgm2d GGG # misc #2 - with dwell
sgdrill # Target drill cycle G code

drlgsel = drillcyc$*2 + fsg2(dwell$) # 16 possible combinations:
# drillcyc = 0..7
# dwell = 0 or non-zero (2 states)
fstrsel sg81 drlgsel sgdrill 16 -1 # Drill cycle G string select

# ------------------------------------------------------------------------
sgaccel G8 # Axis acceleration code
sgdecel G9 # Axis deceleration code
sgacc

fstrsel sgaccel dirchg$ sgacc 2 -1# Select accel/decel code with dir. chg. flag

# ------------------------------------------------------------------------
# String select for corner rounding based off of mi3 value.
# used only when ccomp in is active.
sg48 G48 # Corner rounding off #0
sg49 G49 # Corner rounding on #1
sgcnrnd # Corner Rounding G code

fstrsel sg48 cround sgcnrnd 2 -1

# --------------------------------------------------------------------------
#Cantext string definitions (spaces must be padded here)
sm00 "M00"
sm01 "M01"
strtextno
strcantext
strm M
sblank

# ------------------------------------------------------------------------
# User-defined Postlines
# ------------------------------------------------------------------------

pcool # Coolant on/off - init. off (coolant = 0)
if prv_coolant$ <> coolant$, n$, smcool

psg00 # Output "G00" via String Select Function to maintain modality
gcode$ = 0
*sgcode
!gcode$

pfr # Don't output neg. feedrate
if fr$ > 0, fr$

psccomp1 # Cutter comp on
n$, sccomp, *sgcnrnd, sgcode, prv_x$, prv_y$, pfr, pcan, e$
n$, sgcode, prv_x$, prv_y$, pfr, pcan, e$

psccomp # Cutter comp block used to repeat previous move for turning
# comp on. Comp does not take effect until two moves later due to
# the dx32's look ahead.
if ccomp$ = 2 | ccomp$ = 3, psccomp1
#-----------------
#Stuff i added
#-----------------
# --------------------------------------------------------------------------
# Tool Table Function
# --------------------------------------------------------------------------
tcnt : 0 # Count the number of tool changes-Used for Tool List
opcnt : 0 # Count the number of operations -Used for Tool List

fmt "TOOL" 18 tnote # Note format
fmt "DIA OFFSET D" 18 toffnote # Note format (use fs 1 0ln)
fmt " LEN OFFSET H" 18 tlngnote # Note format
fmt " DIA " 19 tldia$ # Note format (use fs 0.3t)
fmt 18 opcnt # Operation counter

pwrtt$ # Tool table at start of file
tnote = t$
toffnote = tloffno$
tlngnote = tlngno$
opcnt = tcnt + 1 # operation counter = tool counter +1
if t$ >= 0,
[
";", *tnote, pstrtool, "", e$
tcnt = tcnt + 1
]

# --------------------------------------------------------------------------
# Tool Comment / Manual Entry Section
# --------------------------------------------------------------------------

ptoolcomment #Comment for tool
if omitseq$ = 1, pbld, *n$, e$
tnote = t$
toffnote = tloffno$
tlngnote = tlngno$
";", *tnote, pstrtool, *tldia$, " ", e$

pstrtool #Comment for tool
if strtool$ <> sblank,
[
strtool$ = ucase(strtool$)
*strtool$, " "
]



pcomment$ #Comment from manual entry (must call pcomment2 if booleans)
pcomment2,e$

pcomment2 #Comment from manual entry
scomm$ = ucase (scomm$)
if gcode$ = 1007, " ", scomm$, " "
else, " ", scomm$, " "

# ------------------------------------------------------------------------
# Postline - (pre-assigned)
# ------------------------------------------------------------------------
pupstring # Strings to upper case
sprognum = ucase (sprognum)
srev = ucase (srev)
sname = ucase (sname)
if sname = sblank & qexit = yes$,
[
result = mprint(susername)
exitpost$ # Stops post execution
]

pheader$ # File header
17,e$
";", e$
";Program ", sprogname$,".TXT",e$
if tooltable$ = 1,
[
"; ", e$
";START OF TOOL LIST", e$
]

psof0$ # Start of file for tool zero 1001
psof$

psof$ # Start of file for non-zero tool number 1001
";START OF PROGRAM", e$
n$, " ",e$
n$, "G75", "G90",e$
n$, " ",e$
ptoolcomment
n$, t$, "M06",e$
pcan
pcan1, n$, ss$, "M03", strcantext,e$
pcan2, n$, psg00, *x$, *y$, e$
n$, psg00, *z$,e$
rigidon = mi2$

ptlchg0$ # Null tool change 1000
#if prv_z <> zr, n, *sg00, zr ---Use tlchng_aft in V8
rigidon = mi2$
if gcode$ = 1, plin$
else, prapid$

ptlchg$ # Tool change 1002
n$, " ", e$
ptoolcomment
n$, *t$, "M6",e$
n$, *ss$,"M03",e$ #JEvans
pcan
pcan1, n$, psg00, *x$,*y$, strcantext,e$
pcan2
n$, psg00, *z$,e$
rigidon = mi2$
prv_fr$ = -1

peof0$ # End of file for tool zero 1003
peof$

peof$ # End of file for non-zero tool 1003
n$, "G00",e$
n$, xh$, yh$,e$
n$, "M22",e$
4,e$
20,e$

prapid$ # Linear line movement - at rapid feedrate 0
pcan
pcan1, n$, psccomp, *sgcode, x$, y$, z$, pfr, strcantext,e$
pcan2

pzrapid$ # Linear movement in Z axis only - at rapid feedrate 0
pcan
pcan1, n$, psccomp, *sgcode, *z$, pfr, strcantext,e$
pcan2

pylin # Linear movement - y motion test
pcan
pcan1, n$, psccomp, sgcode, *x$, *y$, pfr, strcantext
pcan2


plin$ # Linear line movement - at feedrate 1
pcan
psccomp
pcan1, n$, sccomp, sgcode, *x$, *y$, z$, pfr, strcantext,e$
pcan2

pz$ # Linear movement in Z axis only - at feedrate 1
n$, sgcode, z$, pfr,e$

pcirp2 # Circular interpolation 2
psccomp
pcan1, n$, sgplane, sccomp, *sgcode, *x$, y$, *z$, *i$, *k$, pfr,
strcantext

pcirp1 # Circular interpolation 2
psccomp
pcan1, n$, sgplane, sccomp, *sgcode, x$, *y$, *z$, *j$, *k$, pfr,
strcantext

pcirp0 # Circular interpolation 2
psccomp
pcan1, n$, sgplane, sccomp, *sgcode, *x$, *y$, z$, *i$, *j$, pfr,
strcantext

pcir$ # Circular interpolation 2
pcan
if plane$ = 0, pcirp0,e$
if plane$ = 1, pcirp1,e$
if plane$ = 2, pcirp2,e$
pcan2

pdrill0$
depth$ = abs(depth$)


pdrill$ # Canned Drill Cycle
if dwell$ <> 0,
n$, *sgdrill, "G04", *x$, *y$, *depth$, *dwell$, *frplunge$,e$
else,
n$, *sgdrill, *x$, *y$, *depth$, *frplunge$,e$

ppeck$ # Canned Peck Drill Cycle
n$, *sgdrill, *x$, *y$, *depth$, *peck1$, *peck2$, *frplunge$,e$ #JEvans

pchpbrk$ # Canned Chip Break Cycle
n$, *sgdrill, *x$, *y$, *depth$, *peck1$, *peck2$, *frplunge$,e$ #JEvans

ptap$ # Canned Tap Cycle
if rigidon = 1, n$, "G95", "M29",e$ #JEvans
n$, *sgdrill, *x$, *y$, *depth$, *frplunge$,e$
if rigidon = 1, rigid = 1

pbore1$ # Canned Bore #1 Cycle
pdrill$ #JEvans

pbore2$ # Canned Bore #2 Cycle
pdrill$ #JEvans

pmisc1$ # Canned Misc #1 Cycle

pmisc2$ # Canned Misc #2 Cycle

pdrill_2$ # Canned Drill Cycle
n$, x$, y$, depth$,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
if rigid = 0, n$, "G80",e$
else, n$, "G80", "G94", "M28",e$
rigid = 0

pcancelcc$ # Cancel cutter comp.
n$, "G40",e$

pwrtt$ # Tool table line format

# --------------------------------------------------------------------------
# Canned Text
# --------------------------------------------------------------------------
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
#Assign string select type outputs
#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
]

# ------------------------------------------------------------------------
# Numbered questions for Mastercam Mill
# ------------------------------------------------------------------------
38. Rapid feedrate? 300.0
1538. Rapid feedrate (metric)? 10000.0

80. Communications port number for receive and transmit (1 or 2) ? 2
81. Baud rate (110, 150, 300, 600, 1200, 2400, 4800, 9600)? 4800
82. Parity (E/O/N)? N
83. Data bits (7 or 8)? 8
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?

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? 5000
107. Average time for tool change (seconds)? 2.0

159. Show first and last position as fully compensated in simulation? n

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? n
166. Enable Construction Plane button? n
167. Enable Tool Display button? y
168. Check tplane during automatic work origin creation? n

# --------------------------------------------------------------------------
# Default Miscellaneous Real Values
# --------------------------------------------------------------------------
201. Default Index start angle? 0.0
202. Default Index incremental angle? 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

# --------------------------------------------------------------------------
# Default Miscellaneous Real Values (METRIC)
# --------------------------------------------------------------------------
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

# --------------------------------------------------------------------------
# Enable/Disable Miscellaneous Real Variable switches
# --------------------------------------------------------------------------
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

# --------------------------------------------------------------------------
# Default Miscellaneous Integer Values
# --------------------------------------------------------------------------
301. Default Work Coordinate System (0=G53,1=G54 to 6=G59)? 1
302. Rigid Tapping mode enabled (1=Yes, 0=No)? 0
303. Default Corner Rounding On (0=off, 1=on)? 1
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

# --------------------------------------------------------------------------
# Enable/Disable Miscellaneous Integer Variable switches
# --------------------------------------------------------------------------
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

# --------------------------------------------------------------------------
# Configuration File association parameters (default is "y")
# --------------------------------------------------------------------------
#400. Name of associated cfg file?
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
1503. Write transform operations (0=transform ops, 1=source ops, 2=both)? 1

1520. Display a warning when cutter compensation in control simulation finds an error? n
1521. Number of controller look-ahead blocks for CDC in control? 2

1530. Ignore work offset numbers when processing subprograms? y
1531. Ignore contour flags when processing subprograms? y

# Do NOT manually change the answer for Q.1999 !
1999. Product major version number that post supports? 9

3001. Machine acceleration? 2
3002. timing size? .1


[CTRL_MILL|DEFAULT]
[misc integers]
1. //1
3. //1
[CTRL_MILL|MPDX32]
[misc integers]
1. //1
3. //1
[CTRL_TEXT_END]

psychomill
04-25-2006, 10:20 AM
Post the nc code with this "crazy code" so we can see what all the craziness is about....

Chris Rand
04-25-2006, 11:06 AM
This is a slot along an arc.

I would like the tool to enter cutter comp, Z down at the right arc side of slot(as I would use a drill to open it up to descend at the center of the arc), cut, Z up, exit cutter comp.

What actually happens is it seems to come down to far to the right(outside of the slot), make a move beck to the left, Z down(Z should be w/o XY coords), cut the slot, then do an extra arc or two, then Z up(Z should be w/o XY coords or it ignores Z), exits cutter comp.

G75 G90

N100
; TOOL22. 1/2 TIALN ROUGHING ENDMILL DIA .51
T22 M06
S1000 M03
G0 X-6.3698 Y9.4241
G0 Z.1
G41 G48 G1 X-6.3698 Y9.4241 F6.0 <-bad X Y
X-6.3698 Y9.4241 <-bad XY
X-6.1165 Y9.5956
X-6.1165 Y9.5956 Z-.66 <- should be no X Y
G3 X-6.4844 Y9.6673 I-6.3364 J9.4467
G3 X-7.5055 Y8.8979 I0. J0.
G3 X-7.4119 Y8.4408 I-7.3342 J8.6948
G3 X-7.1647 Y8.4903 I-7.3342 J8.6948
G2 X-6.1866 Y9.2274 I0. J0.
G3 X-6.1165 Y9.5956 I-6.3364 J9.4467 <- no idea why this is generated
G1 X-6.1165 Y9.5956 Z.1 F100.0 <- should be no X Y
X-6.3698 Y9.4241 F6.0
G40
G00

M22


Thanks for looking.

Chris Rand
05-04-2006, 10:11 AM
;G2 X-6.1866 Y9.2274 I0. J0.
;G3 X-6.1165 Y9.5956 I-6.3364 J9.4467 <- no idea why this is generated
;G1 X-6.1165 Y9.5956 Z.1 F100.0 <- should be no X Y

After closer examination, that G3 is legit and should be there, it closes the end of the slot, yet the controller wants to do some crazy arc outside of the slot....must be a formatting issue, just not sure what order i would have to put the code in....oh well....back to trial and error

psychomill
05-04-2006, 10:57 AM
Most people utilize comp with the lead in move once they are in the part. You're looking to take up comp and remove it above the part which may get a little tricky. BUT, if you go into the control definitions (from the machine definitions manager), click on "Cutter Compensation". Make sure the box is checked for "Control supports cutter comp..." Then look down and theres a box to check for "Start and end cutter compensation above part". Try that and see if it does what you need.

:cheers:

Mike Mattera
06-05-2006, 04:00 PM
Nearly impossible to get a Z move after the comp gets turned on. It's always going to position, drop Z, ramp on with comp.

Mike

Mike Mattera
06-05-2006, 04:07 PM
psychomill: Checking the box is only part of it. You will still have to make MAJOR changes to the post for it to wok the way he wants.

Mike