Browse Learn topics

Learn/GcodePilot/Positioning & offsets

Tool Height Offsets

At a glance

  • G43 H slots applied as native tool-length offsets — DRO, zeroing, and preview all compose automatically
  • Hx badge next to the WCS badge; activate, clear (G49), or measure from a dropdown
  • Measure captures the touch-off value — set one work zero, touch each tool, and change tools mid-job without re-touching-off the part

GcodePilot owns a per-machine tool height-offset table, since GRBL has no tool table of its own. A program selects a slot with G43 H<n> and cancels with G49; slots are 0-based and the count is a machine setting.

Offsets are applied as the controller's native dynamic tool-length offset, so the DRO work-Z, zeroing, jogging, and the toolpath preview all compose the offset automatically — no client-side Z math, and the execution highlight still points at your original G43 H line.

The workflow

Enter the probe's known length into H0. Load the probe, activate H0, jog to the surface, zero Z. Swap to a cutter, activate its slot, touch the same surface, and press Measure — the dialog stores exactly the value a bench height gauge would give (you can also just type it). From then on, activating that tool reads work-Z 0 at the surface: no part touch-off when changing tools mid-job. The Hx badge next to the WCS badge shows what's active and follows the running program.