o<test-xyzac> sub
(test-xyzac-kins with offsets and tool change)
( 5 AXIS XYZAC MILLING )

 #<a_angle> =  #1 (=20)
 #<c_angle> =  #2 (=30)
  #<xy_max> =  #3 (=30)
   #<z_max> =  #4 (=10)
#<feedrate> =  #5 (=200)
   #<tool1> =  #6 (=1 1st Tool)
   #<tool2> =  #7 (=2 2nd Tool)
  #<speed1> =  #8 (=500)
  #<speed2> =  #9 (=600)

; 'square with 2 rounded corners'
#<x_max> = #<xy_max>
#<y_max> = #<xy_max>
#<g3_j>  = #<xy_max>

N40 G00 G17 G40 G90 G94 Z10
(first tool - no z-offset)
T#<tool1> M6
S#<speed1> M3
G00 A#<a_angle> C#<c_angle>
G43 H#<tool1> Z0
G01 X#<x_max> F#<feedrate>
G01 Y#<y_max>
G01 X0
G03 X-#<x_max> Y0 I0 J-#<g3_j>
G00 Z#<z_max>
G00 X0
M5
(next tool- with z-offset)
T#<tool2> M6
S#<speed2> M3
G00 A#<a_angle> C#<c_angle>
G43 H#<tool2> Z0
G01 X-#<x_max> F#<feedrate>
G01 Y-#<y_max>
G01 X0
G03 X#<x_max> Y0 I0 J#<g3_j>
G0 Z#<z_max>
G0 X0 Y0
M5
A0 C0

o<test-xyzac> endsub
