Tool Compensation

The scales on a milling machine measure the spindle, but the cut is made by the edge of the cutter, half a diameter away from it, and the tip of the cutter sits at a different height in the spindle for every tool in the rack. Tool compensation corrects the readout for both. Cutter radius compensation shifts the X and Y readouts by half the tool diameter, so the number on the screen is the position of the cutting edge rather than the spindle centerline. The tool length offset (the tool height offset, on some consoles) shifts the Z readout by the stored length of the tool, so zero still refers to the surface it was set from after a tool change. Machinists usually shorten the first to "cutter comp"; if you know G41/G42 and G43 from CNC work, this is the readout version of the same two ideas.

Without it, working to an edge means adding or subtracting the tool radius on every move and getting the sign right each time, and every tool change means re-indicating the surface. That arithmetic is where dimensions get missed by exactly one cutter diameter.

Both offsets are kept as a separate tool offset coordinate system rather than being folded into the absolute or incremental origin. They can be changed or cleared at any point without disturbing anything you have already zeroed.

Opening the Dialog

To open the "Tool Compensation" dialog, press the "Tool Compensation" button in the function strip. On a mill it sits right after "Set Z Reference", and it is shown in cutting mode only. The same dialog opens from the cutter icon in the toolbar, or from the tool's name shown in amber next to it, and from the tool button in the quick row at the top of the Graphical View display.

The Tool Compensation dialog with a half-inch end mill selected from the library, its diameter and Z offset shown as plain values, the Z Offset switch on, the Tool Position pad with the center cell lit, the Keep Current Readings switch off, and the Clear Compensation, Cancel, and Apply buttons
Fig. 1: The "Tool Compensation" dialog with a library tool selected

The whole tool change takes one trip through this dialog. Pick the tool, decide whether its Z offset applies, pick the side of the cut, and press "Apply".

Selecting a Tool

The dialog takes the cutter two ways: from the tool library, or as a diameter typed in for the job in front of you. Only a library tool has a Z offset.

Library Tool

The "Tool" dropdown lists "--Custom--" first and then every tool held in the tool library, sorted by name. It opens on the tool that is currently applied, or on "--Custom--" when none is. With a tool selected, the rows below show its diameter and its Z offset, each in the units the tool was entered in. Those values belong to the library entry, so they can't be edited here.

Pressing "Apply" with a library tool selected changes tools: the tool's Z offset goes on the Z readout, its diameter and flute count become the current cutter for radius compensation, the chip load value, and the cutter drawn in the graphical view, and the tool is marked as applied in the "Tool Offsets" panel.

This is the quicker route for a cutter you reach for often, and it keeps one measured diameter and one measured length behind every use of that tool.

Z Offset

The "Z Offset" row shows the selected tool's stored length, with a switch at the right. With the switch on, "Apply" puts the offset on the Z readout. With the switch off, "Apply" uses only the tool's diameter and flute count, and Z stays uncompensated. The value is dimmed while the switch is off.

The switch is for a cutter whose diameter is known but whose height is not, such as a tool reset in a collet for this job. The tool is still applied, so its diameter and flute count are in force. TouchDRO remembers the setting for each machine profile, along with the applied tool, and a tool applied from the "Tool Offsets" panel uses the stored setting.

A tool stored without a Z offset shows "Not set" in this row, and the switch is disabled. Selecting such a tool clears any Z offset that was in force, since this is the tool in the spindle and it has no length on record.

Keep Current Readings

The "Keep Current Readings" switch is for a Z zero that was set with the wrong tool in the spindle. Normally, applying a tool shifts the Z readout by the tool's offset. With the switch on, "Apply" leaves the readout where it is: TouchDRO takes the selected tool as the one that is at the current position, and moves the Z zero by the tool's offset to match. In other words, it is a one-time correction of the Z origin, not a mode. Radius compensation is applied to X and Y as usual.

While the switch is on, a banner at the top of the dialog says what will happen, and the "Apply" button reads "Apply, Keep Readings". The switch is off every time the dialog opens, and it is disabled for "--Custom--", since a custom cutter has no Z offset to correct by. "Keep Current Readings" needs a live position, and TouchDRO will refuse it with a message when the adapter is not connected.

The Tool Compensation dialog with Keep Current Readings switched on, an orange banner reading The Z readout won't move, this tool is taken as the one at the current position, and Z zero moves to match, and the positive button reading Apply, Keep Readings
Fig. 2: "Keep Current Readings" switched on. The banner explains the correction, and the button reads "Apply, Keep Readings"

Tool Diameter and Units

Leaving "Tool" on "--Custom--" enables the "Tool Diameter" field and the "Units" selection. Enter the diameter of the cutter, not its radius, and set "Units" to match the value you entered. The field accepts arithmetic and fractions, so a 3/8" endmill can be entered as "3/8".

The units belong to the entry rather than to the machine, so a metric cutter can be entered in millimeters on a readout you are working in inches. Switching the units with a diameter already typed converts the number rather than reinterpreting it.

