Random code for future reference
Using a Subroutine to Drill Holes
This example uses a subroutine (o100) and named parameters
%
M3 ;Turn spindle clockwise (n/a)
; Move to hole and drill it - presumes last state was safe height
; #1 = X
; #2 = Y
o100 sub
#<drill_depth> = -20
#<drill_feed_rate> = 50
#<move_feed_rate> = 200
#<safe_height> = 10
G01 X#1 Y#2
F#<drill_feed_rate> ;Set Feed Rate Slow
G01 Z#<drill_depth> ;Drill hole, Coordinated motion ("Straight feed")
F#<move_feed_rate> ;Set Feed Rate Fast
G01 Z#<safe_height> ;Go up to safe height
o100 endsub
; drill holes
o100 call [-12.34] [7.125]
o100 call [-12.34] [-7.125]
o100 call [0] [14.25]
o100 call [0] [-14.25]
o100 call [12.34] [7.125]
o100 call [12.34] [-7.125]
; return to zero
G00 X0 Y0
M5
%
Using a Subroutine to Cut Circle
%
; From centre X/Y cut a hole of Radius R - presumes last state was safe height
; #1 = X
; #2 = Y
; #3 = R
o100 sub
#<drill_depth> = -4
#<drill_feed_rate> = 50
#<move_feed_rate> = 200
#<safe_height> = 5
G01 X#1 Y#2 Z#<safe_height>
G02 X#1 Y#2 I#3 J0
; F#<drill_feed_rate> ;Set Feed Rate Slow
; G01 Z#<drill_depth> ;Drill hole, Coordinated motion ("Straight feed")
; F#<move_feed_rate> ;Set Feed Rate Fast
; G01 Z#<safe_height> ;Go up to safe height
o100 endsub
o100 call [0.0] [0.0] [15.0]
%
|