?
This commit is contained in:
110
nc_files/programs/spacers.ngc
Executable file
110
nc_files/programs/spacers.ngc
Executable file
@@ -0,0 +1,110 @@
|
||||
#<_clearance> = .01
|
||||
#<_od> = 1.575
|
||||
#<_pocketd> = 1.0
|
||||
#<_pocketz> = 0.45
|
||||
#<_id> = .63
|
||||
#<_td> = .1875
|
||||
#<_tab_height> = .09
|
||||
#<_z_clearance> = 1.0
|
||||
#<_z_thru> = -0.03
|
||||
#<_z_start> = 0.65
|
||||
#<_z_feed> = 20.0
|
||||
#<_xy_feed> = 30.0
|
||||
#<_angle_offset> = 13.0
|
||||
|
||||
#<_xspacing> = [COS[30] * [#<_td>+#<_od>+#<_clearance>]]
|
||||
#<_yspacing> = [SIN[30] * [#<_td>+#<_od>+#<_clearance>] * 2]
|
||||
|
||||
#<_xstart> = 1.25
|
||||
#<_ystart> = 1.2
|
||||
|
||||
o100 sub
|
||||
G54
|
||||
G90.1 ; absolute arc distance
|
||||
|
||||
(inner bore)
|
||||
G0 X#1 Y[#2+#<_id>/2 - #<_td>/2] Z[#<_z_clearance>] ; goto inner
|
||||
G0 Z[#<_z_start>]
|
||||
G3 F[#<_xy_feed>] I#1 J#2 X#1 Y[#2+#<_id>/2 - #<_td>/2] P4 Z#<_z_thru> ; helix inner
|
||||
G3 F[#<_xy_feed>] I#1 J#2 X#1 Y[#2+#<_id>/2 - #<_td>/2]
|
||||
G0 Z[#<_z_clearance>] ; retract inner
|
||||
|
||||
(inner pocket)
|
||||
G0 X#1 Y[#2+#<_pocketd>/2 - #<_td>/2] Z[#<_z_start>]
|
||||
G1 F[#<_z_feed>] Z[#<_pocketz>]
|
||||
G3 F[#<_xy_feed>] I#1 J#2 X#1 Y[#2+#<_pocketd>/2 - #<_td>/2]
|
||||
G0 Z[#<_z_clearance>]
|
||||
|
||||
|
||||
(outer cut, with tabs)
|
||||
G0 Z#<_z_clearance> X#1 Y[#2+#<_od>/2 + #<_td>/2] ; goto outer
|
||||
G0 Z[#<_z_start>]
|
||||
|
||||
#<orad> = [#<_od>/2 + #<_td>/2]
|
||||
|
||||
#<angle> = 90
|
||||
G3 F[#<_xy_feed>] I#1 J#2 X[#1+#<orad>*COS[#<angle>-#<_angle_offset>]] Y[#2+#<orad>*SIN[#<angle>-#<_angle_offset>]] P3 Z[#<_tab_height>] ; helix inner
|
||||
G3 F[#<_xy_feed>] I#1 J#2 X[#1+#<orad>*COS[#<angle>+#<_angle_offset>]] Y[#2+#<orad>*SIN[#<angle>+#<_angle_offset>]]
|
||||
G1 F[#<_z_feed>] Z[#<_z_thru>]
|
||||
|
||||
o101 repeat [6]
|
||||
|
||||
#<angle> = [#<angle>+60]
|
||||
G3 F[#<_xy_feed>] I#1 J#2 X[#1+#<orad>*COS[#<angle>-#<_angle_offset>]] Y[#2+#<orad>*SIN[#<angle>-#<_angle_offset>]]
|
||||
G1 F[#<_z_feed>] Z[#<_tab_height>]
|
||||
G3 F[#<_xy_feed>] I#1 J#2 X[#1+#<orad>*COS[#<angle>+#<_angle_offset>]] Y[#2+#<orad>*SIN[#<angle>+#<_angle_offset>]]
|
||||
G1 F[#<_z_feed>] Z[#<_z_thru>]
|
||||
|
||||
o101 endrepeat
|
||||
|
||||
G0 Z[#<_z_clearance>] ; retract inner
|
||||
|
||||
o100 endsub
|
||||
|
||||
|
||||
o105 sub
|
||||
G54
|
||||
G90.1 ; absolute arc distance
|
||||
|
||||
#<orad> = [#<_od>/2 + #<_td>/2]
|
||||
|
||||
#<angle> = 90
|
||||
G0 X[#1+#<orad>*COS[#<angle>-#<_angle_offset>]] Y[#2+#<orad>*SIN[#<angle>-#<_angle_offset>]] Z[#<_z_start>] ; goto outer
|
||||
G1 F[#<_z_feed>] Z[#<_tab_height>]
|
||||
; G3 F[#<_xy_feed>] I#1 J#2 X[#1+#<orad>*COS[#<angle>-#<_angle_offset>]] Y[#2+#<orad>*SIN[#<angle>-#<_angle_offset>]] P3 Z[#<_tab_height>] ; helix inner
|
||||
G3 F[#<_xy_feed>] I#1 J#2 X[#1+#<orad>*COS[#<angle>+#<_angle_offset>]] Y[#2+#<orad>*SIN[#<angle>+#<_angle_offset>]]
|
||||
G1 F[#<_z_feed>] Z[#<_z_thru>]
|
||||
|
||||
o101 repeat [6]
|
||||
|
||||
#<angle> = [#<angle>+60]
|
||||
G3 F[#<_xy_feed>] I#1 J#2 X[#1+#<orad>*COS[#<angle>-#<_angle_offset>]] Y[#2+#<orad>*SIN[#<angle>-#<_angle_offset>]]
|
||||
G1 F[#<_z_feed>] Z[#<_tab_height>]
|
||||
G3 F[#<_xy_feed>] I#1 J#2 X[#1+#<orad>*COS[#<angle>+#<_angle_offset>]] Y[#2+#<orad>*SIN[#<angle>+#<_angle_offset>]]
|
||||
G1 F[#<_z_feed>] Z[#<_z_thru>]
|
||||
|
||||
o101 endrepeat
|
||||
|
||||
G0 Z[#<_z_clearance>] ; retract inner
|
||||
|
||||
|
||||
o105 endsub
|
||||
|
||||
;o100 call [-0.9] [0.8]
|
||||
;o100 call [+0.9] [0.8]
|
||||
|
||||
#<_ix> = 0
|
||||
o201 while [#<_ix> LT 8]
|
||||
#<_iy> = 0
|
||||
o202 while [#<_iy> LT 6]
|
||||
o203 if [[#<_ix> MOD 2] EQ 0]
|
||||
o105 call [#<_xstart>+#<_ix>*#<_xspacing>] [#<_ystart>+#<_iy>*#<_yspacing>]
|
||||
o203 else
|
||||
o105 call [#<_xstart>+#<_ix>*#<_xspacing>] [#<_ystart>+#<_iy>*#<_yspacing>+#<_yspacing>/2]
|
||||
o203 endif
|
||||
#<_iy> = [#<_iy>+1]
|
||||
o202 endwhile
|
||||
#<_ix> = [#<_ix>+1]
|
||||
o201 endwhile
|
||||
|
||||
M2 (Program End)
|
||||
Reference in New Issue
Block a user