{Change Comments ***********************************************************}
{4/9/88,
Copied & modified: Fanuc 6M M001
WFG}
{10/3/89,
Changed EOL FORMAT in Mach Spec from ',6 CR' to ',,CR' and added literal ',6' at all
EOL's in Prog so that output will be ',6,,CR'.
This is the same as entering ASCII line terminators 44 54 44 44 13 in Mach Specs.
Mach specs only allows for 4 entries, and this Post Processor requires 5 entries.
Added IF NOT EmptyLine? to only output ',6' where needed, including DoPostScript and DoEndOpPS.
JC}
{10/5/89,
Deleted ',6' EOL from FormatArc to eliminate extra EOL's on ArcMoves.
JC}
{7/24/90, Added InitProg globally to posts with this remark, DWB}
{4/29/91,
Modified: Tree Journeyman 200 M187.59
For: Gibbs & Associates
Updated to new 4.0 Version per Fanuc 6M M001.80
DWB}
{Prog Numeric Format Definitions *******************************************}
#1 = '#.00'
#2 = '###.###;0.'
#3 = '*###.###;0.'
#4 = '####.####;0.'
#5 = '########;0'
#6 = '####^###;'
#7 = '00^####;0'
#8 = '00;00'
#9 = '0;0'
FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ToolDiameter#,4) {.72}
FORMAT(Operation#,5) {.72}
FORMAT(Tool#,5) {.72}
FORMAT(NewWFO#,5) {.72}
FORMAT(Parts#,5) {.72}
FORMAT(Dwell#,6) {.72}
FORMAT(HomeX#,7)
FORMAT(HomeY#,7)
FORMAT(StartPosX#,7)
FORMAT(StartPosY#,7)
FORMAT(EPX#,7)
FORMAT(EPY#,7)
FORMAT(SPX#,7)
FORMAT(SPY#,7)
FORMAT(ArcI#,7)
FORMAT(ArcJ#,7)
FORMAT(ArcR#,7)
FORMAT(FeedContour#,8)
FORMAT(Program#,9) {.72}
FORMAT(JStartQ#,9)
FORMAT(NumQuads#,9)
{Prog Subroutines **********************************************************}
GetEOL:
IF NOT EmptyLine?
',6' EOL
END
RETURN
DoOpComments:
IF UseComments?
SetScale('1')
IF OperationIDComment?
'( OPERATION ' Operation# ': ' OperationType$ ' )' GetEOL
END
IF OperationComment?
'( ' OperationComment$ ' )' GetEOL
END
IF WorkGroupComment?
'( ' WorkGroupComment$ ' )' GetEOL
END
IF ToolTypeComment?
'( TOOL ' Tool# ': ' ToolDiameter# ' ' ToolType$ ' )' GetEOL
END
IF ToolComment?
'( ' ToolComment$ ' )' GetEOL
END
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
END
RETURN
PSInit: {reset flags}
RETURN
PSStuff: {revised.72}
RETURN
DoPostScript:
PSInit
EachPS
SeqC PostScript GetEOL {literals}
PSStuff {commands}
NextPS
RETURN
DoEndOpPS:
PSInit
EachEOPS
SeqC EndOpPS GetEOL {literals}
PSStuff {commands}
NextPS
RETURN
FormatArc:
'1' ArcI#
',2' ArcJ#
',7' ArcR#
',1' EPX#
',2' EPY#
IF ArcCW?
',52' JStartQ#
ELSE
',51' JStartQ#
END
NumQuads#
RETURN
ToolPath:
EACHFeat
IF PointFeat?
IF NOT FirstFeat?
'09,1' SPX# ',2' SPY# GetEOL
END
ELSE
IF RapidFeat?
'499'
',1' EPX#
',2' EPY# GetEOL
ELSE
IF FirstFeat? OR LAST RapidFeat?
'4' FeedContour# ','
END
IF LineFeat?
'1' EPX#
',2' EPY# GetEOL
ELSE
IF ArcFeat?
FormatArc GetEOL
END
END
END
END
NEXTFeat
RETURN
CheckPass:
IF AutoCycle? {use the correct StrtPos}
SetPass2
ELSE
SetPass1
END
RETURN
{Start of executable Prog **************************************************}
{setup and initializations}
InitProg
ReverseXZArcs
'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
END
EachOp {Start of post processing *********************}
IF FirstOperation?
IF ToolChangeAtHome?
SetHome
END
IF UseComments?
IF ProgramNameComment?
'( PROGRAM: ' ProgramName$ ' )' GetEOL
END
IF ProgramComment?
'( ' ProgramComment$ ' )' GetEOL
END
IF FormatNameComment?
'( FORMAT: ' FormatName$ ' )' GetEOL
END
IF TimeComment?
'( ' Date$ ' AT ' Time$ ' )' GetEOL
END
IF MovesComment?
'( OUTPUT IN ' MoveType$ ' INCHES )' GetEOL
END
IF PartsComment?
'( PARTS PROGRAMMED: ' Parts# ' )' GetEOL
END
IF StartToolComment?
'( FIRST TOOL NOT IN SPINDLE )' GetEOL
END
END
OpenSub
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
Plane { no output }
',,,4' Program# ',,6' Program# '001,,,499' GetEOL
IF MultipleParts? AND AllToolsOnePart?
EachPart
END
DoOpComments
DoPostScript
IF MultipleParts? AND OneToolAllParts? AND FullUp?
EachPart
END
CheckPass
'1' StartPosX# ',2' StartPosY# GetEOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
EachPart
END
ELSE
IF NewTool?
{Finish off last Operation}
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
NextPart
END
DoEndOpPS
IF MultipleParts? AND OneToolAllParts? AND FullUp?
NextPart
END
IF ToolChangeAtHome?
'499,1' HomeX# ',2' HomeY# GetEOL
END
{Start new Operation}
PlaneC { no output }
DoOpComments
DoPostScript
IF MultipleParts? AND OneToolAllParts? AND FullUp?
EachPart
END
CheckPass
'499,1' StartPosX# ',2' StartPosY# GetEOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
EachPart
END
ELSE
IF SameTool?
DoEndOpPS
DoOpComments
DoPostScript
CheckPass
'499,1' StartPosX# ',2' StartPosY# GetEOL
END
END
END
IF Milling?
IF Repeats?
EachRep
'499,1' StartPosX# ',2' StartPosY# GetEOL
END
ToolPath
IF Repeats?
NEXTRep
END
ELSE
IF Drilling?
IF Repeats?
EachRep
'499,1' StartPosX# ',2' StartPosY# GetEOL
END
ToolPath
IF Repeats?
NextRep
END
END
END
NextOp
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
NextPart
END
DoEndOpPS
IF MultipleParts? AND OneToolAllParts? AND FullUp?
NextPart
END
IF ToolChangeAtHome?
'499,1' HomeX# ',2' HomeY# GetEOL
END
IF MultipleParts? AND AllToolsOnePart?
NextPart
END
Post
Close
IF UseComments?
SetScale('1') {restore scale for comments}
Reopen
IF FileBytesComment?
'( FILE LENGTH: ' FileBytes# ' CHARACTERS )' GetEOL
END
IF FileFeetComment?
'( FILE LENGTH: ' FileFeet# ' FEET )' GetEOL
END
IF FileMetersComment?
'( FILE LENGTH: ' FileMeters# ' METERS )' GetEOL
END
Close
END
Wyszukiwarka
Podobne podstrony:
GN10M Tree 310 M163 79Tree IIc Journeyman M593 80 2Tree IIC M034 79p (79)AUDI 200 1990package treeWykorzystanie systemu hivamat 200 w leczeniu ran200 25200 18 (2)en 7913 79 Pistons and connecting rods assemblypackage treewięcej podobnych podstron