Tool Centre Point Control (G43.4 / G43.5)

In simultaneous 5-axis cutting, the rotary axes move while the tool is cutting — and every degree of rotation swings the tool tip away from where the linear axes put it, because the tip sits some distance from the machine’s centre of rotation. Tool centre point control (TCP, sometimes TCPC) is what makes that manageable: with it on, you program the tool tip (or the tool-axis direction) against the part, and the control continuously moves the linear axes to keep the tip exactly on your programmed path as the rotaries turn. Without it, the same program gouges. Fanuc offers two types — G43.4 and G43.5 — plus related tool-length commands for tilted and nutating heads. This page is derived from FANUC’s Series 30i/31i/32i-B Plus Operator’s Manual (B-64724EN), §22.1.

G43.4 on program the tip Rotary moves A / B / C turns Linears compensate X / Y / Z adjust tip on path
With TCP active you program the tool tip against the part; when a rotary axis turns, the control moves the linear axes to hold the tip on the programmed path. Turn it off (G49) and the tip is no longer compensated.

The Two Types: G43.4 and G43.5

CommandTypeYou program…
G43.4 H_Tool centre point control, type 1The tool-tip position and the rotary-axis positions. The control keeps the tip on the path as the rotaries move. Best when the drawing gives you tip coordinates + rotary angles.
G43.5 H_Tool centre point control, type 2The tool-tip position and the tool-axis direction (as a vector or two angles) rather than explicit rotary positions. The control resolves the rotary axes. Best for CAM output that gives tool vectors.
G49CancelEnds tool centre point control.

H_ selects the tool-length offset, as with ordinary G43. The essential difference from plain tool length compensation is that TCP is dynamic: it recomputes the linear-axis compensation every interpolation step as the rotaries turn, so the programmed point stays on the tool tip throughout the move — not just at the block endpoints.

The Rest of the G43 Family (Tool Length in a Tilted/Nutating Axis)

Two related commands handle tool length when the head is tilted but you’re not running full TCP:

CommandMeaning
G43.1Tool length compensation in the tool-axis direction — applies the length offset along the (tilted) tool axis rather than always along Z. The right choice for 3+2 where the head is indexed to an angle.
G43.3Nutating rotary head tool length compensation — the specialised case of a head whose rotary axis is set at a compound (nutating, e.g. 45°) angle rather than square to a linear axis.

Think of it as a ladder: G43 (length along Z) → G43.1 (length along the tool axis) → G43.3 (length along a nutating axis) → G43.4/G43.5 (full dynamic tip control while the rotaries move).

TCP vs. G68.2 vs. G54.4

CommandMotion?What it’s for
G43.4 / G43.5Simultaneous — rotaries move while cuttingSculptured-surface 5-axis; keep the tip on a path.
G68.2 / G53.1Indexed (3+2) — rotaries positioned then heldMachining a feature designed at an angle, in its own flat plane.
G54.4 PnNone — a coordinate correctionCompensating a part clamped slightly out of position.

Parameters by Axis Configuration

TCP can only hold the tip on path if it knows the machine’s rotary geometry, and that geometry is described by the same configuration-dependent kinematics parameters as tilted working plane (FANUC B-64730EN §4.104). Parameter No. 19680 declares the machine type — 2 tool/head rotation, 12 table rotation, 21 mixed — and that decides which position/offset vectors you populate:

Configuration (No. 19680)Vectors to populate (X / Y / Z of the basic three axes)
Table rotation (12)19700–19702 rotary table position — required; 19703–19705 offset between the first & second table rotation axes (trunnion dial-in).
Tool / head rotation (2)19709–19711 offset between the tool axis & the tool rotation axis — required; 19712–19714 offset between the second & first tool rotation axes.
Mixed (21)The tool-axis offset vectors and the table rotary axis’s position — one from each side.

Common to every type: No. 19681 / 19686 (rotation-axis numbers), No. 19657 (master rotation axis), No. 19696 (rotary config), No. 1006 #0 (mark them rotation axes). The axis pair (AB / AC / BC) isn’t chosen by which offset components you set — it’s the direction codes No. 19682 / 19687 (1 = X, 2 = Y, 3 = Z); the offset vectors are full measured geometry. The position vectors must be set for TCP to place moves correctly; the axis-intersection offsets are the accuracy dial-in on a real machine. The TCP-specific behaviour parameters in §4.104 (feed handling, singular-posture avoidance, tolerances) are MTB-configured. This is the same kinematics setup covered in tilted working plane (G68.2) — including its axis-direction table — a machine set up for one is set up for the other.

See also: the cross-control overview is in 4th/5th Axis, Tilted Work Planes & TCP. The same idea on other controls: Siemens keeps the tip on path with TRAORI; Heidenhain with FUNCTION TCPM (or the legacy M128). Neighbouring Fanuc features: tilted working plane (G68.2) and workpiece setting error compensation (G54.4).

Sources: FANUC Series 30i/31i/32i-MODEL B Plus Operator’s Manual (Common to Lathe/Machining Center), B-64724EN/01 — §22.1 Tool Centre Point Control, plus the G43.1/G43.3 tool-axis-direction commands; and FANUC Parameter Manual B-64730EN/01 — §4.104 Parameters of Tool Centre Point Control.

Have a question or want to contribute?

Contact us with corrections, additions, or topics you'd like covered.

Get in Touch