65 lines
1.2 KiB
Plaintext
65 lines
1.2 KiB
Plaintext
;boring
|
|
|
|
O<boring> sub
|
|
|
|
G8 ; Radius mode (easier maths)
|
|
G18 ; XZ Plane
|
|
G21 ; Metric Units
|
|
G90 ; Absolute Distance
|
|
G91.1 ; but not for arcs
|
|
|
|
M6 T#8 G43
|
|
|
|
#1 = [#1 / 2] ; because of radius mode
|
|
|
|
#14 = [#<_x>] (starting X)
|
|
#13 = #<_z> (starting Z)
|
|
|
|
#20 = [#6 * SIN[#7]]
|
|
#21 = [-#6 * COS[#7]]
|
|
#22 = [#6 / COS[#7]]
|
|
#23 = [#5 + #6 - #20]
|
|
#24 = [[#23 - #13] * TAN[#7]]
|
|
|
|
|
|
G96 D2500 S#2 ; Constant Surface Speed Mode
|
|
m3 ;Start Spindle
|
|
g95 F#4 ; Feed-Per-Rev Mode
|
|
|
|
O90 IF [#9 GT 0.5]
|
|
M8
|
|
O90 ENDIF
|
|
|
|
g4p1 ; Wait to reach speed
|
|
|
|
(debug, Turning finish dia #1 start dia #14 start length #13 finish length #5 coolant #9)
|
|
O100 WHILE [#14 LT [#1 - #3]]
|
|
g0 X #14
|
|
#14=[#14 + #3]
|
|
G1 X #14
|
|
G1 Z #23 X[#14 + #24]
|
|
O101 IF [#6 GT 0]
|
|
G3 Z#5 X[#14 + #24 + #21] I#21 K#20
|
|
G1 X[#14 + #24 + #21 - #3]
|
|
O101 ELSE
|
|
G1 X[#14 + #24 - [#3 * 1.5]]
|
|
O101 ENDIF
|
|
G0 Z[#13]
|
|
O100 ENDWHILE
|
|
|
|
G0 x#1
|
|
G1 Z #23 X[#1 + #24]
|
|
O102 IF [#6 GT 0]
|
|
G3 Z#5 X[#1 + #24 + #21] I#21 K#20
|
|
G1 X[#1 + #24 + #21 - #3]
|
|
O102 ELSE
|
|
G1 X[#1 + #24 - #3]
|
|
O102 ENDIF
|
|
G0 Z #13
|
|
G0 X #1 ; For touch-off
|
|
M5 M9
|
|
G7
|
|
O<boring> endsub
|
|
|
|
M2
|