n — 3D cutter compensation (surface normal)Motion

Program the CONTACT point; `n=(…)` offsets to the tool tip via the surface normal.

g1 x<..> y<..> z<..> n=(nx,ny,nz) [o=(…)|lead=…] [f<feed>]

Equivalents: Siemens CUT3DC · Heidenhain LN vectors

ParameterTypeDefault
nunit vectorsurface normal at the programmed contact point

For ball tools (3-axis or simultaneous 5-axis): the move's target is the surface CONTACT point; the control offsets the tool tip by R·n̂ − R·t̂, where t̂ is the move's tool axis and R the active tool's radius (plus wear, when the runtime adjusts it). With the tool axis aligned to the normal the offset vanishes. Needs an active tool with a diameter — CAM posts emit contact points + normals and stay tool-independent: swap to a resharpened Ø9.8 ball and the same program cuts to size.

Ball-mill a 45° flank
tool 5 = endmill(dia=10)
g1 x20 y0 z0 n=(0.707,0,0.707) f800

See also: comp · g1

← all commands