@COMMENTS ---------------------------------------- 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 SSA 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 SSA 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. ---------------------------------------- Machine: Fadal 6030 Control: CNC 88 @ @DECLARE //#OUTCND // outputs conditional status //#OUTSEC // outputs @section names //#OUTREF // outputs processing errors //#OUTRPT // outputs an error report file // Used in @PR_NUM #STR#w1 #STR#w2 @ @PR_NUM //This uses a concatination of the date and time, forming a 10 digit "number". //This assumes a date and time system setting similar to - mmddyyhhmm // get the first two characters of the date #EVAL(#w2=STRSUB(#DATE,1,2)) #EVAL(#w1=#w1#w2) // get the next two characters of the date #EVAL(#w2=STRSUB(#DATE,4,2)) #EVAL(#w1=#w1#w2) // get the last two characters of the date #EVAL(#w2=STRSUB(#DATE,7,2)) #EVAL(#w1=#w1#w2) // get the first two characters of the time #EVAL(#w2=STRSUB(#SYSTIME,1,2)) #EVAL(#w1=#w1#w2) // get the last two characters of the time #EVAL(#w2=STRSUB(#SYSTIME,4,2)) #EVAL(#w1=#w1#w2) @ @START #CALL(PR_NUM) % O#w1(#FILE) (#DATE,#SYSTIME) #ONBLK G49 G40 G90 G17 #MOV X#XPOS Y#YPOS E1 T#TOOL M06 (#TDESC) M01 #SPNDL S#SPEED F#FEED G43 H#LOFF Z#ZPOS M08 @ @TOOLCHG #IF(#TOOL=#LTOOL)<#EXIT> < #FXD> M05 M09 #MOV G91 G28 Z0 G90 X#XPOS Y#YPOS E1 G49 T#TOOL M06 (#TDESC) M01 #SPNDL #IF(#TLOP<>3) G43 H#LOFF Z#ZPOS M08 @ @END < #FXD> M05 M09 G00 G91 G28 Z0 G49 G90 X0.0 Y0.0 E0 ( CYCLE TIME= #CYTIME ) M30 #OFFBLK% @ @STPROF < #ABSI>< #FXD>< #MOV>< X#XPOS>< Y#YPOS>< Z#ZPOS> @ @ENDPROF < #MOV>< Z#ZPOS> < #DCOMP> @ @RAP < #ABSI>< #FXD>< #MOV>< X#XPOS>< Y#YPOS>< Z#ZPOS> @ @LINE < #PLANE>< #DCOMP#EXC D#DOFF>< #MOV>< X#XPOS>< Y#YPOS>< Z#ZPOS>< F#FEED> @ @ARC < #PLANE>< #MOV>< X#XPOS>< Y#YPOS> I#XCTR J#YCTR< F#FEED> @ @XZARC < #PLANE>< #MOV>< X#XPOS>< Z#ZPOS> I#XCTR K#ZCTR< F#FEED> @ @YZARC < #PLANE>< #MOV>< Y#YPOS>< Z#ZPOS> J#YCTR K#ZCTR< F#FEED> @ @HELIX < #PLANE> #MOV< X#XPOS>< Y#YPOS> Z#ZPOS I#XCTR J#YCTR< F#FEED> @ @XZHELIX < #PLANE> #MOV< X#XPOS> Y#YPOS< Z#ZPOS> I#XCTR K#ZCTR< F#FEED> @ @YZHELIX < #PLANE> #MOV X#XPOS< Y#YPOS>< Z#ZPOS> J#YCTR K#ZCTR< F#FEED> @ @ZCLRMV < #ABSI>< #FXD><< #MOV> Z#ZPOS> @ @ZCHKMV < #FXD><< #MOV> Z#ZPOS> @ @ZDPTHMV << #MOV> Z#ZPOS< F#FEED>> @ @OP_DRL < #ABSI>< #RTNLVL>< #CYCLE>< X#XPOS>< Y#YPOS>< Z#ZDPTH R#ZCHK> F#FEED #RESET(#FXD) @@CYCLE 0,G81 @ @OP_REAM < #ABSI>< #RTNLVL>< #CYCLE> G86< X#XPOS>< Y#YPOS>< Z#ZDPTH R#ZCHK> F#FEED #SPNDL S#SPEED #RESET(#FXD) @@CYCLE 0,G86 @ @OP_SPDRL #CALL(OP_CSINK) @OP_CDRL #CALL(OP_CSINK) @OP_CBORE #CALL(OP_CSINK) @OP_SPFACE #CALL(OP_CSINK) @OP_CSINK < #ABSI>< #RTNLVL>< #CYCLE>< X#XPOS>< Y#YPOS>< Z#ZDPTH R#ZCHK> F#FEED #RESET(#FXD) @@CYCLE 0,G82 @ @OP_TAP < #ABSI>< #RTNLVL>< #CYCLE>< X#XPOS>< Y#YPOS>< Z#ZDPTH R#ZCHK> S#SPEED F#FEED #RESET(#FXD) @@CYCLE 0,G84 1,G74 2,G75 @ @OP_BORE < #ABSI>< #RTNLVL>< #CYCLE>< X#XPOS>< Y#YPOS>< Z#ZDPTH R#ZCHK> F#FEED #RESET(#FXD) @@CYCLE 0,G85 1,G86 2,G87 3,G88 4,G89 5,G76 @ @OP_PDRL < #ABSI>< #RTNLVL>< #CYCLE>< X#XPOS>< Y#YPOS>< Z#ZDPTH R#ZCHK Q#PECK> F#FEED #RESET(#FXD) @@CYCLE 0,G73 1,G83 @ @DWELL G04 P#DWELL @ @STOP M00 @