// ---------------------------------------- // // 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 M4.NTS 08/15/90 Machine: Bridgeport Series 1 Vertical Mill Control: Boss 8 Machine File Name: M4.SMF Template File Name: M4.TMP Tape-to-Shape File Name: Not Applicable Notes: 1. This machine and template file have been set up to support the following fixed cycles: G80 - Fixed Cycle Cancel G81 - Drill Cycle G82 - Spot Drill with Dwell Cycle G87 - Chip Breaking Drill Cycle * G83 - Deep Hole Drill Cycle * G84 - Tapping Cycle G86 - Boring Cycle * (See Note #3) G40 - Cutter Diameter Compensation Cancel G41 - Cutter Diameter Compensation Left G42 - cutter diameter Compensation Right 2. Speeds in the Job Plan should be specified in revolutions per minute (RPM). Feeds should be in inches per minute (IPM). In order to produce code which will turn the spindle in a reverse direction, type the spindle speed in Job Plan as a minus number. 3. SmartCAM will automatically ouptut a G87 peck drill cycle, assigning the first "Z" value to equal the total depth of the hole, the second "Z" depth to equal 1.5 times the drill diameter, and the third "Z" value to equal the drill diameter. To change the default setting to G83, assign #U1=83 in the tool comment line of the desired tool in Job_Plan. The "U" must be a capital letter and must be preceeded by the "#" symbol. G83 will then remain in effect until the statement #U1=0 is entered. The values of the second and third "Z" inputs can also be changed in the tool comment line. #V1 is used to set the second "Z", and #V2 is used to set the third "Z". They also must be capital letter preceeded by the "#" symbol, and will remain in effect until another value is input. A value of "0" will cause the default values to be output in all cases. 4. SmartCAM will output all the necessary moves to turn cutter diameter compensation on and off correctly (G40/G41/G42). Any Profile in Shape will produce code for the centerline of the toolpath. G41 and G42 commands may then be used for adjustments in tool wear, compensating for ground tool, etc. The amount of compensation desired is input at the machine control. It is necessary to add Lead_In and Lead_Out moves to the profiles in Shape in order for CDC to be properly ini- tiated. If no Lead_In move is generated, SmartCAM will automatically add a move of the tool radius plus .05", starting CDC with this move. At times, this.05 movement may cause the tool to undercut another area of the part. This can easily be avoided using SmartCAM's Tool_Path Lead_In and Lead_Out features, by creating a Lead_In Line of a smaller amount. Lead_Out Lines are required, however, because the control does require a linear movement to cancel CDC. For building Lead_In Lead_ Out moves, the following procedure is suggested: If you wish to use Lead_In and Lead_Out Lines only, it is best to use an Angle of 90 degrees and a Length greater than the tool radius. If you wish to use Lead_In and Lead_Out Arcs, it is best to use a Radius equal to the same amount and an Angle of 45 degrees, then Lead_In and Lead_Out Lines to those Arcs at an Angle of 90 degrees and a length equal to the same amount. Any time Lead_In and Lead_Out Arcs are used, Lead_In and Lead_Out Lines are also recommended. @START %N01 #ABSI G75 #MOV X#XPOS Y#YPOS S#SPEED T#TOOL M06 #ONBLK Z#ZPOS @TOOLCHG #EVAL(#V0=0) #RESET(#C0) #UPDATE(#FXD) #ABSI G75 #MOV X#XPOS Y#YPOS S#SPEED T#TOOL M06 Z#ZPOS @END G90 G00 X#XHOME Y#YHOME M02 #OFFBLKE @STPROF < #ABSI>< #MOV>< X#XPOS>< Y#YPOS>< Z#ZPOS> @RAP < #ABSI>< #MOV>< X#XPOS>< Y#YPOS>< Z#ZPOS> @LINE #IF(#DCOMP>0)<< #DCOMP #EXCX#XST #EXCY#YST>> < #MOV>< #DCOMP>< X#XPOS>< Y#YPOS>< Z#ZPOS>< F#FEED> @ARC #IF(ABS(#TANG)=360)<#RESET(#XPOS,#YPOS)> < #MOV>< X#XPOS>< Y#YPOS> I#XCTR J#YCTR< F#FEED> @ZCLRMV < #FXD>< #MOV>< Z#ZPOS> @ZCHKMV < #MOV>< Z#ZPOS> @ZDPTHMV < #MOV>< Z#ZPOS>< F#FEED> @FXD1 #IF(#V0=0)<#RESET(#XPOS,#YPOS)> < #ABSI>< #FXD>< X#XPOS>< Y#YPOS>< Z#ZDPTH>< F#FEED> #EVAL(#V0=1) @FXD2 #IF(#V0=0)<#RESET(#XPOS,#YPOS)> < #ABSI>< #FXD>< X#XPOS>< Y#YPOS>< Z#ZDPTH>< F#FEED> #EVAL(#V0=1) @FXD3 #IF(#V0=0)<#RESET(#XPOS,#YPOS)> < #ABSI>< #FXD>< X#XPOS>< Y#YPOS>< Z#ZDPTH>< F#FEED> #EVAL(#V0=1) @FXD4 #IF(#V0=0)<#RESET(#XPOS,#YPOS)> < #ABSI>< #FXD>< X#XPOS>< Y#YPOS>< Z#ZDPTH>< F#FEED> #EVAL(#V0=1) @FXD5 #IF(#V1=0)<#EVAL(#V1=#TLDIA*1.5)> #IF(#V2=0)<#EVAL(#V2=#TLDIA)> #IF(#U1=83)<#EVAL(#C0=1)> #IF(#V0=0)<#RESET(#XPOS,#YPOS)> < #ABSI>< #C0>< X#XPOS>< Y#YPOS>< Z#ZDPTH>< Z#V1>< Z#V2>< F#FEED> #EVAL(#V0=1) @