All pastes #3455566 Raw Edit

Mine

public unlisted text v1 · immutable
#3455566 ·published 2016-04-06 23:04 UTC
rendered paste body
O<turning> 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 = [[#13 - #23] * TAN[#7]]

G96 D1500 S#2 ; Constant Surface Speed Mode
m3 ;Start Spindle
g95 F#4 ; Feed-Per-Rev Mode


g4p1 ; Wait to reach speed

/	(debug, Turning finish rad #1 start  rad #14 start length #13 finish length #5)
/	m1
	O100 WHILE [#14 GT [#1 + #3 / 2]]
        g0 X #14
	#14=[#14-#3 / 2]
	G1 X #14
	G1 Z #23 X[#14 + #24]
        O101 IF [#6 GT 0]
                G2 Z#5 X[#14 + #24 + #21] I#21 K#20
		G1 X[#14 + #24 + #21 + #3/2]
        O101 ELSE
	        G1 X[#14 + #24 + [#3 * .6]]
        O101 ENDIF
	O104 IF  [#7 LT 0]
		G0 X#14
	O104 ENDIF
	G0 Z[#13]
	O100 ENDWHILE

	G0 x#1
	G1 Z #23 X[#1 + #24]
        O102 IF [#6 GT 0]
                G2 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
	O106 IF  [#7 LT 0]
		G0 X#14
	O106  ENDIF
	G0 Z #13
	G0 X #1 ; For touch-off
        M5
	G7
O<turning> endsub
M2