MarshSt
Aluminum
- Joined
- Jan 17, 2002
- Location
- Black Diamond,WA,USA
I'm running SurfCAM 2015 and have a custom post for our Haas VF-7. Everything is working fine except that the Mpost codes G1 H1 M6 etc without the leading zero -- G01 H01 M06. The Haas control adds this zero when I punch out programs and I get file compare errors. Is this something I can change in the post?
Thanks,
Steve
name HAAS VF7 Z30/34
% 00
a 00
/ 00
O >4
N >4
G >2
t >4
g >2 G
d >2.>3
s 3
c >2.>3
X ->3.>4
Y ->3.>4
Z ->3.>4
I ->3.>4
J ->3.>4
K ->3.>4
Q ->3.>4
R ->3.>4
P >40
F >3.1
H >2
D >2
T >2
S >4
M >2
b 00
p 00
q 00
( 00
) 00
SBACKDOOR SupressHeader
ModalLetters X Y Z F R # List of letters that are modal
ModalGs 0 1 2 3 73 74 76 80 81 82 83 84 85 # List of g codes that are modal
Sequence#s N 0 1 1 # Char, freq, incr & start
First#? N # Y or N 'Output 1st sequence no.
Last#? N # Y or N 'Output last sequence no.
HCode X # X or X U 'Horizontal char.
VCode Y # Y or Y V 'Vertical char.
Dcode Z # Depth char.
FeedCode F # Feed rate char.
Comment ( ) # Begin End comment char.
Spindle 3 4 5 # Cw, ccw & stop m codes
Coolant 8 9 7 88 89 88 89 # Flood, Off, Mist and Thru Spindle M codes
DComp 41 42 40 # Left, Right & Cancel m codes
LComp 43 49 # On & Off codes
Feed G1 # Linear move
Rapid G0 # Rapid positioning word
ArcPlane G 17 18 19 # G17, G18, G17 Arc Plane selection
ReturnPlane 98 99 # G98 G99 Return Plane selection
Cw G2 # Circular move clockwise
Ccw G3 # Circular move counter clockwise
Inc/Abs G 91 90 # Inc & Abs char. & values
CtrCode I J K # I J or R or I J K L
Helical? Y
Spaces? Y # Y or N 'Spaces between words
Incremental? N # Y or N 'Inc or abs output
CtrIncremental? Y # Y or N 'Inc or abs I & J
ByQuadrants? N # Y or N 'Break arcs at quadrants
UppercaseComments? Y # Y or N 'Require uppercase comments
Drill # Drilling canned/manual cycle
G81 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel
CSink
G82 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate] P[Dwell]
end cancel
Peck # Pecking canned/manual cycle
G83 G[RetPlane] X[H] Y[V] Z[D] Q[VBite] R[Vclear] F[FRate]
end cancel
Tap # Tapping canned/manual cycle
G84 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[Frate]
end cancel
LTap # Left handed tapping cycle
G74 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel
Ream # Reaming canned/manual cycle
G85 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel
Bore # Boring canned/manual cycle
G86 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel
Back # Back boring canned/manual cycle
G87 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel
Cancel # Cancel a canned/manual cycle
G80
end
StartCode # Start of the program
%0
O[Program#]
G00 G49 G40 G154 G80 G90 G17
G00 G90 G53 Z4.4
M05
"M98 P9098 (LOAD OFFSET FILE)"
G00 G90 G53 X-36. Y0.
"(PART LOADING LOCATION)"
"M27 (Z34 SECONDARIES)"
"M00 (PRESS RESUME ON THE PLC)"
'('{CLPath}')'
M1
End
1stToolChange # First tool change
N[Block]
"G00 G90 G53 Z4.4 "
"G00 G90 G53 X-70. Y0."
"(SAFE TOOL CHANGE AND CHECK LOCATION)"
T[Tool] M6
if [Style] = 0 # If Type = Ballmill
t[Tool] d[ToolDiam] s[Style] )0 # Don't insert a corner rad
else
t[Tool] d[ToolDiam] s[Style] c[Corner] )0 # Otherwise insert a corner rad
endif
"G06 (CHECK TOOL OFFSET AND SET IF > 3.0 INCH)"
G0 G90 "G154" P[Work] X[H] Y[V]
G43 Z[D] H[Lcomp] M[Cool] T[NEXTTOOL]
Ask [Val1] 'Set Return Plane (98 or 99)' '98'
G[Val1]
M[Direct] S[Speed]
End
Infeed # Enable cutter comp
G[Side] X[H] Y[V] D[DComp] F[FRate]
end
Outfeed # Disable cutter comp
G1 G40 X[H] Y[V]
Z[D]
end
ToolChange
"G00 G90 G53 Z4.4 " # Secondary tool changes
G0 G49 G40 G154 G80 G90 G17 M9
M5
M1
"G00 G90 G53 X-70. Y0."
"(SAFE TOOL CHANGE AND CHECK LOCATION)"
"(TOOL BRAKEAGE CHECK MACRO LINE)"
"/ G65 P9023 A24. T#3026 H0.02"
T[Tool] M6
if [Style] = 0 # If Type = Ballmill
t[Tool] d[ToolDiam] s[Style] )0 # Don't insert a corner rad
else
t[Tool] d[ToolDiam] s[Style] c[Corner] )0 # Otherwise insert a corner rad
endif
"G06 (CHEECK TOOL OFFSET AND SET IF > 3.0 INCH)"
G0 G90 "G154" P[Work] X[H] Y[V]
G43 Z[D] H[Lcomp] M[Cool] T[NEXTTOOL]
Ask [Val1] 'Set Return Plane (98 or 99)' '98'
G[Val1]
S[Speed] M[Direct]
End
EndCode # End of the program
G49 M9 T29
"G00 G90 G53 Z4.4"
"G00 G90 G53 X-70. Y0."
"(SAFE TOOL CHANGE AND CHECK LOCATION)"
"T29M6(BLANK TOOL SPINDLE PLUG)"
"G00 G90 G53 Z4.4"
"G00 G90 G53 X-36. Y0. "
"M25(UNCLAMP AND RESET PLC)"
M30
%0
End
Replace "t" with "(Tool # "
Replace " d0" with ": " # Inhibits output of ": 0 Ball end mill"
Replace "d" with ": "
Replace "c0" with ""
Replace " )" with ")"
Replace "s000" with "Ball"
Replace "s001" with "Endmill"
Replace "s002" with "Bullnose with a corner radius of"
Replace "s003" with "Teardrop"
Replace "s004" with "Keyway"
Replace "s005" with "Shellmill"
Replace "s006" with "Tapered Bullnose"
Replace "s007" with "Tapered Endmill"
Replace "s008" with "Dovetail"
Replace "s009" with "Chamfer"
Replace "s010" with "Corner Round"
Replace "s100" with "Center Drill"
Replace "s101" with "Drill"
Replace "s102" with "Tap"
Replace "s103" with "Reamer"
Replace "s104" with "Bore"
Replace "s105" with "Custom1"
Replace "s106" with "Custom2"
Replace "s107" with "Custom3"
Replace "s108" with "Spot Drill"
Replace "s109" with "Countersink"
Replace "s110" with "Counterbore"
Replace "s805" with "STEP REDO MILLING"
Replace "s600" with "THREAD MILL"
Thanks,
Steve
name HAAS VF7 Z30/34
% 00
a 00
/ 00
O >4
N >4
G >2
t >4
g >2 G
d >2.>3
s 3
c >2.>3
X ->3.>4
Y ->3.>4
Z ->3.>4
I ->3.>4
J ->3.>4
K ->3.>4
Q ->3.>4
R ->3.>4
P >40
F >3.1
H >2
D >2
T >2
S >4
M >2
b 00
p 00
q 00
( 00
) 00
SBACKDOOR SupressHeader
ModalLetters X Y Z F R # List of letters that are modal
ModalGs 0 1 2 3 73 74 76 80 81 82 83 84 85 # List of g codes that are modal
Sequence#s N 0 1 1 # Char, freq, incr & start
First#? N # Y or N 'Output 1st sequence no.
Last#? N # Y or N 'Output last sequence no.
HCode X # X or X U 'Horizontal char.
VCode Y # Y or Y V 'Vertical char.
Dcode Z # Depth char.
FeedCode F # Feed rate char.
Comment ( ) # Begin End comment char.
Spindle 3 4 5 # Cw, ccw & stop m codes
Coolant 8 9 7 88 89 88 89 # Flood, Off, Mist and Thru Spindle M codes
DComp 41 42 40 # Left, Right & Cancel m codes
LComp 43 49 # On & Off codes
Feed G1 # Linear move
Rapid G0 # Rapid positioning word
ArcPlane G 17 18 19 # G17, G18, G17 Arc Plane selection
ReturnPlane 98 99 # G98 G99 Return Plane selection
Cw G2 # Circular move clockwise
Ccw G3 # Circular move counter clockwise
Inc/Abs G 91 90 # Inc & Abs char. & values
CtrCode I J K # I J or R or I J K L
Helical? Y
Spaces? Y # Y or N 'Spaces between words
Incremental? N # Y or N 'Inc or abs output
CtrIncremental? Y # Y or N 'Inc or abs I & J
ByQuadrants? N # Y or N 'Break arcs at quadrants
UppercaseComments? Y # Y or N 'Require uppercase comments
Drill # Drilling canned/manual cycle
G81 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel
CSink
G82 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate] P[Dwell]
end cancel
Peck # Pecking canned/manual cycle
G83 G[RetPlane] X[H] Y[V] Z[D] Q[VBite] R[Vclear] F[FRate]
end cancel
Tap # Tapping canned/manual cycle
G84 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[Frate]
end cancel
LTap # Left handed tapping cycle
G74 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel
Ream # Reaming canned/manual cycle
G85 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel
Bore # Boring canned/manual cycle
G86 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel
Back # Back boring canned/manual cycle
G87 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel
Cancel # Cancel a canned/manual cycle
G80
end
StartCode # Start of the program
%0
O[Program#]
G00 G49 G40 G154 G80 G90 G17
G00 G90 G53 Z4.4
M05
"M98 P9098 (LOAD OFFSET FILE)"
G00 G90 G53 X-36. Y0.
"(PART LOADING LOCATION)"
"M27 (Z34 SECONDARIES)"
"M00 (PRESS RESUME ON THE PLC)"
'('{CLPath}')'
M1
End
1stToolChange # First tool change
N[Block]
"G00 G90 G53 Z4.4 "
"G00 G90 G53 X-70. Y0."
"(SAFE TOOL CHANGE AND CHECK LOCATION)"
T[Tool] M6
if [Style] = 0 # If Type = Ballmill
t[Tool] d[ToolDiam] s[Style] )0 # Don't insert a corner rad
else
t[Tool] d[ToolDiam] s[Style] c[Corner] )0 # Otherwise insert a corner rad
endif
"G06 (CHECK TOOL OFFSET AND SET IF > 3.0 INCH)"
G0 G90 "G154" P[Work] X[H] Y[V]
G43 Z[D] H[Lcomp] M[Cool] T[NEXTTOOL]
Ask [Val1] 'Set Return Plane (98 or 99)' '98'
G[Val1]
M[Direct] S[Speed]
End
Infeed # Enable cutter comp
G[Side] X[H] Y[V] D[DComp] F[FRate]
end
Outfeed # Disable cutter comp
G1 G40 X[H] Y[V]
Z[D]
end
ToolChange
"G00 G90 G53 Z4.4 " # Secondary tool changes
G0 G49 G40 G154 G80 G90 G17 M9
M5
M1
"G00 G90 G53 X-70. Y0."
"(SAFE TOOL CHANGE AND CHECK LOCATION)"
"(TOOL BRAKEAGE CHECK MACRO LINE)"
"/ G65 P9023 A24. T#3026 H0.02"
T[Tool] M6
if [Style] = 0 # If Type = Ballmill
t[Tool] d[ToolDiam] s[Style] )0 # Don't insert a corner rad
else
t[Tool] d[ToolDiam] s[Style] c[Corner] )0 # Otherwise insert a corner rad
endif
"G06 (CHEECK TOOL OFFSET AND SET IF > 3.0 INCH)"
G0 G90 "G154" P[Work] X[H] Y[V]
G43 Z[D] H[Lcomp] M[Cool] T[NEXTTOOL]
Ask [Val1] 'Set Return Plane (98 or 99)' '98'
G[Val1]
S[Speed] M[Direct]
End
EndCode # End of the program
G49 M9 T29
"G00 G90 G53 Z4.4"
"G00 G90 G53 X-70. Y0."
"(SAFE TOOL CHANGE AND CHECK LOCATION)"
"T29M6(BLANK TOOL SPINDLE PLUG)"
"G00 G90 G53 Z4.4"
"G00 G90 G53 X-36. Y0. "
"M25(UNCLAMP AND RESET PLC)"
M30
%0
End
Replace "t" with "(Tool # "
Replace " d0" with ": " # Inhibits output of ": 0 Ball end mill"
Replace "d" with ": "
Replace "c0" with ""
Replace " )" with ")"
Replace "s000" with "Ball"
Replace "s001" with "Endmill"
Replace "s002" with "Bullnose with a corner radius of"
Replace "s003" with "Teardrop"
Replace "s004" with "Keyway"
Replace "s005" with "Shellmill"
Replace "s006" with "Tapered Bullnose"
Replace "s007" with "Tapered Endmill"
Replace "s008" with "Dovetail"
Replace "s009" with "Chamfer"
Replace "s010" with "Corner Round"
Replace "s100" with "Center Drill"
Replace "s101" with "Drill"
Replace "s102" with "Tap"
Replace "s103" with "Reamer"
Replace "s104" with "Bore"
Replace "s105" with "Custom1"
Replace "s106" with "Custom2"
Replace "s107" with "Custom3"
Replace "s108" with "Spot Drill"
Replace "s109" with "Countersink"
Replace "s110" with "Counterbore"
Replace "s805" with "STEP REDO MILLING"
Replace "s600" with "THREAD MILL"