Deckel Dialog 4 [FS] MY82 89 7m


{Change Comments ***********************************************************}

{7/28/95,
Updated for Catalyst v2.20 per Fanuc 6M M001.85.01 Format.
Special CutterRadiusCompensation.
No MasterOp/CallMasterOp.
DWB}

{1/17/96, Updated .85 to .86 version, MPK}

{3/25/96, Tested ZOnlyRepAutoCycle, Changed version # to .89, MPK}

{4/24/97
Updated & Modified: Deckel Dialog 4 M248.89m
Created: Deckel Dialog 4 [FS] MY82.89m
For: Fructus/Stiga
Machine:
Control:
Versions: Catalyst v3.33C/ComPost2 MSL 68K
Changes made per Mikael Bagge of Fructus, EMail and "Post Test 1" VNC File.
Changed literal '$' to '&' at FirstOperation.
Mikael reported that $ equals Inch while & equals Metric.
Updated for Catalyst v3.33C per Fanuc 6M M001.89b Format
Changed FORMAT#2 from ###.###;0 to #####.###;0 at Prog Numeric Format Definitions.
Changed FORMAT#3 from *###.###;0 to *#####.###;0 at Prog Numeric Format Definitions.
Deleted version comments.
Moved contents of StdLine back to ToolPath LineFeat.
Increased SetMaxFeed from 500 to 2540 at setup and initializations.
Added SetMaxFeed(100) condition for English Files at setup and initializations.
Added GetSpindle for MP-OTAP-ECP condition at FirstOperation and NewTool.
Modified handling of CutterRadiusCompensation to conform with current policy.
DWB}

{6/25/97
Modified: Deckel Dialog 4 [FS] MY82.89m
Created: Deckel Dialog 4 [FS] MY82.89.1m
For: Fructus/Stiga
Versions: Catalyst v3.33C/ComPost2 MSL 68K
Changes made per Mikael Bagge of Fructus, EMail and "Post Test 2" VNC File.
Changed FORMAT for Address F from "###.0" to "##0" in Compost Default Formats Dialog.
Changed Peck - Partial Retract from G82 to G83 in Compost Drill Cycles Dialog.
Changed Bore from G86 to G85 in Compost Drill Cycles Dialog.
Added SeqC to DrillPos block at ToolPath PointFeat Drilling.
Changed literal ' Z0 T0' to ' Z150. T0' at NewTool, SameTool and end of Prog.
Moved SpinOff to literal ' Z150. T0' block at NewTool, SameTool and end of Prog.
DWB}

{7/31/97
Modified: Deckel Dialog 4 [FS] MY82.89.1m
Created: Deckel Dialog 4 [FS] MY82.89.2m
For: Fructus/Stiga
Versions: Catalyst v3.35C/ComPost2 MSL 68K
Changes made per Mikael Bagge of Fructus and EMail.
Customer reported that post was outputting 4 place decimals and wanted 3 place decimals.
Didn't occur to me that original Metric Post needed checking back on 4/24/97.
Changed Compost General Default Formats.
Changed Addresses I, J, K, X, Y and Z from #.####;0 to ##.###;0
Changed Prog Numeric Format Definitions.
Changed Format#4 from ####.####;0. to ##.###;0
DWB}

{9/10/97
Updated & Modified: Deckel Dialog 4 [FS] MY82.89.2m
Created: Deckel Dialog 4 [FS] MY82.89.3m
For: Fructus/Stiga
Versions: Catalyst v3.35C/ComPost2 MSL 68K
Changes made per Mikael Bagge of Fructus, EMail and "Post Test 3" VNC File.
Updated for Catalyst v3.35C per Fanuc 6M M001.89b Format.
Added TrackZNO# to FORMAT#4 at Prog Numeric Format Definitions.
Customer requested modification of OfstOff for ToolChng.
Added Seq Rapid ' Z150. T0' SpinOff CoolOff EOL block at FirstOperation.
Added Seq Rapid ' X0 Y0' block at FirstOperation EOL.
These two blocks follow initial Seq AbsOrInc EOL block.
Forces N2 and N3 to be output.
Changed Rapid ' Z150. T0' SpinOff to ' L1 N2 N3' at NewTool and end of Prog.
Left intact Rapid ' Z150. T0' for MultipleParts FullUp situation.
Customer requested Peck and Retract values to be negated in Canned Peck Drilling Cycle.
Added FORMAT#10, *###.####;0 at Prog Numeric Format Definitions.
Added Peck# to FORMAT#10 at Prog Numeric Format Definitions.
Added Retract# to FORMAT#10 at Prog Numeric Format Definitions.
Changed Peck Retract to IF Peck? condition at DrillSub.
Outputs ' Z' Peck# ' Z' Retract#.
Minor corrections made:
Changed FORMAT#9 from ###.####;0 to ###.####;0 at Prog Numeric Format Definitions.
Metric requires 3 place decimals, not 4.
Added SetAbs for TrackZNO# SPZ# at DrillSub.
Moved in front of SetAbsOrInc command to avoid Tracking while in Incremental.
Added second TagDown at end of ZonlyRepAutoCycle per Dynapath 20M M074.85.02.
Added support of XYPlane, XZPlane and YZPlane.
Added G17, G18 and G19 to Mach Spec.
Changed literal ' G17' to Plane at FirstOperation and NewTool
Added PlaneC command 3 places at SameTool.
Deleted non outputting Plane command at GetStartOfSameTool, FirstOperation and NewTool.
DWB}

{11/12/97
Updated & Modified: Deckel Dialog 4 [FS] MY82.89.3m
Created: Deckel Dialog 4 [FS] MY82.89.4m
For: Fructus/Stiga
Versions: Catalyst v4.21.14(mac)/ComPost2 MSL 68K
Changes made per Mikael Bagge of Fructus, EMail, Phone Call and "Deckel Test" and "Drill Test"
VNC Files.
Customer reported incorrect value for Drilling ZDepths.
Value is supposed to be incremental from ZCP2.
Post was incorrectly outputting value based on RetractToCP1 condition.
Deleted IF RetractToCP1? condition at DrillSub sub.
Forcing TrackZNO# ClearancePlane2#.
Customer reported problems with Contour Subroutines.
Requested LongHand routines for Contour related Operations only.
Updated for Catalyst v3.35C per LongHand M001.89g Format.
DrillSubs retained as customer reported that they work as desired.
DWB}

{3/30/98,
Initial : Deckel Dialog 4 [FS] MY82.89.4m
Created: Deckel Dialog 4 [FS] MY82.89.7m
Customer: Fructus/Stiga, Sweden

Customer don't like the changes I did in versions 5 & 6 therefore
this version is 7.

Changes to "Prog":

1. Changed G0 to be a non-modal code. Changed all RapidC to Rapid and where needed,
force the output of one of the axis by removing the C.
JHE}


{Prog Numeric Format Definitions *****************************************}

#1 = '#.00'
#2 = '#####.###;0'
#3 = '*#####.###;0'
#4 = '#####.###;0.'
#5 = '#######0'
#6 = '#0;0'
#7 = '###0'
#8 = '#.###;0'
#9 = '###.###;0'
#10 = '*###.###;0'
#11 = '#'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ToolDiameter#,4)
FORMAT(TrackZNO#,4)
FORMAT(Tag#,5)
FORMAT(Program#,5)
FORMAT(CallMasterNum#,5)
FORMAT(Operation#,5)
FORMAT(Tool#,5)
FORMAT(Parts#,5)
FORMAT(Dwell#,6)
FORMAT(SpeedRPM#,7)
FORMAT(LineLength#,8)
FORMAT(ArcR#,8)
FORMAT(CP1LessCP2#,9)
FORMAT(Peck#,10)
FORMAT(Retract#,10)
FORMAT(RapidF#,11)

{Special Subs ***********************}

CRCCode:
IF ArcFeat?
' G47 A' ArcR#
ELSE
' G45 A' LineLength#
END
RETURN

TurnCRCOn:
IF Flag?('2')
CRCCode
END
RETURN

MakeMove:
IF XYPlane?
MoveX MoveY MoveZC
ELSE
IF XZPlane?
MoveX MoveYC MoveZ
ELSE
MoveXC MoveY MoveZ
END
END
RETURN

ckMove:
IF Flag?('2') { CutterRadiusCompensation }
SetFlagF('2')
MakeMove ' G64 M61'
ELSE
MoveXYZC
END
RETURN

TurnCRCOff:
CRCOffC
IF NOT EmptyLine?
SeqC CRCCode EOL
END
RETURN

{Prog Subroutines *********************************}

RestoreScale:
IF NOT Metric? {CAM file is in English, tools and tool path}
SetScale('25.4') { change to Metric, this is an Metric post}
END
RETURN

WFOStuff:
{ NOTE: This Post Processor does not Support WorkFixtureOffsets. }
RETURN

DoSubComment: { Drill Subs Only }
IF UseComments? AND SubComment?
'( SUB NUMBER: ' Tag# ' )' EOL
END
RETURN

DoPartCycleComment:
IF MultipleParts? AND UseComments? AND SubComment?
'( PART NO. ' PartNum# ' )' EOL
END
RETURN

DoCycleComment:
IF UseComments? AND SubComment?
'( CYCLE START )' EOL
END
RETURN

DoOpComments:
IF UseComments?
SetScale('1')
IF OperationIDComment?
{IF MultipleParts? AND AutoCycle? AND ZShiftOnly? { OperationType ZonlyRepAutoCycle SetSRXYtoEP }
'( OPERATION 12: AUTO CYCLE )' EOL
ELSE}
'( OPERATION ' Operation# ': ' OperationType$ ' )' EOL
{END}
END
IF OperationComment?
'( ' OperationComment$ ' )' EOL
END
IF WorkGroupComment?
'( ' WorkGroupComment$ ' )' EOL
END
IF ToolTypeComment?
'( TOOL ' Tool# ': ' ToolDiameter# ' ' ToolType$ ' )' EOL
END
IF ToolComment?
'( ' ToolComment$ ' )' EOL
END
RestoreScale
END
RETURN

PSInit:
NewWFOF
RotateF
OptCyc1F
MasterOpF
CallMasterOpF
RETURN

PSStuff:
IF FourthCW?
FORMAT(FourthDegree#,2)
SeqC ' A' FourthDegree# EOL
FourthCWF
END
IF FourthCCW?
FORMAT(FourthDegree#,3)
SeqC ' A' FourthDegree# EOL
FourthCCWF
END
IF FifthCW?
FORMAT(FifthDegree#,2)
SeqC ' B' FifthDegree# EOL
FifthCWF
END
IF FifthCCW?
FORMAT(FifthDegree#,3)
SeqC ' B' FifthDegree# EOL
FifthCCWF
END
RETURN

DoPostScript:
PSInit
EachPS
SeqC PostScript EOL
PSStuff
NextPS
RETURN

DoEndOpPS:
PSInit
EachEOPS
SeqC EndOpPS EOL
PSStuff
NextPS
RETURN

EntryMove:
SeqC
IF FeedEntry?
FeedC ZInC
IF NOT EmptyLine? { Mostly for FeedConnect ZShiftOnly with ZMove }
FeedEntC
END
ELSE
Rapid ZIn {Removed C from Rapid & ZIn - JHE}
END
IF NOT EmptyLine?
IF CutterRadiusCompensation?
' M70' EOL
SeqC FeedRateC
IF NOT EmptyLine?
' M70'
END
END
END
EOL
RETURN

ExitMove:
IF NOT FeedConnect?
CRCOffC
IF FIFO?
FeedC PRIME ZCP2C FeedEntC
ELSE
Rapid PRIME ZCP2 {Removed C from Rapid & ZCP2 - JHE}
END
END
RETURN

ExitMove2:
LoadFeat Num#('0') Num#('0') ClearancePlane3#
IF ZMove?
IF FIFO?
FeedC ZCP3C FeedEntC
ELSE
Rapid ZCP3 {Removed C from Rapid & ZCP3 - JHE}
END
END
RETURN

CycleWarning:
{ NOTE: This Post Processor takes care of Z Clearance. }
RETURN

FormatArc:
IF ArcCW?
CWArc
ELSE
CCWArc
END
MakeMove ArcIJ
RETURN

ckCRC:
IF LastFeat?
{CRCOffC}
ELSE
IF NOT ZMove?
CRCOnC
IF NOT EmptyLine?
SetFlag('2') { TurnCRCOn and ckMove }
TurnCRCOn Rapid
END
END
END
IF EmptyLine?
IF RapidFeat?
Rapid {Removed C from Rapid - JHE}
ELSE
FeedC
END
IF ZMove? AND NOT XMove? AND NOT YMove?
MoveXYZC
END
END
RETURN

GetSpindle:
' S'
IF CWSpindle?
'+'
ELSE
'-'
END
SpeedRPM#
RETURN

DrillSub:
TagInc
OpenSub { Put the Cycle in a Subroutine Block }
DoSubComment
SetAbs
TrackZNO# ClearancePlane2#
SetInc { NOTE: ZDepth is Incremental from ZCP2 }
'N*' Tag# Cycle FeedEnt GetSpindle MoveSZC
IF Peck?
' Z' Peck# ' Z' Retract#
END
IF Dwell?
' G4 F'
IF LessThan? Dwell# Num#('1')
'0'
ELSE
Dwell#
END
END
IF RetractToCP1?
' Z' CP1LessCP2# { Incremental Value from ZCP2 to ZCP1 }
END
EOL
SetAbs
TrackZNO# SPZ# {.81}
SetAbsOrInc
CloseSub
RETURN

ToolPath:
EACHFeat
IF PointFeat? { Drilling Only }
IF SPZMove?
DrillSub
END
SeqC ' N*' Tag# Rapid
IF FirstFeat?
MoveSX MoveSY
END
MoveSXYC EOL
ELSE
IF RapidFeat?
IF XMove? OR YMove? OR ZMove?
SeqC ckCRC ckMove EOL
END
ELSE
IF LineFeat?
IF XMove? OR YMove? OR ZMove?
IF Decelerate?
IF RoomToDecel?
DecelMove1
SeqC ckCRC FeedRateC ckMove EOL
DecelMove2
END
SeqC ckCRC DecelFeed ckMove EOL
ELSE
SeqC ckCRC FeedRateC ckMove EOL
END
END
ELSE
IF ArcFeat?
EACHQuadrant { Do not use NOT, FIRST, LAST or NEXT modifiers in this loop }
IF LastQuadrant? AND Decelerate?
IF RoomToDecel?
DecelMove1
SeqC FormatArc ArcFeedC EOL
DecelMove2
END
SeqC FormatArc DecelFeed EOL
ELSE
SeqC FormatArc ArcFeedC EOL
END
NEXTQuadrant
END
END
END
IF LastFeat?
TurnCRCOff
END
END
NEXTFeat
RETURN

AutoCycCutSub1: {part 1}
CalcACSRXY {calc tool position, CalcAutoCycleStatusRecordXY}
SaveSubStatus {save tool position}
SetPass1 {element cut moves}
SetSRXYtoSP
IF Repeats? AND ZShiftOnly?
EntryMove
END
SeqC IncValue EOL
RETURN

AutoCycCutSub2: {part 2}
SeqC AbsOrInc EOL
SeqC
IF FIFO?
FeedC ZCP2 FeedEntC
ELSE
Rapid ZCP2 {Removed C from Rapid - JHE}
END
EOL
SetSRSubXY {restore SR to 1st position value}
SetSRSubMove
ReSetPass2 {restore for positioning moves}
RETURN

Milling:
EntryMove
ToolPath
RETURN

XYZRep:
CycleWarning
FindAnyZMoves
EachRep
DoCycleComment
IF FirstCycle?
EntryMove
ELSE
CRCOffC
IF FeedConnect?
IF SPXMove? OR SPYMove?
SeqC FeedC MoveSXYC EOL
END
IF ZShiftOnly?
EntryMove
ELSE
IF NOT NoZMoves?
EntryMove
END
END
ELSE
IF SPXMove? OR SPYMove?
SeqC Rapid MoveSXYC EOL {Removed C from Rapid - JHE}
END
IF FeedEntry?
SeqC Rapid ZCP2 EOL {Added Rapid & removed C from ZCP2 - JHE}
END
EntryMove
END
END
ToolPath
SeqC ExitMove EOL
NextRep
RETURN

NoRepAutoCycle:
EACHFeat
DoCycleComment
IF SPXMove? OR SPYMove?
IF FIFO?
{Rapid} {Removed - JHE}
END
SeqC Rapid MoveSXYC EOL {Removed C from Rapid - JHE}
END
AutoCycCutSub1
Milling
AutoCycCutSub2
NEXTFeat
RETURN

XYZRepAutoCycle:
CycleWarning
EachRep
DoCycleComment
IF NOT FirstCycle?
IF FIFO?
{Rapid} {Removed - JHE}
END
SeqC Rapid StrtPos EOL {Removed C from Rapid - JHE}
IF NOT FeedConnect?
SeqC Rapid ZCP2 EOL {Added Rapid & removed C from ZCP2 - JHE}
END
END
EACHFeat
IF NOT FirstFeat?
DoCycleComment
END
IF SPXMove? OR SPYMove?
IF FIFO?
{Rapid} {Removed - JHE}
END
SeqC Rapid MoveSXYC EOL {Removed C from Rapid - JHE}
END
AutoCycCutSub1
Milling
AutoCycCutSub2
NEXTFeat
SeqC CRCOffC
LoadFeat Num#('0') Num#('0') PRIME ClearancePlane2#
IF ZMove?
ExitMove
END
EOL
NextRep
RETURN

ZonlyRepAutoCycle:
EACHFeat
DoCycleComment
IF SPXMove? OR SPYMove?
IF FIFO?
{Rapid} {Removed - JHE}
END
SeqC Rapid MoveSXYC EOL {Removed C from Rapid - JHE}
END
AutoCycCutSub1
EachRep
IF NOT FirstCycle?
IF FeedConnect?
DoCycleComment
IF SPXMove? OR SPYMove?
SeqC FeedC MoveSXYC FeedEntC EOL
END
AbsOrInc
ELSE
SeqC AbsOrInc ExitMove EOL
DoCycleComment
IF SPXMove? OR SPYMove?
SeqC IncValue Rapid MoveSXYC EOL {Removed C from Rapid - JHE}
AbsOrInc
END
IF FeedEntry? AND NOT FIFO?
SeqC Rapid ZCP2 EOL {Removed C from Rapid - JHE}
END
END
EntryMove
SeqC IncValue EOL
END
ToolPath
NextRep
AutoCycCutSub2
NEXTFeat
RETURN

DrillStuff:
IF RetractToCP1?
LoadFeat Num#('0') Num#('0') ClearancePlane1#
ELSE
LoadFeat Num#('0') Num#('0') ClearancePlane2#
END
IF ZMove?
SeqC Rapid MoveZ EOL
END
GetCycle
RETURN

CheckPass:
IF AutoCycle? {use the correct StrtPos}
SetPass2
ELSE
SetPass1
END
RETURN

SkipToLastFeat:
EachFeat
IF LastFeat?
TrackXNO# SPX#
TrackYNO# SPY#
END
NextFeat
RETURN

SetDrillEndOpZ:
IF RetractToCP1?
TrackZNO# ClearancePlane1#
ELSE
TrackZNO# ClearancePlane2#
END
RETURN

GetStartOfSameTool:
DoPartCycleComment
DoOpComments
DoPostScript
CheckPass
RETURN

MasterSub:
IF FirstOperation?
IF MultipleParts? AND OneToolAllParts? AND NOT FirstPart?
ELSE
DoPartCycleComment
DoOpComments
DoPostScript
Seq AbsOrInc EOL
SeqC Rapid ' Z150. T0' SpinOff CoolOff EOL { OfstOff }
SeqC Rapid ' X0 Y0' EOL { ToolChngMove }
SeqC Plane OpToolID EOL
CheckPass
SeqC Rapid StrtPos ZCP1 GetSpindle CoolOn EOL
END
ELSE
IF NewTool?
IF MultipleParts? AND OneToolAllParts? AND NOT FirstPart?
ELSE

{Finish off last Operation}

IF MultipleParts? AND OneToolAllParts? AND FullUp?
SeqC Rapid ' Z150. T0' EOL {OfstOff}
END
DoEndOpPS
SeqC ' L1 N2 N3' EOL { Call ToolChng Blocks}
IF ToolChangeAtHome?
SeqC Rapid PRIME Home EOL
END
IF LAST ProgStop?
SeqC ' M0' EOL
ELSE
SeqC ProgStop EOL
END

{Start new Operation}

DoPartCycleComment
DoOpComments
DoPostScript
Seq Plane OpToolID EOL
CheckPass
SeqC Rapid StrtPos ZCP1 GetSpindle CoolOn EOL
END
ELSE
IF SameTool?
DoEndOpPS
IF LAST ProgStop?
SeqC Rapid ' Z150. T0' SpinOff EOL {OfstOff}
SeqC ' M0' EOL

{Start new Operation}

GetStartOfSameTool
SeqC PlaneC OpToolID EOL
SeqC Rapid StrtPos ZCP1 GetSpindle CoolOn EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqC CoolOff EOL
END
IF NewToolOffset?
SeqC Rapid ' Z150. T0' EOL {OfstOff}

{Start new Operation}

GetStartOfSameTool
SeqC PlaneC OpToolID EOL
SeqC Rapid StrtPos ZCP1 GetSpindle EOL
ELSE

{Start new Operation}

GetStartOfSameTool
SeqC PlaneC EOL
SeqC Rapid StrtPos GetSpindle EOL
END
IF NOT CoolOff? AND LAST CoolOff?
SeqC CoolOn EOL
END
END
END
END
END {common point for all operations}
RapidF# { No Output }
IF Milling?
SeqC Rapid ZCP2 EOL {Removed C from Rapid & ZCP2 - JHE}
IF AutoCycle?
IF Repeats?
IF ZShiftOnly?
ZonlyRepAutoCycle
ELSE
XYZRepAutoCycle
END
IF NOT FeedConnect?
SeqC ExitMove2 EOL
END
ELSE
NoRepAutoCycle
SeqC ExitMove2 EOL
END
SetPass1
ELSE { NOT AutoCycle }
IF Repeats?
XYZRep
ELSE
Milling
END
SeqC ExitMove2 EOL
END
ELSE
IF Drilling?
IF Repeats?
EachRep
DoCycleComment
IF FirstCycle?
DrillStuff
END
ToolPath
NextRep
ELSE
DrillStuff
ToolPath
END
SetDrillEndOpZ
SeqC Rapid ZCP3 EOL
END
END
RETURN

EndPartSub:
{End of program ************************************************************}

{finish last operation}
IF MultipleParts? AND OneToolAllParts? AND FullUp?
SeqC Rapid ' Z150. T0' EOL {OfstOff}
END
DoEndOpPS
SeqC ' L1 N2 N3' EOL { Call ToolChng Blocks}
IF FIRST ToolChangeAtHome? {.71.2 added FIRST modifier}
SeqC Rapid PRIME FirstHome EOL
END
IF ProgStop?
SeqC ' M0' EOL
ELSE
IF MultipleParts? AND AllToolsOnePart? AND NOT LastPart?
SeqC ProgStop EOL
END
END
RETURN

DoNewPart:

{Finish off last Part}

IF FullUp?
SeqC Rapid ' Z150. T0' EOL {OfstOff}
END
{DoEndOpPS}

{Start new Part}

GetStartOfSameTool
IF FullUp?
SeqC Rapid StrtPos ZCP1 GetSpindle CoolOn EOL
ELSE
SeqC Rapid StrtPos GetSpindle EOL
END
EOL
RETURN

MPLoop:
Save# Num#('2') Recall# Num#('1')
IF WorkFixtureOffsets?
NewWFO
EachWFO
ELSE
EachPart
END
IF AllToolsOnePart?
EachOp
MasterSub
NextOp
EndPartSub
ELSE { OneToolAllParts }
EachOp
IF Equal? Operation# Recall# Num#('2') { Tool First Op }
IF FirstOperation? OR NewTool?
IF NOT FirstPart?
DoNewPart
END
END
MasterSub
IF LastOp?
IF LastPart?
Save# Num#('1') Num#('0')
END
Save# Num#('2') Recall# Num#('1')
ELSE
IF NEXT SameTool?
Save# Num#('2') NEXT Operation#
ELSE
IF LastPart?
Save# Num#('1') NEXT Operation#
Save# Num#('2') Num#('0')
ELSE
Save# Num#('2') Recall# Num#('1')
END
END
END
END
NextOp
END
IF WorkFixtureOffsets?
IncWFO
NextWFO
ELSE
NextPart
END
RETURN

{Start of executable Prog **************************************************}

{setup and initializations}
InitProg
TagInit
ReverseXZArcs
SetFlood
SetMaxRPM('6300')
IF Metric?
SetMaxFeed('2540')
ELSE
SetMaxFeed('100')
END
Save# Num#('1') Num#('0') { MultipleParts Current Tool FirstOp# }
Save# Num#('2') Num#('0') { MultipleParts ToolOp# Counter }
SetFlagF('2') { TurnCRCOn and ckMove }
IF PSComment? AND UseComments?
'PostScript:' EOL
' Literals: put between single or double quotes.' EOL
' Separate commands and literals with at least one space.' EOL
' A CR ( RETURN key ) will start a new line.' EOL
' Commands: may be capital and/or lower case letters. Separate commands with a space.' EOL
' EndOP -' EOL
' all literals and commands before an ENDOP command' EOL
' will appear at the beginning of the operation. All ' EOL
' literals and commands after an ENDOP command will appear' EOL
' at the end of the operation. ' EOL
' 4thAxisCW(12.5), 4ACW(12.5) -' EOL
' generates a + A move of the value you specify' EOL
' 4thAxisCCW(22.5), 4ACCW(22.5) -' EOL
' generates a - A move of the value you specify' EOL
' 5thAxisCW(30), 5ACW(30) -' EOL
' generates a + B move of the value you specify' EOL
' 5thAxisCCW(22.5), 5ACCW(22.5) -' EOL
' generates a - B move of the value you specify' EOL
END
EOR EOL
'(&%' ProgNum '/000000"' ProgramName$ ')' EOL { $ = Inch; & = Metric }
EachOp
IF FirstOperation?
IF ToolChangeAtHome?
SetHome
END
END
NextOp
IF UseComments?
IF ProgramNameComment?
'( PROGRAM: ' ProgramName$ ' )' EOL
END
IF ProgramComment?
'( ' ProgramComment$ ' )' EOL
END
IF FormatNameComment?
'( FORMAT: ' FormatName$ ' )' EOL
END
IF TimeComment?
'( ' Date$ ' AT ' Time$ ' )' EOL
END
IF MovesComment?
'( OUTPUT IN ' MoveType$ ' MILLIMETERS )' EOL
END
IF PartsComment?
'( PARTS PROGRAMMED: ' Parts# ' )' EOL
END
IF StartToolComment?
'( FIRST TOOL NOT IN SPINDLE )' EOL
END
END
OpenSub
RestoreScale
IF MultipleParts?
IF WorkFixtureOffsets?
'NOTE: This Post Processor does not support Work Fixture Offsets for Multiple Parts.' EOL
'It is recommended that you change your selection to Equally Spaced Offsets.' EOL
END
IF AllToolsOnePart?
MPLoop
ELSE
EachOp
IF FirstOperation?
Save# Num#('1') Operation#
END
NextOp
MPLoop MPLoop MPLoop MPLoop MPLoop
MPLoop MPLoop MPLoop MPLoop MPLoop
MPLoop MPLoop MPLoop MPLoop MPLoop
MPLoop MPLoop MPLoop MPLoop MPLoop
MPLoop MPLoop MPLoop MPLoop MPLoop
EndPartSub
END
ELSE
EachOp
MasterSub
NextOp
EndPartSub
END
SeqC EOP EOL
CloseSub
Post2 {organize Subs into one program}
Close
IF UseComments?
SetScale('1') {restore scale for comments}
Reopen
IF FileBytesComment?
'( FILE LENGTH: ' FileBytes# ' CHARACTERS )' EOL
END
IF FileFeetComment?
'( FILE LENGTH: ' FileFeet# ' FEET )' EOL
END
IF FileMetersComment?
'( FILE LENGTH: ' FileMeters# ' METERS )' EOL
END
Close
END
Reopen
'?' EOL
'0000' EOL
Close


Wyszukiwarka

Podobne podstrony:
Deckel Dialog 4 [HM] MV58 89
Deckel Dialog 4 [SS] M276 89
Deckel Dialog 4 M248 89
Deckel Dialog 3 NERA M902 79 3m
Mazatrol M32 Mz [NM] MX55 89 7m
Deckel Dialog 2 Ver M778 80 6
Deckel Dialog 3 M247 79
Heid TNC 155 [FS] MY83 89 3m
Deckel Dialog 2 Hor M794 80 6
Fs 1 (tusługa za transport)
Bandit IV AB [DM] MV32 89 1
42 30 Marzec 2000 Dialog na warunkach

więcej podobnych podstron