A Higbee Thread Milling Custom Macro
Higbee threads provide a full thread form at the very start of the thread. The sharp edge is removed during the machining process.
A Higbee thread, also known as a “blunt-start” thread, provides a full thread form at the very start of the thread. Without Higbee milling, and especially when the diameter being threaded is not chamfered, the finished thread will feather down to a very sharp edge. If not deburred, this makes the workpiece dangerous to handle. It also makes for a weak thread and can cause cross threading when fastening to mating parts. With a Higbee thread, the sharp edge is removed during the machining process.
With lathe work, the Higbee portion of the thread can be machined after normal threading with a threading canned cycle. The canned cycle allows fine-tuning if the Higbee portion of the thread does not come out perfectly on the first try.
Higbee threads are also machined on machining centers, but most CNCs do not have a canned cycle for this purpose. After helically milling the thread with a thread-milling cutter, a standard end mill is used to helically mill the Higbee portion of the thread. As with any thread-milling operation, the amount of Z-axis departure per circular motion is related to the portion of a full circle that is being milled.
While Higbee thread milling may be easy enough to program using a CAM system, there will be no easy way to fine tune the machining process at the machine if the Higbee portion of the thread is not coming out as desired. Indeed, it can be difficult to predict the angular positions where the sharp edge and full thread form will be located prior to thread milling a workpiece. The custom macro shown here will mill the Higbee portion of the thread and allows fine tuning at the machine with real-time program edits.
Our example custom macro machines the Higbee portion of an internal right-hand thread with a right-hand milling cutter; therefore, the milling cutter will be conventional milling. Cutter radius compensation is used (G42), so fine tuning the diameter being milled can be easily controlled with an offset. The logic used here could be applied to external and left-hand threads as well.
See Figure 1 to understand most of the input values.
Below is an example calling program. All input arguments are described. All will be tested in the custom macro to set default values and confirm that mandatory arguments have been specified.
- %
- O0001
- (X - CENTER IN X - DEFAULT - 0)
- (Y - CENTER IN Y - DEFAULT - 0)
- (Z - Z SURFACE TO START HELICAL MILLING)
- (B - BIG, MAJOR, DIAMETER)
- (S - SMALL, MINOR DIAMETER)
- (Q - PITCH OF THREAD)
- (A - STARTING ANGLE - ZERO IS THREE O'CLOCK, CCW IS POSITIVE)
- (M - ANGULAR AMOUNT TO MILL - M180.0 IS 1/2 CIRCLE)
- (D - PLANNED CUTTER DIAMETER)
- (T - CUTTER COMP OFFSET NUMBER, CUTTER CENTERLINE PATH IS PROGRAMMED - PLACE DEVIATION IN OFFSET)
- (C - XY CLEARANCE FOR APPROACH AND RETRACT - DEFAULT - CUTTER RADIUS PLUS 0.5)
- (W - Z APPROACH AND Z RETRACT CLEARANCE PLANE RELATIVE TO Z-ZERO)
- (F - MILLING FEEDRATE)
- (E - FAST FEEDRATE - DEFAULT - 100.0 IPM)
- (U - MAXIMUM RADIAL CUT DEPTH)
- (V - HIGBEE PULLOUT ANGLE, MUST BE BETWEEN 45 AND 90 DEGREES - DEFAULT 90.0 DEGREES, STRAIGHT PULLOUT)
- N005 T15 M06
- N010 G53 Z0
- N015 G54 G40 G00 G90 X0 Y0
- N020 G43 H15 Z3.0
- N025 S550 M03
- N030 G65 P1000 Z0 B14.954 S13.370 Q1.0 D2.5 A45.0 M225.0 T15.0 U0.100 V45.0 C1.5 W3.0 F20.0
- N035G90 G00 Z3.0
- N040 G00 G91 G28 Z0.0
- N045 M30
- %
Here is the custom macro:
- %
- O1000 (HIGBEE THREAD MILLING CUSTOM MACRO)
- (SET DEFAULTS)
- IF[#24EQ#0] THEN #24=0 (X DEFAULT)
- IF[#25EQ#0] THEN #25=0 (Y DEFAULT)
- IF[#3EQ#0] THEN #3=#7/2+0.5 (C DEFAULT)
- IF[#8EQ#0] THEN #8=100.0 (E DEFAULT TO 100 IPM)
- IF[#22EQ#0] THEN #22=90.0 (V DEFAULT)
- (TESTING MANDATORY VARIABLES)
- IF [#26 EQ #0] THEN #3000=102 (Z MISSING IN CALL)
- IF [#2 EQ #0] THEN #3000=103 (B MISSING IN CALL)
- IF [#17 EQ #0] THEN #3000=104 (Q MISSING IN CALL)
- IF [#1 EQ #0] THEN #3000=107 (A MISSING IN CALL)
- IF [#20 EQ #0] THEN #3000=109 (T MISSING IN CALL)
- IF [#7 EQ #0] THEN #3000=110 (D MISSING IN CALL)
- IF [#9 EQ #0] THEN #3000=112 (F MISSING IN CALL)
- IF [#19 EQ #0] THEN #3000=114 (S MISSING IN CALL)
- IF [#21 EQ #0] THEN #3000=115 (U MISSING IN CALL)
- IF [#23 EQ #0] THEN #3000=117 (W MISSING IN CALL)
- (TESTING FOR ERRONEOUS INPUT)
- IF[#22GT90.0]THEN #3000=116 (V VALUE TOO LARGE)
- IF[#22LT45.0]THEN #3000=117 (V VALUE TOO SMALL)
- (DETERMINE VALUES NEEDED FOR INTERNAL RIGHT-HAND THREAD)
- #10=225.0+45-#22 (ANGLE FOR FEED OFF)
- #1=#1-#13 (CONVERT A)
- #27=[#2-#19]/2 (THREAD DEPTH)
- (PASSES LOOP)
- #131=1 (COUNTER)
- #132=FUP[#27/#21] (NUMBER OF PASSES)
- #133=#27/#132 (RECALCULATED RADIAL DEPTH PER PASS)
- #126=#27/#132 (CURRENT RADIAL DEPTH)
- #127=#2/2-#7/2-#27+#126 (CURRENT RADIUS TO MILL)
- #30=[#1+#13] (STARTING ANGLE FOR MILLING)
- N50 IF[#131GT#132]GOTO 90
- (MOTION CALCULATIONS)
- #111=#24+COS[#30]*[#127-#3-#27] (APPROACH POSITION IN X)
- #112=#25+SIN[#30]*[#127-#3-#27] (APPROACH POSITION IN Y)
- #113=#24+COS[#30]*#127 (X AT START OF HIGBEE MILLING)
- #114=#25+SIN[#30]*#127 (Y AT START OF HIGBEE MILLING)
- #115=#24+COS[#1]*#127 (X AT END OF HIGBEE MILLING)
- #116=#25+SIN[#1]*#127 (Y AT END OF HIGBEE MILLING)
- #118=COS[#1+#10]*[#3+#27] (FEED OFF X - INCREMENTAL)
- #119=SIN[#1+#10]*[#3+#27] (FEED OFF Y - INCREMENTAL)
- #120=ATAN[ABS[SIN[90-#22]*[#3+#27]]]/[#127-[ABS[COS[90-#22]*[#3+#27]]]] (ANGLE FOR Z MOVE DURING FEED OFF)
- #121=[COS[#30]*#127]*[0-1] (I VALUE)
- #122=[SIN[#30]*#127]*[0-1] (J VALUE)
- (MOTIONS)
- G01 X#111 Y#112 F#8
- G01 Z[#23]
- G01 Z#26
- G01 G42 D#20 X#113 Y#114 F#9
- G02 X#115 Y#116 Z[#26-#13/360*#17] I#121 J#122
- G91 G01 X#118 Y#119 Z-[#120/360*#17]
- G90 Z[#23] F#8
- G40
- (END LOOP)
- #131=#131+1 (STEP COUNTER)
- #126=#126+#133 (STEP CURRENT RADIAL DEPTH)
- #127=#2/2-#7/2-#27+#126 (STEP CURRENT RADIUS TO MILL)
- GOTO50
- N90 M99
- %
Related Content
How to Determine the Currently Active Work Offset Number
Determining the currently active work offset number is practical when the program zero point is changing between workpieces in a production run.
Read MoreTroubleshooting Differences in Programming Methods, Machine Usage
Regardless of the level of consistency among machines owned by your company, you probably have experienced consistency-related issues. Here are some tips to help solve them.
Read More4 Commonly Misapplied CNC Features
Misapplication of these important CNC features will result in wasted time, wasted or duplicated effort and/or wasted material.
Read More6 Variations That Kill Productivity
The act of qualifying CNC programs is largely related to eliminating variations, which can be a daunting task when you consider how many things can change from one time a job is run to the next.
Read MoreRead Next
Rego-Fix’s Center for Machining Excellence Promotes Collaboration
The new space includes a showroom, office spaces and an auditorium that will enhance its work with its technical partners.
Read MoreThe Future of High Feed Milling in Modern Manufacturing
Achieve higher metal removal rates and enhanced predictability with ISCAR’s advanced high-feed milling tools — optimized for today’s competitive global market.
Read More5 Rules of Thumb for Buying CNC Machine Tools
Use these tips to carefully plan your machine tool purchases and to avoid regretting your decision later.
Read More