// ---------------------------------------- // // 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. // ---------------------------------------- @COMMENTS // //11/02/89 // //Machine Type: Daewoo Puma12 Horizontal Lathe // //Control Type: FANUC 0T // //Application Notes: // // 1. Selecting a threading tool in the Shape-Elements Menu will execute // the control's threading cycle (G76). The values assigned during // these inputs will be output when the G76 cycle is executed. The // cycle also requires 5 #U variables to be assigned in the tool comment // line in JOB_PLAN when a threading tool is selected. They are as // follows: // #U1=Number of Finish Passes // #U2=Chamfer Amount // #U3=Tool Tip Angle // #U4=Minimun Depth of Cut // #U5=Finish Pass Amount // // 2. Selecting a tap in the Shape_Elements Menu will execute the control's // tapping cycle (G32). The first move will be to depth, followed by // a spindle off command (M05). Next the tap will retract back to the // programmed Z position, executing spindle reversed (M04). // // 3. Selecting a drill in the Shape_Elements menu with a Hole_Op of Peck // will execute the peck drill cycle (G74). // // 4. There are several special sections built into the PUMA12.TMP file // that can be executed by User Commands. They are as follows: // // @M00-Executes a "G" move at current "X" & "Z" positions, then M00 // @M01- " " " " " " then M01 // @M68- " " " " " " then M68 // @M69- " " " " " " then M69 // @M76- " " " " " " then M76 // @M77- " " " " " " then M77 // @M78- " " " " " " then M78 // @M79- " " " " " " then M79 // // To execute a special section, simply place the User_Command at the // necessary coordinates with a User Command, text entered as @M??. @START % O#FILE #ONBLK#IF(#C0=0)<#EVAL(#C0=2)> T#TOOL #C0 G50 S2500 #IF(#SPEED<>0)< #SPMODE S#SPEED #SPNDL> #NEXTPT #IF(#SPEED=0)<#UPDATE(#XPOS)> #RESET(#MOV) @TOOLCHG #MOV X#XPOS Z#ZPOS <#SPOFF> < #SPOFF>#IF(#SPEED=0)< M05> M01 T#TOOL< #C0> G50 S2500 #IF(#SPEED<>0)< #SPMODE S#SPEED #SPNDL> #NEXTPT #RESET(#MOV) @END #IF(#V9=1) < / M30 M05 M99> #ELSE < M30> #OFFBLK% @STPROF #RESET(#FXD) < #MOV>< #DCOMP>< X#XPOS>< Z#ZPOS>< T#TOFF#IF(#SPEED<>0)< M08>> @RAP #RESET(#FXD) < #MOV>< #DCOMP>< X#XPOS>< Z#ZPOS>< T#TOFF#IF(#SPEED<>0)< M08>> @LINE #RESET(#FXD) < #MOV>< #DCOMP>< X#XPOS>< Z#ZPOS>< F#FEED> @ARC #RESET(#FXD) < #MOV>< #DCOMP>< X#XPOS>< Z#ZPOS>< R#ARAD>< F#FEED> @FXD1 G76 P#FMT(#U1,F2.0)#FMT(#U2,F1.1)#FMT(#U3,F2.0) Q#FMT(#U4,F1.4)#EXLN R#FMT(#U5,F1.4) G76 X#FMT(#XPASS,T1.4) Z#FMT(#ZPASS,T1.4)#EXLN < R#FMT(#XOV,T0.4)> P#FMT(#V1,F0.4) Q#FMT(#V2,F1.4) F#FMT(#FTHRD,D1.4) @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 #IF(#SPNDL=1)<#EVAL(#SPNDL=2)>#ELSE<#EVAL(#SPNDL=1)> G32 Z#ZPASS F#FEED M05 G32 Z#ZPOS F#FEED #SPNDL @FXD5 G74 Z#ZPASS Q#FMT(#PECK,T1.4) F#FEED @G04 G04 U#DWELL#EVAL(#TIME=#DWELL/60) @M00 < #MOV>< X#XPOS>< Z#ZPOS> M00 @M01 < #MOV>< X#XPOS>< Z#ZPOS> M01 @M68 M68 #EVAL(#V9=1) @M69 M69 #EVAL(#V9=1) @M76 < #MOV>< X#XPOS>< Z#ZPOS> M76 @M77 < #MOV>< X#XPOS>< Z#ZPOS> M77 @M78 < #MOV>< X#XPOS>< Z#ZPOS> M78 @M79 < #MOV>< X#XPOS>< Z#ZPOS> M79 @