// ---------------------------------------- // // 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 Machine: SUNSTRAND OMNI-MILL OMII HORIZONTAL MILL Control: BENDIX 603 Date: April 25,1990 @START #EVAL(#V9=28.0) #EVAL(#U9=2) #EVAL(#V6=-#V9+#TLEN) #EVAL(#V5=#V6+#ZCHK) #RESET(#ABSI) % #ONBLKG90G73M05 G06F52T#NTOOLS#SPEED G28(---#TDESC---) #EVAL(#ZPOS=#V6+#ZPOS) #IF(#TLID=2) #EVAL(#ZPOS=0) @TOOLCHG #RESET(#V6) #RESET(#ZPOS) #RESET(#ZCHK) #RESET(#U1) #RESET(#U4) #RESET(#U5) #RESET(#U7) #RESET(#ABSI) #EVAL(#V6=-#V9+#TLEN) #EVAL(#V5=#V6+#ZCHK) <#FXD>Z0F99M09M05 Y0 M06 G07F52T#LTOOL G28 G06F52T#NTOOLS#SPEED G28(---#TDESC---) #EVAL(#ZPOS=#V6+#ZPOS) #IF(#TLID=2) #EVAL(#ZPOS=0) @END Z0F99M09M05 Y0 M06 M30 #OFFBLK% @STPROF #IF(#U9=1)<*********** START PROF *************> #EVAL(#ZPOS=#V6+#ZPOS) #EVAL(#U1=73) #EVAL(#V1=#XPOS) #EVAL(#V2=#YPOS) #EVAL(#ZPOS=0) @ENDPROF #IF(#U9=1)<*********** END PROF *************> #EVAL(#ZPOS=#V6+#ZPOS) Z#ZPOSF99 #EVAL(#ZPOS=0) @RAP #IF(#U9=1)<*********** RAP *************> #EVAL(#ZPOS=#V6+#ZPOS) <#ABSI><#FXD> #EVAL(#V1=#XPOS) #EVAL(#V2=#YPOS) #EVAL(#ZPOS=0) @LINE #IF(#U9=1)<*********** LINE *************> #EVAL(#ZPOS=#V6+#ZPOS) #IF(#V1=#XPOS,#OR#V2=#YPOS)<#EVAL(#U1=73)>#ELSE<#EVAL(#U1=01)> #EVAL(#V1=#XPOS) #EVAL(#V2=#YPOS) #EVAL(#ZPOS=0) @ARC #IF(#U9=1)<*********** ARC *************> #EVAL(#U1=#MOV) G#U1I#XCTRJ#YCTR #EVAL(#V1=#XPOS) #EVAL(#V2=#YPOS) @ZCLRMV #IF(#U9=2) #EVAL(#ZPOS=#V6+#ZPOS) <#FXD>Z#ZPOSF#MOV #EVAL(#ZPOS=0) #RESET(#V4) #RESET(#FEED) @ZCHKMV #IF(#U9=1)<*********** Z CHECK *************> #EVAL(#ZPOS=#V6+#ZPOS) <#FXD>Z#ZPOSF#MOV #EVAL(#ZPOS=0) @ZDPTHMV #IF(#U9=1)<*********** Z DEPTH *************> #EVAL(#U1=73) #EVAL(#ZPOS=#V6+#ZPOS) Z#ZPOSF#FEED #EVAL(#ZPOS=0) @FXD1 #IF(#U9=1)<*********** FXD #1 *************> #EVAL(#V4=#V6+#ZDPTH) #EVAL(#V5=#V6+#ZCHK) #EVAL(#U4=08) #EVAL(#U5=17) <#ABSI><#FXD> @FXD2 #IF(#U9=1)<*********** FXD #2 *************> #EVAL(#V4=#V6+#ZDPTH) #EVAL(#V5=#V6+#ZCHK) #EVAL(#U4=08) #EVAL(#U5=17) <#ABSI><#FXD> @FXD3 #IF(#U9=1)<*********** FXD #3 *************> #EVAL(#V4=#V6+#ZDPTH) #EVAL(#V5=#V6+#ZCHK) #EVAL(#U4=08) #EVAL(#U5=17) <#ABSI><#FXD> @FXD4 #IF(#U9=1)<*********** FXD #4 *************> #EVAL(#V4=#V6+#ZDPTH) #EVAL(#V5=#V6+#ZCHK) #EVAL(#U4=08) #EVAL(#U5=17) #EVAL(#V8=#V5+3.0) #FXDF99M#U5 Z#V5F99 Z#V4F#FEED F50M19 #EVAL(#XPOS=#XPOS+.010) X#XPOS Z#V5F99 #EVAL(#ZPOS=0) @FXD5 #IF(#U9=1)<*********** FXD #5 *************> #EVAL(#V4=#V6+#ZDPTH) #EVAL(#V5=#V6+#ZCHK) #EVAL(#V7=#V6-#PECK) #EVAL(#U3=(#ZDPTH*-1)/#PECK) #IF(#U9=1)<***ZDEPTH=#ZDPTH,PECK=#PECK***> #IF(#U9=1)<***V4=#V4,V5=#V5,***V7=#V7***> #EVAL(#U4=08) #EVAL(#U5=17) #EVAL(#ZPOS=#V4) <#ABSI>#FXDF#FEED #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) #IF(#U3>0)<#EVAL(#U3=#U3-1)> #IF(#U3>0)<#EVAL(#V3=#V7)> #IF(#U3>0)<#EVAL(#V3=#V7+.020)> #IF(#U3>0)<#EVAL(#V7=#V7-#PECK)> #IF(#U3>0) #IF(#U3>0) @ZBORE #IF(#U9=1)<***********Z BORE *************> #EVAL(#ZPOS=#V6+#ZPOS) <#ABSI>> #EVAL(#ZPOS=0) #CALL(FXD4) @DWELL #IF(#U9=1)<*********** START PROF *************> G04P#DWELL#EVAL(#TIME=#DWELL/60) @SPEEDS 0,0 45.2,01 48.2,02 51.2,03 54.2,04 57.2,05 60.2,06 63.1,07 66.1,08 69.1,09 72.1,10 75.1,11 78.1,12 81,13 84,14 87,15 90,16 93,17 96,18 98.9,19 101.9,20 104.9,21 107.9,22 110.9,23 113.9,24 116.9,25 119.8,26 122.8,27 125.8,28 128.8,29 135,30 144,31 153,32 162,33 171,34 180,35 189,36 198,37 207,38 216,39 225,40 234,41 243,42 252,43 262,44 271,45 280,46 289,47 298,48 307,49 316,50 325,51 334,52 343,53 352,54 361,55 370,56 379,57 389,58 398,59 404,60 429,61 454,62 479,63 505,64 530,65 555,66 580,67 603,68 631,69 656,70 681,71 706,72 732,73 757,74 782,75 807,76 823,77 858,78 883,79 936,80 992,81 1047,82 1022,83 1158,84 1213,85 1269,86 1324,87 1379,88 1435,89 1490,90 1546,91 1601,92 1657,93 1712,94 1767,95 1823,96 1878,97 1934,98 1990,99 @VARIABLE_KEY #U133=Cycle(i.e.#U1couldbeaG01,G02/G03oraG73) #V1=#XPOS #V2=#YPOS #ZPOS=Absolute_#ZPOS_relative_to_Machine_Home_Z0.(Calc_is_#ZPOS=#V6-#ZPOS) #V4=Absolute_#ZDPTH_relative_to_Machine_Home_Z0.(Calcis#V4=#V6-#ZDPTH) #V5=Absolute_#ZCHK_relative_to_Machine_Home_Z0.(Calc_is_#V5=#V6-#ZCHK) #V6=Absolute_tool_tip_position_calculated_from_Machine_Home_Z0(#V9-#TLEN) #V9=Machine_Home_Z0_to_SmartCAMs_Z0(Approx32.5") @ Notethatthejobplanhasvariable#V9definedinthenotessection ofJob_Info.Thisvariable#V9allowsinputofthedistancefrom SmartCAMZ0(usuallyprogrammedastopofworkpiece)tomachinezero. Intheexamplethisdistancewas28.5",basedonthespindle31.5"away. Besure#V9isdefinedandtoollengthsareaccurateinallJob_Plans. #EVAL(#ZPOS=0)_used_to_reset_SmartCAM_#ZPOS_the_#RESET_command_did_not_work? @