XYZ only M316 81 2


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

{7/8/94
Copied & modified: Fanuc 6M M001.81.2
For: I.C.E., Inc
He wants to use this processor to get points on a surface by running a zero dia ball end mill
on an imported surface received from his customer with boundrys control surfaces etc. He does
not want to use this processor for any other purposes.
Outputting only XYZ coordinate data to be used to import into ncCAD.
All feed moves are output. Only rapid moves output are those that are followed by a feed move.
If "Out and Over" is used on a surface, be sure that ALL 3 clearnce move selections are Rapid!.
Jim Radcliffe}

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

#1 = '#.00'
#2 = '###.###;0.'
#3 = '*###.###;0.'
#4 = '####.####;0.'
#5 = '#######0'
#6 = '####^##0'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ToolDiameter#,4) {.72}
FORMAT(Program#,5) {.72}
FORMAT(Operation#,5) {.72}
FORMAT(Tool#,5) {.72}
FORMAT(NewWFO#,5) {.72}
FORMAT(Parts#,5) {.72}
FORMAT(Dwell#,6) {.72}

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

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

DoOpComments:
IF UseComments?
SetScale('1')
IF OperationIDComment?
'( OPERATION ' Operation# ': ' OperationType$ ' )' EOL
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: {reset flags}
RETURN

PSStuff: {revised.72}
RETURN

DoPostScript:
PSInit
EachPS
PostScript EOL {literals}
PSStuff {commands}
NextPS
RETURN

DoEndOpPS:
PSInit
EachEOPS
EndOpPS EOL {literals}
PSStuff {commands}
NextPS
RETURN

ToolPath:
EACHFeat
IF PointFeat?
MoveSX MoveSY MoveSZ EOL
ELSE
IF RapidFeat?
IF NEXT LineFeat? { suppress all rapid moves }
ASCII('13') EOL { blank line between step over for "Out & Over" selection }
MoveXYZ EOL { output the next feed moves start point }
END
ELSE
IF LineFeat?
MoveXYZ EOL
ELSE
IF ArcFeat?
EACHArcSegment
MoveXYZ EOL
NEXTArcSegment
END
END
END
END
NEXTFeat
RETURN

CheckOperation:
IF MultipleParts?
'( Multiple Parts are not supported in this Processor )' EOL
END
IF Repeats?
'( Repeated operations are not supported in this Processor )' EOL
END
IF Drilling?
'( Drilling is not supported in this Processor )' EOL
END
IF AutoCycle?
'( Auto Cycles are not supported in this Processor )' EOL
END
SetPass1
RETURN

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

{setup and initializations}
InitProg
SetArcSegmentAccuracy('.001')
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
END
EachOp {Start of post processing *********************}
IF FirstOperation?
IF ToolChangeAtHome?
SetHome
END
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$ ' INCHES )' EOL
END
IF PartsComment?
'( PARTS PROGRAMMED: ' Parts# ' )' EOL
END
IF StartToolComment?
'( FIRST TOOL NOT IN SPINDLE )' EOL
END
END
OpenSub
RestoreScale
DoOpComments
DoPostScript
CheckOperation
StrtPos
ELSE
IF NewTool?

{Finish off last Operation}

DoEndOpPS

{Start new Operation}

DoOpComments
DoPostScript
CheckOperation
StrtPos
ELSE
IF SameTool?

{Finish off last Operation}

DoEndOpPS

{Start new Operation}

DoOpComments
DoPostScript
CheckOperation
StrtPos
END
END
END {common point for all operations}
IF Milling?
IF Repeats? OR AutoCycle?
EOL
ELSE
ZIn EOL
ToolPath
END
ELSE
EOL
END
NextOp {loops back to EachOP until last Operation}

{End of program ************************************************************}

{Finish off last Operation}

DoEndOpPS

CloseSub
Post2 {organize Subs into one program}
IF UseComments?
SetScale('1') {restore scale for comments}
IF FileBytesComment?
'( FILE LENGTH: ' FileBytes# ' CHARACTERS )' EOL
END
IF FileFeetComment?
'( FILE LENGTH: ' FileFeet# ' FEET )' EOL
END
IF FileMetersComment?
'( FILE LENGTH: ' FileMeters# ' METERS )' EOL
END
END
Close


Wyszukiwarka

Podobne podstrony:
Fanuc 10M (AGA) M147 81 2
Tosnuc 600M VMC 45 M442 81 3
DM 81 Diper Kenwooda
BP IIA (HAC) M200 81
Depeche Mode Only When I Lose Myself
30 (81)
The Complete Pentium Instruction Set Table (32 Bit Addressing Mode Only)
Artran Contour MV83 81
xyz blh
Yas MX3 Mat [AbsZAC] M591 81 2
T81 2
node S0281

więcej podobnych podstron