Counterboring is a machining operation that will enlarge an existing hole’s diameter to a specified depth. Traditionally, counterboring is done with either a special counterboring tool that has a pilot, or it is done with an end mill. In either case, the diameter of the tool (end mill or counterbore) must match the diameter that is counterbored.
Traditional counterboring is great for smaller holes, but as holes get larger, the cutting tools get more expensive. Additionally, when traditional techniques are used, a different tool is required for each diameter counterbore. This custom macro overcomes both limitations.
It uses a special milling cutter that has the ability to machine with a circular motion (XY) while plunging the hole’s depth (Z). This cutter usually uses indexable inserts. The milling cutter will continue machining in a helical fashion until the hole-bottom is reached—at which point it will make a circular motion to flatten the bottom of the counterbored hole and retract.
Depending on the milling cutter’s quality and rigidity, it may not produce as good of a finish on the walls of the hole as a traditional counterboring tool would produce. However, because most counterbored holes simply provide some kind of clearance, finish quality is usually not a major consideration when counterboring.
Here is a drawing that shows the related arguments:
Here is a sample calling program that uses the custom macro:
O0001 (Program number)
N150 T03 M06 (Place cutter in spindle)
N155 G54 G90 S1000 M03
N160 G00 X3.0 Y3.0
N165 G43 H01 Z0.1 M08
N170 G65 P1000 X3.0 Y3.0 Z0 D0.5 H2.0 T1.0 Q0.075 M1.0 F10.0
N175 G91 G28 Z0 M19
Here is the custom macro:
IF [#13 EQ 0]GOTO 5 (Test milling style)
#105 = 3 (Climb milling)
N5 #105 = 2 (Conventional milling)
N6G00 X#24 Y#25 (Move to hole center)
X[#24-#11/2+#20/2] (Move to start position in X)
Z[#26 +0.1] (Move to clearance position in Z)
G#105 I[#11/2-#20/2] Z#26 F#9 (Helical move to surface)
#100 = FUP[#7/#17] (Number of passes)
#101 = #7/#100 (Depth per pass)
#102 = 0-#101 (Current ending depth)
#103 = 1 (Counter)
N1 IF [#103 GT #100] GOTO 75 (Test if finished)
G#105 I[#11/2-#20/2] Z#102 F#9
(Make helical pass)
#102 = #102 -#101 (Step current ending depth)
#103 = #103 +1 (Step counter)
GOTO 1 (Go back to test)
N75 G#105 I[#11/2-#20/2] F#9 (Flatten bottom of hole)
G00 X#24 Z[#26+0.1] (Come out of hole in Z and to center in X)