A custom cutter is a diameter only. There is no "Z Offset" row for it, "Keep Current Readings" is disabled, and pressing "Apply" clears any Z offset in force and leaves no tool marked as applied. To keep a custom cutter, press the save icon beside the "Tool" dropdown. The "Add Tool" dialog will open with the diameter and units filled in, and once the tool is saved it is selected in the dropdown, ready to apply.

The Tool Compensation dialog with Custom selected, a save icon beside the Tool dropdown, a diameter of 0.25 typed into the Tool Diameter field, the Units radio buttons, and no Z Offset row
Fig. 3: A custom cutter is a diameter only. The save icon beside the "Tool" dropdown stores it as a library tool

Tool Position

Knowing the diameter tells TouchDRO how far to shift the readout. The "Tool Position" matrix tells it which way.

The nine cells describe where the cutter sits in relation to the workpiece, and each one is drawn as the cutter against the edges it is working to. Picking the cell that matches your setup will offset the readout so it shows the cutting edge nearest those edges. The pad opens on the direction currently in force.

The Center Position

The center cell applies no radius compensation, and the X and Y readouts will keep showing the spindle position. The tool stays applied, with its Z offset and flute count in force.

It is still worth selecting a tool this way. A selected cutter is what the chip load calculation needs, so the center position gives you a live chip load value and the cutter drawn to size in the graphical view, while leaving the X and Y readouts uncompensated.

Pressing "Apply" applies the tool and the position. "Cancel" closes the dialog and changes nothing.

How Compensation Appears on Screen

The Readout Screen

An axis carrying an offset will show its readout in amber rather than the usual color, so a compensated number is never mistaken for a plain one. X and Y turn amber with a radius compensation direction in force, and Z turns amber with a tool length offset applied. The "Tool Compensation" button in the function strip is lit whenever any of the three is in force.

The toolbar shows the applied tool's name in amber next to the cutter icon. For a custom cutter it shows the diameter and the direction instead, for example "⌀0.2500 in. ←".

The position slider below each readout shows the cutter as an amber band drawn to its diameter, with the green position marker at the point the readout refers to. In the center position the marker sits in the middle of the band. With a side selected, the marker moves to the edge of the band on that side, so the direction of the compensation is visible without reading digits, which is the part that is easy to get backwards.

TouchDRO readout screen with a one-inch shell mill applied in the front-left position, the X and Y readouts amber, and an amber band under each with the green marker at its edge
Fig. 4: A 1 in. shell mill applied in the front-left position. X and Y are amber, and the marker sits at the edge of the cutter band under each
The same readout screen with the tool in the center position, the readouts green, and the green marker in the middle of the amber cutter band under X and Y
Fig. 5: The same cutter in the center position. The readouts show the spindle, and the marker sits in the middle of the band

Graphical View

In the Graphical View display, the cutter is drawn as a partially transparent filled circle, sized to the tool diameter and placed according to the offset direction. It shows the material the tool is covering, which is the thing a set of coordinates cannot. The circle is drawn for any applied tool or custom diameter, in the center position included.

TouchDRO Graphical View with a translucent brown cutter circle drawn over a sub-datum point and the Display panel Tool Shape toggle enabled
Fig. 6: The cutter drawn in Graphical View, offset in the selected direction

Hiding the Cutter

The cutter circle can be switched off without clearing the offset. In the "Display" panel of the Graphical View display, the "Tool Shape" row carries a visibility toggle that hides the circle while the compensation stays active, and a half-opacity button that dims it.

This is useful on a crowded workspace, where a large cutter can sit over the sub-datums and guides you are trying to read.

Changing the Offset Direction

The direction usually needs to change several times over a single setup, so it can be changed without returning to the dialog. To bring up the same nine-cell widget in Graphical View, tap inside the cutter circle. The widget applies the new direction as soon as a cell is pressed, and changes nothing else: the tool and its Z offset stay as they were.

Nine-cell tool position widget open over the TouchDRO graphical view with the lower-right direction highlighted and the cutter circle underneath
Fig. 7: The tool position widget, opened by tapping the cutter in Graphical View

On a mill, the direction can also be set for you. With the "Auto Tool Offset" mode on, activating a guide will turn the offset toward it, so the readout shows the edge of the cutter closest to that guide. This is covered in "Working with Guides".

Changing Tools

A tool change has one meaning and three doors: the "Tool Offsets" panel beside the readouts, this dialog, and the cutter icon in the toolbar, which opens this dialog. Tapping a tool in the panel has the same effect as picking it in the dialog and pressing "Apply": the Z offset goes on the Z readout (unless the Z switch is off), the diameter and flute count become current, and the row turns green. The panel is covered in "Mill Tool Library".

Changing tools keeps the side of the cut. If you rough a wall with a 3/8" endmill on the left side and swap to the finisher, the compensation stays on the left side and is recalculated for the new diameter, so the X and Y readouts jump by the difference in radius. The direction changes only when you change it, from the pad or by activating a guide with "Auto Tool Offset" on.

