@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 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. ---------------------------------------- Machine: Bridgeport 516V Milling Machine Control: Heidenhaim TNC155 Control **** ISO Format ***** Notes: 1. If tool change positions are desired, the first point of each new tool MUST be at the tool change location. The Z_Check, Z_Clear, and Z_Depth for the tool change point MUST be assigned as "?" or unknown. 2. A clearence value of .100 has been built in for all drill cycles. @ @DECLARE //#OUTCND // outputs conditional status //#OUTSEC // outputs @section names //#OUTREF // outputs processing errors //#OUTRPT // outputs an error report file @ @START %#FILE G70 #ONBLK T0 G17 #MOV G40 #ABSI Z+2.0 < #MOV> X#XPOS Y#YPOS M05 #EVAL(#TLDIA=#TLDIA/2) G99 T#TOOL L#TLEN R#TLDIA M00 T#TOOL G17 S#SPEED #SPNDL #RESET(#V9) #NEXTPT @ @TOOLCHG #MOV T0 Z+2.0 < X#XPOS>< Y#YPOS> M05 #EVAL(#TLDIA=#TLDIA/2) G99 T#TOOL L#TLEN R#TLDIA M00 T#TOOL S#SPEED #SPNDL #RESET(#V9) #UPDATE(#ZPOS) @ @END #MOV T0 Z+2.0 X#XHOME Y#YHOME M05 M02 %#FILE G70 @ @STPROF < #MOV>< X#XPOS>< Y#YPOS> @ @ENDPROF < #DCOMP>< X#XPOS>< Y#YPOS>< F#FEED> @ @RAP #RESET(#V9) < #MOV>< X#XPOS>< Y#YPOS> @ @LINE < #MOV>< #DCOMP>< X#XPOS>< Y#YPOS>< Z#ZPOS>< F#FEED> @ @ARC #MOV< #DCOMP> X#XPOS Y#YPOS I#XCTR J#YCTR< F#FEED> @ @ZCLRMV << #MOV> Z#ZPOS> @ @ZCHKMV << #MOV> Z#ZPOS> @ @ZDPTHMV << #MOV> Z#ZPOS< F#FEED>> @ @OP_SPEC #CALL(OP_DRL) @OP_REAM #CALL(OP_DRL) @OP_DRL #IF(#V9<>#ZDPTH)<#EVAL(#ZDPTH=#ZDPTH+.1)> < #CYCLE P01 -0.1 P02 #ZDPTH P03 #ZDPTH P05 #FEED> G79< X#XPOS>< Y#YPOS> #EVAL(#V9=#ZDPTH) @@CYCLE 0,G83 @ @OP_SPDRL #CALL(OP_CSINK) @OP_CDRL #CALL(OP_CSINK) @OP_CBORE #CALL(OP_CSINK) @OP_SPFACE #CALL(OP_CSINK) @OP_CSINK #IF(#V9<>#ZDPTH)<#EVAL(#ZDPTH=#ZDPTH+.1)> < #CYCLE P01 -0.1 P02 #ZDPTH P03 #ZDPTH P04 #DWELL P05 #FEED> G79< X#XPOS>< Y#YPOS> #EVAL(#V9=#ZDPTH) @@CYCLE 0,G83 @ @OP_TAP #IF(#V9<>#ZDPTH)<#EVAL(#ZDPTH=#ZDPTH+.1)> < #CYCLE P01 -0.1 P02 #ZDPTH P03 0 P04 #FEED> G79< X#XPOS>< Y#YPOS> #EVAL(#V9=#ZDPTH) @@CYCLE 0,G84 @ @OP_BORE #IF(#V9<>#ZDPTH)<#EVAL(#ZDPTH=#ZDPTH+.1)> < #CYCLE P01 -0.1 P02 #ZDPTH P03 #ZDPTH P04 #DWELL P05 #FEED> G79< X#XPOS>< Y#YPOS> #EVAL(#V9=#ZDPTH) @@CYCLE 0,G83 @ @OP_PDRL #IF(#PECK>.001)<#EVAL(#PECK=#PECK*-1)> #IF(#V9<>#ZDPTH)<#EVAL(#ZDPTH=#ZDPTH+.1)> < #CYCLE P01 -0.1 P02 #ZDPTH P03 #PECK P04 #DWELL P05 #FEED> G79< X#XPOS>< Y#YPOS> #EVAL(#V9=#ZDPTH) @@CYCLE 0,G83 @ @DWELL G04 F#DWELL#EVAL(#TIME=#DWELL/60) @