By Jeffrey G. Casto, President of Virtual Manufacturing Services, Inc.
Over the past 30+ years of my career I have been exposed to a multitude of arguments both for & against the two methods of CNC Cutter Radius Compensation (CRC). This article is intended to communicate that experience into a single highly efficient focused solution.
Tool Centerline Programming- a simplified Machining Strategy for saving set-up time, reducing debugging time, and simplifying the entry and adjustment of compensation values on CNC Machine Tools.
Historic Differences: For simplicity, the two methods of CRC boil down to the values that are entered into the CNC Control Registers for a given tool. With Tool Centerline Programming the initial CRC value is set to 0. With Tool Edge Programming the initial CRC value is set to the cutter Ø (or radius).
In the early years, the argument arose from two polar camps, the manual programmer vs. the computer assisted programmer.
The manual programmers camp argued, that Tool Edge Programming simplified their calculation of g-code coordinates for the program (known as blueprint dimension programming), and allowed the setup person to choose the appropriate cutter sizes at the machine tool. The pitfalls of this method were many. Cutter Comp Reversal Errors were a common occurrence. These errors can take significant time to debug, and required a g-code skilled set-up person and lost machine time. Simply changing a cutter size affected the required length of comp-on (G41, G42) move and comp-off (G40) move as well as the radius of the entry and exit arcs. A significantly more onerous issue occurred with inside arcs, and programmed features, that a larger cutter selected at the machine tool did not fit, which result in serious errors. This forced the set-up person to thoroughly study the details that were programmed or suffer a Cutter Comp Reversal Error or worse yet, a compensation induced crash. Insufficient clearance at approach, selecting a milling cutter that doesn't fit into a recess, forgetting to cancel compensation between multiple contours, speed, feed and tool loading issues are just a few of the burdens on the setup person. The overall effect of Tool Edge Programming yields a protracted setup time and a corresponding loss of valuable spindle production time.
The computer assisted programmers camp was better positioned to leverage Tool Centerline Programming as the CAM package took over the complex task of calculating the compensated offset toolpath g-code coordinates. All toolpath is calculated to the centerline of the desired cutter Ø. The programmer selects the proper tools and parameters for the process, and provides documentation, and a corresponding comment in the CNC program. The setup person follows the script (documentation), thus reducing the setup time.
The Simplified Machining Strategy: Properly following these directions, both in GibbsCAM and at the Machine Tool, will result in zero edit toolpath, which is easily compensated at the machine tool, without Cutter Compensation Errors.
GibbsCAM Tool Centerline Programming: In any milling process, simply check the Cutter Radius Comp. On radio button, and your posted G-code will automatically engage G41-G42, and disengage G40 on all effected toolpath.
GibbsCAM Factory Floor Benefits of Tool Centerline Programming:
On the modern state-of-the-art factory floor, reduced staffing, shorter delivery cycles, reduced profit margins, yield an environment with little tolerance for lost spindle time. This is where Tool Centerline Programming really shines.
1) Load the specified tools into the corresponding positions on the machine tool. For enhanced speed common tools may remain pre-loaded and touched off.
2) Set all tool diameter values to 0. The GibbsCAM produced G-code has already been offset for the tool during programming.
3) Set the tool length values as required. This step remains unaffected by Tool Centerline Programming.
4) Set your part WFO as required. This step remains unaffected by Tool Centerline Programming.
5) Run your first article. With experience and a properly tuned GibbsCAM post processor, this step is routinely run live, without a dry-run. This will significantly reduce setup time. Note: the GibbsCAM Programmer has completed the graphical verification of the machining process during the programming phase. GibbsCAM is trapping the common programming errors prior to sending the G-code to the setup person.
6) Adjust tool offset to meet dimensional requirements. After cutting the first article, measure key details to determine any deviation from desired part tolerance.
A. Simply enter the inverse of the remaining stock value directly into the specific cutters CRC register.
EXAMPLE: Target Bore Size = 4.0000, after machining Measured Bore Size = 3.9980, Enter Tool CRC value -0.0020 and recut.
EXAMPLE: Target Post Size = 1.5000, after machining Measured Post Size = 1.5050, Enter Tool CRC value -0.0050 and recut.
B. Do not over complicate this step!! It is actually very simple. Envision a snap gauge set to Read 0.0000 for an in tolerance target. When the snap gauge is placed on the machined part, simply negate the resulting number and place it in the register. We can easily teach lower level staff to handle adjusting register with this method.
C. In the Entry And Exit Line field, input the maximum amount of cutter adjustment you desire at the machine tool. Under Advanced Entry Exit, use the CRC Line field.
1) i.e. a 1” cutter is programmed, but at the machine we use a 7/8” cutter we will need at least 1/16” in the Line Field.
2) Think of this value a maximum adjustment field. If we use CRC Line Field .020” then the register on the machine tool cannot exceed .020” without error.
3) By keeping this Line Move (Comp On/Comp Off Move) small, our resultant cycle time is also optimized.
4) When changing cutter sizes within GibbsCAM, no additional work is necessary. All adjustments are handled automatically by the system.
5) When changing cutter sizes within GibbsCAM, the 90° Radius Field is not affected, the system automatically adjusts the toolpath based on the new cutter size.
6) These values may be stored as “Saved Processes” for programming automation. Fill it in once and use it forever….