plik


{Change Comments ***********************************************************} {7/24/90, Added InitProg globally to posts with this remark, DWB} {4/29/91, Modified: Strippit Punch M079.54 For: Gibbs & Associates Updated to new 4.0 Version per Fanuc 6M M001.80 DWB} {11/16/95 Initial: Strippit Punch M079.79 Created: Strippit Punch M079.81.3 Develop: ComPost 4.21.33, ncCAD 4.33.01, ncCAM 4.33, ncPost 4.33.08 Comment: Updated per Fanuc 6M NoSubs M001.81.3 Jim Radcliffe} {11/16/95 Initial: Strippit Punch M079.81.3 Created: Strippit Punch M000.81.3 ForUser: Hughes Aircraft Radar El Segundo Control: GE Mark Centruy 1050 Machine: Strippt FC75-30 Develop: ComPost 4.21.33, ncCAD 4.33.01, ncCAM 4.33, ncPost 4.33.08 Comment: New Processor per edited output and conversation with Curtis Rolland Changed Y labels to Z Changed to output decimal points. Separated X and Y start positions with M67 & M68 in first operation. Added AbsOrInc to 1st op. CChanged codes in MachSpec to G90/G91. Jim Radcliffe} {Prog Numeric Format Definitions *******************************************} #1 = '#.00' #2 = '###.###;0' #3 = '*###.###;0' #4 = '####.####;0' #5 = '#######0' #6 = '####^##0' #7 = '.###;0' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(StartPosX#,2) FORMAT(StartPosY#,2) 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} FORMAT(FeedContour#,7) {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 DoSubComment: IF UseComments? AND SubComment? '( CYCLE START )' EOL END RETURN DoOpComments: IF UseComments? SetScale('1') IF MultipleParts? AND SubComment? '( PART ' Tag# ' )' EOL END 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 SeqC PostScript EOL {literals} PSStuff {commands} NextPS RETURN DoEndOpPS: PSInit EachEOPS SeqC EndOpPS EOL {literals} PSStuff {commands} NextPS RETURN FormatArc: IF ArcCW? CWArc ELSE CCWArc END MoveXYZC ArcIJC RETURN StdRapid: IF XMove? OR YMove? OR ZMove? SeqC RapidC MoveXYZC EOL END RETURN StdLine: {enables CRC on first call, .70} IF XMove? OR YMove? OR ZMove? SeqC FeedC MoveXYZC EOL END RETURN StdArc: EACHQuadrant SeqC FormatArc EOL NEXTQuadrant RETURN ToolPath2: {for AutoCycle element moves} EACHFeat IF RapidFeat? StdRapid ELSE IF LineFeat? StdLine ELSE IF ArcFeat? StdArc END END END NEXTFeat RETURN CutAutoCycle: SaveSubStatus {save tool position} SetPass1 {element cut moves} SetSRXYtoSP SeqC IncValue EOL ToolPath2 SeqC AbsOrInc EOL SetSRSubXY {restore tool position} SetSRSubMove ReSetPass2 {restore for positioning moves} RETURN ToolPath: EACHFeat IF PointFeat? IF AutoCycle? IF NOT FirstFeat? SeqC IF FIFO? Rapid END MoveSXYC EOL END CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY} CutAutoCycle ELSE SeqC MoveSXYC EOL END ELSE IF RapidFeat? StdRapid ELSE IF LineFeat? StdLine ELSE IF ArcFeat? StdArc END END END END NEXTFeat RETURN WFOStuff: { NOTE: This Post Processor does not support WorkFixtureOffsets. } RETURN CheckPass: IF AutoCycle? {use the correct StrtPos} SetPass2 ELSE SetPass1 END RETURN DoOp: IF FirstOperation? IF MultipleParts? AND OneToolAllParts? AND NOT FirstPart? DoOpComments WFOStuff ELSE SeqC 'G00' EOL SeqC AbsOrInc EOL SeqC Preset 'X30.Z30.' EOL Plane {no output} Rapid {no output} DoOpComments DoPostScript Seq OpToolID EOL SeqC 'X16.388M00' EOL END CheckPass IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane? AND NOT FirstPart? SeqC StrtPos EOL ELSE SeqC 'X' StartPosX# 'M67' EOL {M67 = Punches Off} SeqC 'Z' StartPosY# 'M68' EOL {M68 = Punches On} END ELSE IF NewTool? IF MultipleParts? AND OneToolAllParts? AND NOT FirstPart? {only need to set up for tool change on 1st part} ELSE DoEndOpPS END {Start new Operation} IF MultipleParts? AND OneToolAllParts? AND NOT FirstPart? DoOpComments WFOStuff ELSE DoOpComments DoPostScript Seq OpToolID EOL END CheckPass IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane? AND NOT FirstPart? SeqC StrtPos EOL ELSE SeqC StrtPos EOL END ELSE IF SameTool? DoEndOpPS {Start new Operation} Plane {no output} DoOpComments DoPostScript CheckPass SeqC StrtPos EOL END END END {common point for all operations} IF Milling? IF Repeats? EACHRep DoSubComment IF NOT FirstCycle? SeqC Connect StrtPos EOL END END SeqC 'F' FeedContour# EOL {feedrate is punch spacing} ToolPath IF Repeats? NEXTRep END ELSE IF Drilling? IF Repeats? EACHRep DoSubComment END Rapid {no output} ToolPath IF Repeats? NEXTRep END END END RETURN FinishLastOp: DoEndOpPS RETURN DoToolsOps: EachOp IF GTEqual? Operation# Recall# Num#('1') AND LTEqual? Operation# Recall# Num#('2') {Tools1stOp ² op ² ToolsLastOp} DoOp END NextOp RETURN NextTools1stOp: SetNextToolOp Operation# RETURN GetToolsOps: EachOp IF Equal? Operation# Recall# Num#('1') {if op = Tools1stOp} IF GreaterThan? NextTools1stOp Recall# Num#('1') {if NextTools1stOp is greater Tools1stOp} Save# Num#('2') SUB# NextTools1stOp Num#('1') {ToolsLastOp becomes NextTools1stOp less 1} ELSE {else} Save# Num#('2') Recall# Num#('3') {ToolsLastOp becomes ncCAMsLastOp} END END NextOp RETURN DoTool: IF NOT Flag?('1') GetToolsOps IF WorkFixtureOffsets? '( This Procesor does not Support Work Fixture Offsets! )' EOL '( The Multiple Parts are being processed with the Equally Spaced )' EOL '( Offsets values! I suggest you make sure that they are set properly! )' EOL END EachPart TagInc DoToolsOps NextPart IF LessThan? Recall# Num#('2') Recall# Num#('3') {if ToolsLastOp < ncCAMsLastOp} Save# Num#('1') ADD# Recall# Num#('2') Num#('1') {Tools1stOp becomes NextTools1stOp} ELSE {else} SetFlag('1') {set DoneFlag} END TagInit END RETURN {Start of executable Prog **************************************************} {setup and initializations} InitProg TagInit SetFlagF('1') {done flag} ReverseXZArcs NoIJKSigns SetAbsOrInc 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? EOR EOL 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 END OpenSub RestoreScale END NextOp IF MultipleParts? IF AllToolsOnePart? IF WorkFixtureOffsets? '( This Procesor does not Support Work Fixture Offsets! )' EOL '( The Multiple Parts are being processed with the Equally Spaced )' EOL '( Offsets values! I suggest you make sure that they are set properly! )' EOL END EachPart TagInc EachOp DoOp NextOp FinishLastOp NextPart ELSE IF OneToolAllParts? EachOp IF FirstOperation? Save# Num#('1') Operation# {ncCAMs1stOp becomes Tools1stOp} END IF LastOp? Save# Num#('3') Operation# {save ncCAMsLastOp} END NextOp DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool FinishLastOp END END ELSE EachOp DoOp NextOp FinishLastOp END SeqC 'X30.Z30.M67' EOL {M67 = Punches Off} SeqC UnTool EOL SeqC EOP EOL CloseSub Post2 IF UseComments? SetScale('1') 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:
Strippit Punch M079 81 3
Fanuc 10M (AGA) M147 81 2
Tosnuc 600M VMC 45 M442 81 3
DM 81 Diper Kenwooda
BP IIA (HAC) M200 81
30 (81)
stripPEC log
Artran Contour MV83 81
Yas MX3 Mat [AbsZAC] M591 81 2
Widgets hr
Działania pionu HR po ocenach okresowych ebook demo
Kamera DVS 650IR HR Instrukcja Obslugi
T81 2

więcej podobnych podstron