Tooling & Production April 2007

"Shop Talk with Steve Rose"

The Author, Steve Rose

Programming Thread Milling


Milling is a great way to create a thread.  Recall from last month’s column, we discussed advantages of thread milling.  Some people might be concerned with programming issues when thread milling.  Well let’s look at a sample.  The following program is designed to thread mill a 2.625 x 14 TPI internal thread using a 1.00” diameter multiple flute cutter with 3/4” flute length.


The plan is to position the cutter to the lowest point of the thread and feed out of the part.  Our program calls for the tool to use a 45º ramp-in move, complete a 360º rotation within the part and then finish with a 45º ramp-out move.


For this program we are using the center of the threaded hole as the datum.  At this point, the coordinates are X0, Y0.  The first thing to calculate is the cutter start point called the “pivot” point. This can be calculated as follows.


Pivot point =(part diameter - cutter diameter) ­÷ 2

Pivot point =(2.5” - 1.0”) ÷ 2 = 0.750”


The cutter begins to cut the thread when the cutter is in this position (X0.750, Y0).



Although this is the point at which the tool begins cutting the thread, we must get the cutter to this point with a helical ramp-in move.


Use a point 45º from the datum point, midway between the X-axis and Y-axis zero line. This is half the value of the pivot point in both X&Y and represents the ramp-in start position. This is 0.75 ÷ 2 = 0.375.



There are two advantage of this 45º start-point.  First, the X and Y start and finish values are half the pivot point value. Second, we can easily calculate the amount of Z-axis movement required.


Calculate the Z-axis moves based on the required circular movement.  The Z-axis move for a full 360º rotation is the pitch.  pitch = 1/14 =  0.0714”


We selected a 45º ramp-in move, so we can see that the Z-axis distance for this move will be 45º/360º x 0.0714 = 0.0089.



Let’s see how these values are used in the program.  In this example the Z-axis start point is Z-0.500 and the milling method is climb milling.


Program example

N10 T1            M 6                                                         Tool change

N20 S1293      M 03                                                       Spindle on

N30 G0 G90 X 0.0000 Y 0.0000  M08                               Datum point

N40 G43 H01 Z0.1000                                                     Rapid above part

N50 G1   Z- 0.50     F50.           Feed to depth

N60 G1 X 0.375 Y-.375 F9. G41 D01                                Ramp in start position

                                                                                     G code for climb mill

N70 G3 X.75 Y.000  R.375 Z- .4911 F 5.                           Ramp in to pivot point

N80 G3 X .75 Y.000 I- .75 Z- .4196                                   Circle mill

N90 G3 X.375 Y.375 I-.375  Z-.4107                                  Ramp out

N100 G0 X.0000   Y.0000  G 40                                       Return to 

                                                                                     datum cancel comp.

N110 G0        Z1.000                                                      Retract from part


In block N50 we feed to full depth and then move to the starting point for the ramp-in position. Remember that this is half the pivot point value.


The ramp-in move is a helical interpolation move with the X and Y axis moving incrementally 0.375 and Z moving 0.0089 upwards.


Look at line N70 and note that the ending Z absolute position is 0.0089 less than the starting point in block N50.


Block N80 cuts a 360º circular move using a negative I value. During this helical move the absolute Z value reduces by 0.0714.


Block N90 is the ramp-out position and again uses a 45º move in the X and Y axis with an incremental move of 0.0089.



I’m sure there are many thread milling methods out there.  We hope this methods is easy follow and helpful in further understanding thread milling.