Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (======================================================================)
- (=================== Define Constants/Variables =======================)
- #<_xorigin>=0.000 ( X axis offset for Coordinate sys 2 )
- #<_yorigin>=0.000 ( Y axis offset for Coordinate sys 2 )
- #<_zorigin>=0.000 ( Z axis offset for Coordinate sys 2 )
- #<_toolnum>=2 ( Set Tool Number e.g. 2 -- 1/8" diameter )
- #<_tooldia>=0.000 ( Set the tool diameter )
- #<_toolrad>=0.000 ( Tool radius )
- #<_feedrate>=5.0 ( Z Feed rate )
- #<_plungerate>=1.0 ( X Feed rate )
- #<_finefeed>=1.0 ( Fine Feed rate )
- #<_X_dia>=2.000 ( Starting Diameter of Material )
- #<_X_rad>=[#<_X_dia>/2] ( Starting Radius )
- #<_Xfinish>=[1.750/2] ( Edge of Material )
- #<_X_depth>=[#<_X_rad>-#<_Xfinish>] ( Final Diameter of Material )
- #<_Xcut>=0.020 ( X Cut depth )
- #<_safe_X>=0.050 ( distance to move X for safe z moves )
- #<_close_X>=[#<_X_dia>+#<_safe_X>] ( Close to top )
- #<_clear_X>=2.000 ( distance to clear X axis at end )
- #<_Zcut>=0.020 ( Z Cut depth )
- #<_Zthick>=2.000 ( Thickness of Material )
- #<_ZFace>=0.00 ( Z surface )
- #<_Zdepth>=[#<_ZFace>-#<_Zthick>] ( Depth to cut in Z direction )
- #<_safe_Z>=0.050 ( distance to move z for safe x moves )
- #<_close_Z>=[#<_Zface>+#<_safe_Z>] ( Close to top )
- #<_clear_Z>=2.000 ( distance to clear z axis at end )
- (#<_sqcorner>=SQRT[[[[[SQRT[2] -1]*#<_toolrad>]**2]/2]]) ( Offset of Tool diameter to corner )
- (#<_sqcorner>=SQRT[[[[[SQRT[2] -1]*#<_toolrad>]^2]/2]]) ( Offset of Tool diameter to corner )
- (#518=[2*[SIN[15]**2]])
- (#518=[2*[SIN[15]^2]])
- O100 SUB ([1] [2] [3]) ( 1 = X pos, 2 = Z pos, and 3 = radius )
- G10 L2 P3 X#1 Z#2 ( Set current work origin )
- G56
- G00 Z0.0
- G00 X#<_close_X>
- #<Xcut> = 0 ( X start for radius cut )
- O101 DO
- O105 IF [ [#<Xcut>+#<_Xcut>] LT #3]
- #<Xcut>=[#<Xcut>+#<_Xcut>] ( Z start for radius cut )
- O105 ELSE
- #<Xcut> = #3
- O105 ENDIF
- G00 X#3
- G00 Z[0.0-#<Xcut>]
- G02 X[#3-#<Xcut>] Z0.0 I[0.0-#3] K[#<Xcut>-#3] F#<_finefeed>
- O101 WHILE [#<Xcut> LT #3]
- G55
- G00 X#3
- O100 ENDSUB
- ( Cut bevel on workpiece )
- (O<CutBevel> SUB [X pos] [Z pos] [length of bevel])
- O<CutBevel> SUB
- G10 L2 P3 X#1 Z#2 ( Set current work origin )
- G56
- #<Xend> = [#1-#3]
- #<Zend> = [#2-#3]
- #<Xcut> = 0.0
- #<Zcut> = 0.0
- G00 X0.0
- G00 Z0.0
- O111 DO
- O112 IF [[#<Xcut>-#<_Xcut>] GT #<Xend>]
- #<Xcut> = [#<Xcut>-#<_Xcut>]
- O112 ELSE
- #<Xcut> = #<Xend>
- O112 ENDIF
- O113 IF [[#<Zcut>-#<_Zcut>] GT #<Zend>]
- #<Zcut> = [#<Zcut>-#<_Zcut>]
- O113 ELSE
- #<Zcut> = #<Zend>
- O113 ENDIF
- (G00 X#<_Xfinish>)
- G00 X0.0 Z[#Zcut]
- G01 X[#<Xcut>] Z0.0 F#<_finefeed> ( Start of X-Cut )
- O111 WHILE [#<Xcut> LT #<Xend>]
- G00 X0.0 Z0.0
- O<CutBevel> ENDSUB
- ( START UP CODE )
- G20 G92.1 G61 G18 G40 G80 ( Set Imp. mode, clear offsets, set exact path )
- ( Select XY plane and turn off tool compensation )
- G10 L2 P1 X0.0 Z0.0
- G49
- G10 L2 P2 X#<_xorigin> Z#<_zorigin> ( Set current work origin )
- T[#<_toolnum>] ( Select Tool specified in #<_toolnum> )
- S2000 M3 ( Set Spindle Speed and Spindle on )
- G55 ( Set Coordinate system 2 )
- G64 P.002
- G0 z#<_safe_Z>
- (G0 X0)
- ( Main Code )
- G00 X#<_close_X> Z0.0
- O<CutBevel> CALL [0.0] [0.0] [0.375] ( Cut from end )
- G54
- G00 X#<_clear_X>
- G00 Z#<_clear_Z>
- M02
Advertisement
Add Comment
Please, Sign In to add comment