Tapping the green row in the "Tool Offsets" panel removes the tool. This clears everything, the same as "Clear Compensation" below, with no confirmation.

Editing the tool that is applied updates the readouts. When you open it in the "Edit Tool" dialog, a notice at the top says "This tool is active. Changes will affect the live readouts.", and pressing "Save" recalculates the offsets from the new values, keeping the direction and the Z switch. The applied tool can't be deleted from "Saved Tools" while it is in use.

Clearing the Offset

There are three ways to remove the compensation, and they do not all remove the same thing:

  • Long-press the "Tool Compensation" button in the function strip while it is lit. TouchDRO will ask "Clear Tool Compensation", and "Yes" turns off the Z offset and the radius compensation and leaves no tool applied. The cutter disappears from Graphical View
  • Open the dialog and press "Clear Compensation" in the lower left corner. This does the same as the long-press, without asking first. The button is shown only while there is something to clear
  • Long-press inside the cutter circle in Graphical View. The "Clear Tool Radius Compensation" prompt will clear the direction only: the tool stays applied, its Z offset stays on the Z readout, and the circle stays on the screen, back on the spindle position
The Clear Tool Compensation confirmation over the readout screen, saying the Z offset and the cutter radius compensation will both be turned off and no tool will be applied, with No and Yes buttons
Fig. 8: The confirmation raised by long-pressing the "Tool Compensation" button

Clearing the offset returns the readouts to the spindle position, and the toolbar goes back to the white cutter icon and the machine profile name. Nothing else about the setup changes, since the offsets were never folded into the origins.

Tool Length Offsets

Machining a part rarely takes one cutter. A job can rotate through half a dozen or more of them, a center drill, two or three drills, an endmill, a chamfer tool, a reamer, and every one of them sits at a different height in the spindle. Re-indicating the surface is quick the first time and tedious by the sixth.

Repeatable tool holders take care of half of that. Holder systems that return a tool to the same position every time are available for most common spindle tapers, and once a cutter is set in one, its height stops changing from one use to the next. What is left is telling the readout what that height is, and that is the tool's Z offset in the library. Measure it once with the sync button in the "Edit Tool" dialog, and selecting the tool afterwards shifts the Z readout so zero still refers to the surface it was set from. The tool change costs a selection instead of a touch-off. Measuring offsets for a set of tools is covered in "Using a Tool Height Setter".

Two other functions deal with the same problem from different directions, and which one fits depends on whether the tool's length is a number you already have. The "Set Z Reference" function establishes where Z zero is in the first place, by touching a tool off against a height setter, a feeler gauge, or the work itself. It is the function to reach for at the start of a job, or whenever the datum rather than the tool has changed. The "Hold" function freezes the Z readout so a cutter can be swapped without losing the position: touch the old tool off against a setter, hold, change tools, bring the new tool down to the same setter, and release. Nothing has to be measured, but the setter has to come out for every change.

How to Use Cutter Radius Compensation

Squaring and Sizing Stock

Cleaning up a piece of rough stock asks two different things of the readout. While the first two faces are being cut, it has to show where the cut is landing. Once those faces are clean, it has to show how far the opposite faces are from them, which is the finished size of the part.

Compensation covers both, because the offset direction can be flipped once the first two faces are established. Those faces become the origin, and the readout then measures the remaining two against them.

Goal - square up a piece of stock carrying about 1/8" of excess material, then bring it to a finished size.

  1. Mount the stock in the vise with as much of it above the jaws as is safe to hold. The side of the endmill has to reach the full height of the faces being cut, so grip no more than the job needs.
  2. Load an endmill and open the "Tool Compensation" dialog. Select the cutter under "Tool", or leave it on "--Custom--" and enter its diameter and units. If the library tool has a Z offset you don't need for this job, switch "Z Offset" off.
  3. Set "Tool Position" to the lower left cell and press "Apply".
  4. Clean up the left face of the part. On the final pass, leave X where it is and long-press the X axis "Zero Set" button, which will set the absolute origin for X at the face you just cut.
  5. Clean up the front face the same way. On the final pass, leave Y where it is and long-press the Y axis "Zero Set" button.
  6. Change "Tool Position" to the upper right cell, either in the dialog or by tapping the cutter in Graphical View.
  7. Mill the right face until X reads the finished width, and the far face until Y reads the finished depth. The readout is measuring each cut from the face zeroed in step 4 or 5, so the number on screen is the dimension of the part.

Milling to a Guide Line

A pocket can be laid out as four guides, one per wall, and the cutter then run out to each of them in turn. With the "Auto Tool Offset" mode on, activating a guide will turn the offset toward it, so the readout shows the cutting edge facing that wall and reads zero when the wall is at size.

TouchDRO graphical view with four red guide lines forming a rectangular pocket and the brown cutter circle sitting against two of the guides
Fig. 9: A pocket bounded by four guides, with the cutter working to the active one

Worked examples for a slot and a rectangular pocket are in "Working with Guides".