I have four tools.
A tap drill , short , no need for spot.
A spot drill , used for a chanfer around the thread.
A thread mill, tapered for a pipe thread.
And a 1/2 inch end mill, to cut a 5/8 counter bore at the top.

I have three holes in the top of the part.
each hole is at a different angle to each other.
So each hole to be machined is at a different "E" or "G54 G55 G56"
I will be setting the work offsets at three different "Z" heights, because I made quick angles to put under the parts in three different vices.
Thus the parts will be done all with the same tool at each location, then change to the next tool.
With the exception of the block skip to do all the tools on first location then go to the second location , then finally the last location.

My question to you is ....
can I pass the R's or do iI have


So here we go.

Code:
O9999(THREAD MILL)
L100
T1 M6 (7/16 DRILL)
G43 H1 Z.1
G98 G83 Z-1.5 R+.1 M3 M8 G4 Q.25
M17
L200
T2 M6 (1/2 EM 3 FLUTE)
G43 H2 Z.2
G1Z0F10.
(***** more code *****)
M17
L300
T3 M6 (THREAD MILL)
G43 H3 Z0
#D3.=.3430 R7=D3./4. R8.=1./18. S=800/D3. F=S*.006
G2 G41 X.25*R8 y.25*R8 I0 J.25*R8
(***** more code *****)
M17
(***** more code *****)
M30
#:BEGIN
G0 G90 E0 X0 Y0 Z0
G0G20G17G80G40G8
( SKIP BLOCK OFF TO RUN ONE PART ALL THE WAY THROUGH )
#R3=1. R4=1. R5=1. R6=3.R3=R3+100.
#:LOOP
G0 G90 G4 E+R4. L+R3.
/#R4=R4+1.
#IF R4.LT4. THEN GOTO :LOOP
#R3=R3+100.
#IF R4.LT401. THEN GOTO :LOOP
M0 (GOING BACK TO THE BEGINING)
#IF R5.LTR6. THEN GOTO :BEGIN
M2
is this considered Parametric programing?