// ---------------------------------------- // // 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: GRAY MODEL 242 VFR VERTICAL BORING MACHINE //Control: G.E MARK CENTURY MODEL II //Date: March 16, 1990 // //Special variables/considerations: // // #S0 If assigned in Job_Plan Notes section, will be output as comments // at the beginning of the code // #S1 " // #S2 " // #S3 " // #U9 If set to 1 in .TMP file, will output the @Section name in the // code // @CHUCK // Will output necessary code to "Rechuck at reduced pressure" if a // User_Cmd @CHUCK is inserted into the shape file. // @HISPEED // Will output necessary code to change to High Gear Range if a // User_Cmd @HISPEED is inserted into the shape file. // @LOSPEED // Will output necessary code to change to Low Gear Range if a // User_Cmd @LOSPEED is inserted into the shape file. @START #EVAL(#U9=0) #IF(#U9=1)< --------------------------- START --------------------------- > #EVAL(#U2=0) #EVAL(#U3=0) #EVAL(#C0=0) #EVAL(#C1=#TLID) #EVAL(#U5=#C1) #EVAL(#U6=2) #IF(#SPMODE=1)<#EVAL(#C2=1)>#ELSE<#EVAL(#C2=0)> #RESET(#C2) #FILE <#S0> <#S1> <#S2> <#S3> #DATE %% #ONBLK G04X02T#TOOL#C0 G04X05#C1 G92X#XSETZ#ZSET#IF(#SPMODE=1)#ELSE<486>> #EVAL(#V8=#XSET) #EVAL(#V9=#ZSET) #SPMODE#IF(#SPMODE=1)S#IF(#SPMODE=0)<#FMT(#SPEED,L3.1)>#EXLN #ELSE<#FMT(#SPEED,L4.0)>#SPNDL #EVAL(#C1=0) #NEXTPT @TOOLCHG #IF(#U9=1)< --------------------------- TOOLCHG ------------------------- > #EVAL(#U2=0) #EVAL(#U3=0) #EVAL(#C0=0) #EVAL(#C1=#TLID) #EVAL(#U6=2) #EVAL(#V4=ABS(#TOOL-#LTOOL)) #IF(#V4<20)<#CALL(NOTC)> #IF(#V4<20)<#EXIT> M09 #RESET(#C2)#IF(#SPMODE=1)<#EVAL(#C2=1)>#ELSE<#EVAL(#C2=0)> X#V8Z#V9<#RFEED>#IF(#V5<0) #IF(#C1<>#U5) T00M01#OFFBLK #IF(#U1=1)<#ONBLKG04X15M19 M00#OFFBLK> #EVAL(#U1=0) #EVAL(#U7=(INT(#TOOL/100))-(INT(#LTOOL/100))) #IF(#U7>2,OR#U7<-2)<#EVAL(#U7=#U7*-1)> #IF(#U7>0)<#EVAL(#C0=0)>#ELSE<#EVAL(#C0=1)> #ONBLKG04X02T#TOOL#C0 #IF(#C1<>#U5) #EVAL(#U5=#C1) G92X#XSETZ#ZSET#IF(#SPMODE=1)#ELSE<486>> #EVAL(#V8=#XSET) #EVAL(#V9=#ZSET) #SPMODE#IF(#SPMODE=1)S#IF(#SPMODE=0)<#FMT(#SPEED,L3.1)>#EXLN #ELSE<#FMT(#SPEED,L4.0)>#SPNDL #EVAL(#C1=0) #RESET(#RFEED) #NEXTPT @END #IF(#U9=1)< --------------------------- END ----------------------------- > G21X#V8Z#V9F0M09 T00M30 #OFFBLK% @RAP #IF(#U9=1)< --------------------------- RAP ----------------------------- > #IF(#U3=0,AND#XPOS<0,AND#V5>0)<#EVAL(#C2=0)>#ELSE<#EVAL(#C2=1)> #IF(#U3=1,AND#SPMODE=0)<#EVAL(#V2=#XPOS) #EVAL(#V0=ABS(#V1-#V2)) #EVAL(#V3=#SPEED*(#V1/3.819718634)) #EVAL(#U4=INT(#V3/(#V2/3.819718634))> #IF(#C1=0,AND#U4>164)<#EVAL(#U4=164)> #IF(#C1=1,AND#U4>486)<#EVAL(#U4=486)> #IF(#U6>1)<#MOV><#RFEED>#IF(#SPMODE=1)<<#C2>> #IF(#C2=0)<#EVAL(#C2=1)> #IF(#V0>2,AND#SPMODE=0)<#SPMODES#FMT(#U4,L3.1)#SPNDL#EVAL(#U6=3)> #EVAL(#V5=#XPOS) #EVAL(#V0=0) #EVAL(#U3=1) #IF(#U6<3)<#EVAL(#U6=#MOV)> @LINE #IF(#U9=1)< --------------------------- LINE ---------------------------- > #IF(#U6>1)<#MOV>#IF(#U2=0) #EVAL(#V5=#XPOS) #EVAL(#V1=#XPOS) #EVAL(#U2=1) #EVAL(#U6=#MOV) @ARC #IF(#U9=1)< --------------------------- ARC ----------------------------- > #MOVX#XPOSZ#ZPOSI#XCTRK#ZCTR #EVAL(#V5=#XPOS) #EVAL(#V1=#XPOS) #EVAL(#U6=#MOV) @FXD1 #IF(#U9=1)< --------------------------- FXD1 ---------------------------- > G33Z#ZPOSK#FTHRD @FXD4 #IF(#U9=1)< --------------------------- FXD4 ---------------------------- > G33Z#ZPASSK#FEED M03 G33Z#ZPOSK#FEED @DWELL #IF(#U9=1)< --------------------------- DWELL --------------------------- > G04X#DWELL#EVAL(#TIME=#DWELL/60) @NOTC > #EVAL(#U8=INT(#TOOL*.01)*100) #EVAL(#U8=#TOOL-#U8) T#FMT(#U8,F3.0) #UPDATE(#TOOL) G92X#XPOSZ#ZPOS#IF(#SPMODE=1)#ELSE<486>> #SPMODER#IF(#XPOS<0)<-><#CSSRAD>S#IF(#SPMODE=0)<#FMT(#SPEED,L3.1)>#EXLN #ELSE<#FMT(#SPEED,L4.0)>#SPNDL #EVAL(#V8=#XSET) #EVAL(#V9=#ZSET) #EVAL(#C1=0) #NEXTPT @CHUCK #IF(#U9=1)< --------------------------- CHUCK --------------------------- > #EVAL(#U1=1) @HISPEED #IF(#U9=1)< --------------------------- HISPEED ------------------------- > #EVAL(#C1=1) #EVAL(#U5=#C1) #RFEEDM09 G04X05M05 G04X05#C1 G92S486 #SPMODES#SPEED#SPNDL #EVAL(#U2=0) #EVAL(#U6=2) #RESET(#RFEED) @LOSPEED #IF(#U9=1)< --------------------------- LOSPEED ------------------------- > #EVAL(#C1=0) #EVAL(#U5=#C1) G04X05M05 G04X05#C1 G92S164 #SPMODES#SPEED#SPNDL #EVAL(#U2=0) #EVAL(#U6=2) #RESET(#RFEED) @