// ---------------------------------------- // // 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. // ---------------------------------------- @START % O#FILE(#FILE #DATE #SYSTIME PEN-003) #ONBLK ( CODED FOR FADAL 2216 W/A-AXIS INDEXER ) G0 G90 H0 Z0 M61 #IF(#INDXA<>0)< A#FMT(#INDXA,D3.4)>#ELSE< G0 A0> M60 < #PLANE> (TOOL #TOOL, #TDESC, #TLCMT) #EVAL(#V4=(#SPEED*#TLDIA*3.1416)/12) #EVAL(#V5=#FEED/#SPEED) (#FMT(#TLDIA,D1.4)" PROGRAM DIA. x #TLEN" FLUTE LENGTH) (CUTTING #FMT(#V4,D3.1) SFM AT #SPEED RPM) (CHIP LOAD = #FMT(#V5,D1.4) IPR) T#TOOL M06 #MOV X#XPOS Y#YPOS G54 #SPNDL S#SPEED /M08 M07 G43 H#TOOL Z#ZPOS #EVAL(#V6=#SPEED*.3) G04 P#FMT(#V6,T4.0) D#TOOL @TOOLCHG #FXD < #PLANE> M09 G0 G90 H0 Z0 (TOOL #TOOL, #TDESC, #TLCMT) #EVAL(#V4=(#SPEED*#TLDIA*3.1416)/12) #EVAL(#V5=#FEED/#SPEED) (#FMT(#TLDIA,D1.4)" PROGRAM DIA. x #TLEN" FLUTE LENGTH) (CUTTING #FMT(#V4,D3.1) SFM AT #SPEED RPM) (CHIP LOAD = #FMT(#V5,D1.4) IPR) T#TOOL M06 M01 #MOV X#XPOS Y#YPOS G54 #SPNDL S#SPEED /M08 M07 G43 H#TOOL Z#ZPOS #EVAL(#V6=#SPEED*.3) G04 P#FMT(#V6,T4.0) #EVAL(#U9=#TOOL) D#TOOL #RESET(#DCOMP) @STOP <#RESET(#FXD)> G0 G90 H0 Z0 G59 G00 X0.0 Y7.0 G54 M05 M00 ( INDEX WORK / MOVE CLAMPS ) G54 #MOV X#XPOS Y#YPOS T#TOOL M06 #SPNDL S#SPEED /M08 G43 H#LOFF Z#ZPOS #EVAL(#V6=#SPEED*.3) G04 P#FMT(#V6,T4.0) @END M09 G0 G90 H0 Z0 M61 #IF(#INDXA<0)< G0 G90 H0 A-0>#ELSE< G0 G90 H0 A0> G00 G59 X0.0 Y3.0 (ESTIMATED MACHINING TIME IS #FMT(#CYTIME,D3.2) MINUTES) G54 M30 #OFFBLK % @STPROF < #MOV X#XPOS Y#YPOS>< Z#ZPOS> @ENDPROF G17 #MOV Z#ZPOS G40 #RESET(#FEED,#DCOMP) @ZCLRMV < #FXD> #MOV Z#ZPOS @ZCHKMV < #MOV Z#ZPOS> @ZDPTHMV < #MOV Z#ZPOS< F#FMT(#FEED,D3.2)>> @RAP G17 #MOV< X#XPOS Y#YPOS>< Z#ZPOS> @LINE < #PLANE>< #DCOMP> #MOV< X#XPOS>< Y#YPOS>< Z#ZPOS>< F#FMT(#FEED,D3.2)> @ARC < #PLANE>< #DCOMP> #MOV< X#XPOS>< Y#YPOS> I#XCTR J#YCTR#EXLN < F#FMT(#FEED,D3.2)> @XZARC < #PLANE> #MOV< X#XPOS>< Z#ZPOS> I#XCTR K#ZCTR< F#FMT(#FEED,D3.2)> @YZARC < #PLANE> #MOV< Y#YPOS>< Z#ZPOS> J#YCTR K#ZCTR< F#FMT(#FEED,D3.2)> @HELIX < #PLANE> #MOV< X#XPOS>< Y#YPOS> Z#ZPOS I#XCTR J#YCTR< F#FMT(#FEED,D3.2)> @XZHELIX < #PLANE> #MOV< X#XPOS> Y#YPOS< Z#ZPOS> I#XCTR K#ZCTR< F#FMT(#FEED,D3.2)> @YZHELIX < #PLANE> #MOV X#XPOS< Y#YPOS>< Z#ZPOS> J#YCTR K#ZCTR< F#FMT(#FEED,D3.2)> @FXD1 < #PLANE> #EVAL(#DWELL=3/#SPEED) Z#ZPOS < #RTNLVL> #FXD< X#XPOS Y#YPOS>< Z#ZDPTH>< R#ZCHK#EXLN P#FMT(#DWELL,T1.3)>< F#FMT(#FEED,D3.2)> G80 @FXD2 < #PLANE> #EVAL(#DWELL=3/#SPEED) Z#ZPOS < #RTNLVL> #FXD< X#XPOS Y#YPOS>< Z#ZDPTH>< R#ZCHK#EXLN P#FMT(#DWELL,T1.3)>< F#FMT(#FEED,D3.2)> G80 @FXD3 < #PLANE> Z#ZPOS < #RTNLVL> #FXD< X#XPOS Y#YPOS>< Z#ZDPTH R#ZCHK>< S#SPEED F#FEED> G80 @FXD4 < #PLANE> Z#ZPOS < #RTNLVL> #FXD< X#XPOS Y#YPOS>< Z#ZDPTH>< R#ZCHK>< F#FMT(#FEED,D3.2)> G80 @FXD5 < #PLANE> #EVAL(#PECK=#TLDIA*0.5+.05) #EVAL(#V1=#TLDIA*0.4) #EVAL(#V2=#V1*0.9) #EVAL(#DWELL=3/#SPEED) Z#ZPOS < #RTNLVL> #FXD< X#XPOS Y#YPOS>< Z#ZDPTH>< R#ZCHK#EXLN P#FMT(#DWELL,T1.3) Q#FMT(#PECK,D1.3) J#FMT(#V1,D1.3) K#FMT(#V2,D1.3)>#EXLN < F#FMT(#FEED,D3.2)> G80 @DWELL G04 P#DWELL @TPINDX M61 G0 G90 A#FMT(#INDXA,D3.4) M60 @FXD #FXD