// ---------------------------------------- // // 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 Machine: HERMLE and ABENE 3-axis Control: Heidenhain TNC151, TNC155, TNC355 (Dialog) Date: May 2,1989 Notes: The CG is in metric. For manual tool changing. @START #ONBLK BEGIN PGM #FILE MM ( #TDESC ) TOOL DEF #TOOL L#TLEN #EVAL(#TLWD=#TLDIA/2)R#TLWD TOOL CALL #TOOL Z S#SPEED #MOV Z#ZPOS #RFEED #SPNDL #MOV X#XPOS Y#YPOS#RESET(#DCOMP) @TOOLCHG < #MOV Z#ZPOS> STOP M25 ( #TDESC ) TOOL DEF #TOOL L#TLEN #EVAL(#TLWD=#TLDIA/2)R#TLWD TOOL CALL #TOOL Z S#SPEED #RESET(#SPNDL) #RESET(#FEED) #RESET(#RFEED) @END < #MOV Z#ZPOS> STOP M25 M02 END PGM #FILE MM #OFFBLK @STPROF < #MOV X#XPOS Y#YPOS< #DCOMP>< #RFEED>< #SPNDL>> @ENDPROF < #MOV Z#ZPOS< #DCOMP>< #RFEED>< #SPNDL>> @RAP < #MOV X#XPOS Y#YPOS Z#ZPOS< #DCOMP>< #RFEED>< #SPNDL>> @LINE < #MOV X#XPOS Y#YPOS Z#ZPOS< #DCOMP>< F#FEED>< #C0>> #EVAL(#C0=0) @ARC CC X#XCTR Y#YCTR C X#XPOS Y#YPOS #MOV #DCOMP< F#FEED>< #SPNDL> @ZCLRMV < #MOV Z#ZPOS< #DCOMP>< #RFEED>< #SPNDL>> @ZCHKMV < #MOV Z#ZPOS< #DCOMP>< #RFEED>< #SPNDL>> @ZDPTHMV < #MOV Z#ZPOS< #DCOMP>< F#FEED>< #SPNDL>> @FXD1 #EVAL(#V3=0) #IF(#V9<>#ZDPTH)<#EVAL(#V3=1)>#IF(#V8<>#ZCHK)<#EVAL(#V3=1)> #IF(#V7<>#FEED)<#EVAL(#V3=1)>#IF(#V6<>#FXD)<#EVAL(#V3=1)> < L X#XPOS Y#YPOS< #DCOMP>< #RFEED>< #SPNDL>> L Z#ZCHK< #RFEED>#IF(#V3=0)< M99>#ELSE<< #SPNDL>> #IF(#V3=1)< CYCL DEF 1.0 DJUPBORRN> #IF(#V3=1)< CYCL DEF 1.1 AVST -#ZCHK> #IF(#V3=1)< CYCL DEF 1.2 DJUP #ZDPTH> #IF(#V3=1)< CYCL DEF 1.3 INSTICK #ZDPTH> #IF(#V3=1)< CYCL DEF 1.4 V.TID 0,000> #IF(#V3=1)< CYCL DEF 1.5 F#FEED> #IF(#V3=1)< CYCL CALL> #EVAL(#V9=#ZDPTH)#EVAL(#V8=#ZCHK)#EVAL(#V7=#FEED)#EVAL(#V6=#FXD) @FXD2 #EVAL(#V3=0) #IF(#V9<>#ZDPTH)<#EVAL(#V3=1)>#IF(#V8<>#ZCHK)<#EVAL(#V3=1)> #IF(#V7<>#FEED)<#EVAL(#V3=1)>#IF(#V6<>#FXD)<#EVAL(#V3=1)> #IF(#V5<>#DWELL)<#EVAL(#V3=1)> < L X#XPOS Y#YPOS< #DCOMP>< #RFEED>< #SPNDL>> L Z#ZCHK< #RFEED>#IF(#V3=0)< M99>#ELSE<< #SPNDL>> #IF(#V3=1)< CYCL DEF 1.0 DJUPBORRN> #IF(#V3=1)< CYCL DEF 1.1 AVST -#ZCHK> #IF(#V3=1)< CYCL DEF 1.2 DJUP #ZDPTH> #IF(#V3=1)< CYCL DEF 1.3 INSTICK #ZDPTH> #IF(#V3=1)< CYCL DEF 1.4 V.TID #DWELL> #IF(#V3=1)< CYCL DEF 1.5 F#FEED> #IF(#V3=1)< CYCL CALL> #EVAL(#V9=#ZDPTH)#EVAL(#V8=#ZCHK)#EVAL(#V7=#FEED)#EVAL(#V6=#FXD) #EVAL(#V5=#DWELL) @FXD3 #EVAL(#V3=0) #IF(#V9<>#ZDPTH)<#EVAL(#V3=1)>#IF(#V8<>#ZCHK)<#EVAL(#V3=1)> #IF(#V7<>#FEED)<#EVAL(#V3=1)>#IF(#V6<>#FXD)<#EVAL(#V3=1)> < L X#XPOS Y#YPOS< #DCOMP>< #RFEED>< #SPNDL>> L Z#ZCHK< #RFEED>#IF(#V3=0)< M99>#ELSE<< #SPNDL>> #IF(#V3=1)< CYCL DEF 2.0 GAENGBORRNIN> #IF(#V3=1)< CYCL DEF 2.1 AVST -#ZCHK> #IF(#V3=1)< CYCL DEF 2.2 DJUP #ZDPTH> #IF(#V3=1)< CYCL DEF 2.3 V.TID 0,000> #IF(#V3=1)< CYCL DEF 2.4 F#FEED> #IF(#V3=1)< CYCL CALL> #EVAL(#V9=#ZDPTH)#EVAL(#V8=#ZCHK)#EVAL(#V7=#FEED)#EVAL(#V6=#FXD) @FXD4 #EVAL(#V3=0) #IF(#V9<>#ZDPTH)<#EVAL(#V3=1)>#IF(#V8<>#ZCHK)<#EVAL(#V3=1)> #IF(#V7<>#FEED)<#EVAL(#V3=1)>#IF(#V6<>#FXD)<#EVAL(#V3=1)> #IF(#V5<>#PECK)<#EVAL(#V3=1)> < L X#XPOS Y#YPOS< #DCOMP>< #RFEED>< #SPNDL>> L Z#ZCHK< #RFEED>#IF(#V3=0)< M99>#ELSE<< #SPNDL>> #IF(#V3=1)< CYCL DEF 1.0 DJUPBORRN> #IF(#V3=1)< CYCL DEF 1.1 AVST -#ZCHK> #IF(#V3=1)< CYCL DEF 1.2 DJUP #ZDPTH> #IF(#V3=1)< CYCL DEF 1.3 INSTICK -#PECK> #IF(#V3=1)< CYCL DEF 1.4 V.TID 0,000> #IF(#V3=1)< CYCL DEF 1.5 F#FEED> #IF(#V3=1)< CYCL CALL> #EVAL(#V9=#ZDPTH)#EVAL(#V8=#ZCHK)#EVAL(#V7=#FEED)#EVAL(#V6=#FXD) #EVAL(#V5=#PECK) @FXD5 #EVAL(#V3=0) #IF(#V9<>#ZDPTH)<#EVAL(#V3=1)>#IF(#V8<>#ZCHK)<#EVAL(#V3=1)> #IF(#V7<>#FEED)<#EVAL(#V3=1)>#IF(#V6<>#FXD)<#EVAL(#V3=1)> #IF(#V5<>#PECK)<#EVAL(#V3=1)> < L X#XPOS Y#YPOS< #DCOMP>< #RFEED>< #SPNDL>> L Z#ZCHK< #RFEED>#IF(#V3=0)< M99>#ELSE<< #SPNDL>> #IF(#V3=1)< CYCL DEF 1.0 DJUPBORRN> #IF(#V3=1)< CYCL DEF 1.1 AVST -#ZCHK> #IF(#V3=1)< CYCL DEF 1.2 DJUP #ZDPTH> #IF(#V3=1)< CYCL DEF 1.3 INSTICK -#PECK> #IF(#V3=1)< CYCL DEF 1.4 V.TID 0,000> #IF(#V3=1)< CYCL DEF 1.5 F#FEED> #IF(#V3=1)< CYCL CALL> #EVAL(#V9=#ZDPTH)#EVAL(#V8=#ZCHK)#EVAL(#V7=#FEED)#EVAL(#V6=#FXD) #EVAL(#V5=#PECK) @DWELL #EVAL(#V3=0) #IF(#V6<>#FXD)<#EVAL(#V3=1)>#IF(#V5<>#DWELL)<#EVAL(#V3=1)> #IF(#V3=1)< CYCL DEF 9.0 VAENTETID CYCL DEF 9.1 V.TID #DWELL> CYCL CALL #EVAL(#V6=#FXD)#EVAL(#V5=#DWELL) @BANKORR #EVAL(#C0=1) @