// ---------------------------------------- // // The following SmartCAM code generator has been // created to generate NC code for the respective // machine and control combinations listed below. // // Due to differences in programming styles, // controller versions, and optional equipment, // SmartCAMcnc DOES NOT and CANNOT guarantee // that the NC code generated is correct for any // specific machine. Some modification to the code // generator to match your setup and output // requirements is likely necessary. // // Modifications to code generators do not TYPICALLY // require a significant amount of time. SmartCAM // customers with active SMA contracts are entitled // to support for their code generators from the // SmartCAMcnc Support Group. To contact them for // support, please send an email to: // Support@SmartCAMcnc.com. If you would like // information on purchasing SMA for your SmartCAM // products, please contact: Sales@SmartCAMcnc.com // // DISCLAIMER: It is the responsibility of the end // user to confirm and verify that the NC code // created by any code generator is accurate and // will not cause a machine malfunction which // could result in stock, tooling, machine, and/or // personal injury. // // SmartCAMcnc assumes no responsibility or // liability for any damage caused or alleged to // have been caused by the use of any of the code // generators it provides. // ---------------------------------------- @COMMENTS 05/23/90 Machine: Lathe w/ GE7500 Control @START #FILE #DATE % #ONBLK G90 G92 X#FMT(#XPOS,T2.1) Z#FMT(#ZPOS,T2.0) G90 #IF(#LTOOL<#TOOL,AND#TOOL-#LTOOL<3)<#EVAL(#C1=0)> #IF(#LTOOL<#TOOL,AND#TOOL-#LTOOL>=3)<#EVAL(#C1=1)> #IF(#LTOOL>#TOOL,AND#LTOOL-#TOOL<3)<#EVAL(#C1=1)> #IF(#LTOOL>#TOOL,AND#LTOOL-#TOOL>=3)<#EVAL(#C1=0)> T#TOOL#FMT(#TOOL,T1.0)2 #C1 #IF(#U2=0)< #SPMODE S#SPEED M13> #IF(#U2=11)< #SPMODE S#SPEED M11> #IF(#U2=12)< #SPMODE S#SPEED M12> #SPNDL #NEXTPT #IF(#U1=0)<#EVAL(#C2=0) G01 X#XPOS Z#ZPOS #RFEED #C2> #IF(#U1=1)< G01 X#XPOS Z#ZPOS #RFEED> #FDMODE @TOOLCHG T00#FMT(#LTOOL,T1.0)2 #IF(#U1=0)<#EVAL(#C2=1) #C2> #IF(#U1=1)<#EVAL(#U1=0)> #MOV X#FMT(#XPOS,T2.1) Z#FMT(#ZPOS,T2.0) #RFEED G90 #IF(#LTOOL<#TOOL,AND#TOOL-#LTOOL<3)<#EVAL(#C1=0)> #IF(#LTOOL<#TOOL,AND#TOOL-#LTOOL>=3)<#EVAL(#C1=1)> #IF(#LTOOL>#TOOL,AND#LTOOL-#TOOL<3)<#EVAL(#C1=1)> #IF(#LTOOL>#TOOL,AND#LTOOL-#TOOL>=3)<#EVAL(#C1=0)> T#TOOL#FMT(#TOOL,T1.0)2 #C1 #IF(#U2=0)< #SPMODE S#SPEED M13> #IF(#U2=11)< #SPMODE S#SPEED M11> #IF(#U2=12)< #SPMODE S#SPEED M12> #SPNDL #NEXTPT #IF(#U1=0)<#EVAL(#C2=0)> G01 X#XPOS Z#ZPOS #RFEED #C2 #FDMODE #EVAL(#U1=0) #EVAL(#U2=0) @END T00#FMT(#LTOOL,T1.0)2 M09 #MOV X#FMT(#XHOME,T2.1) Z#FMT(#ZHOME,T2.0) #RFEED M05 M30 #OFFBLK @STPROF #EVAL(#U3=1) < #MOV>< X#XPOS>< Z#ZPOS>< #RFEED> @RAP #EVAL(#U3=1) < #MOV>< X#XPOS>< Z#ZPOS>< #RFEED> @LINE #IF(#U3=1)<#RESET(#FEED)> < #MOV>< X#XPOS>< Z#ZPOS>< F#FEED>< S#SPEED> @ARC #RESET(#FXD) < #MOV>< X#XPOS>< Z#ZPOS> I#XCTR K#ZCTR< F#FEED>< S#SPEED> @FXD1 #FXD< X#XPASS>< Z#ZPASS>< I#XOV>< K#V1>< D#FMT(#V2,T1.4)>< F#FTHRD> A60 @FXD2 < G00< X#XPOS> Z#ZPOS> < #FXD>< X#XPASS>< Z#ZPASS>< F#FEED> @FXD3 < G00 X#XPOS > < #FXD>< X#XPASS>< Z#ZPASS>< F#FEED> @FXD4 G1 Z#ZPASS F#FEED #SPNDL M5 #IF(#SPNDL=1)<#EVAL(#SPNDL=2)>#ELSE<#EVAL(#SPNDL=1)> G1 Z#ZPOS F#FEED #SPNDL @FXD5 #EVAL(#V0=4) #EVAL(#V9=0) < #MOV> X#XPOS Z#ZPOS #EVAL(#V1=#ZPOS) #EVAL(#V4=#ZPASS) #EVAL(#V2=ABS(#V4)/#PECK) #EVAL(#V2=INT(#V2)+1) #REPEAT(#(#V2))<#CALL(PECK)> @PECK #EVAL(#V1=#V1-#PECK) #EVAL(#V3=#V1+.03) #IF(#V1>#V4) < G1 Z#V1< F#FEED> G01 Z#V3 F8> #IF(#V1<=#V4) < G1 Z#V7< F#FEED> #IF(#V6=#ZPASS)< G01 Z#V6 F8>#ELSE< G01 Z#ZPOS F8>> @ @DWELL G04 P#DWELL#EVAL(#TIME=#DWELL/60) @M00 M00 G90 T#TOOL#FMT(#TOOL,T1.0)2 @