Table of Contents

Interface IToolHeightCompensationDef

Namespace
Hi.NcParsers.Keywords
Assembly
HiMech.dll

Tool height compensation state written by ToolHeightOffsetSyntax. Property names are used as JSON keys via nameof. The JSON section can be deserialized to an instance implementing this interface.

Managed commands (ISO/Fanuc): G43, G44, G49. Fanuc extension: G43.4 (TCPM — parsed only in Fanuc syntax list). Siemens equivalent: TRAFOOF/TRAORI (handled by separate syntax). Heidenhain equivalent: TOOL CALL / M128/M129 (handled by separate syntax).

public interface IToolHeightCompensationDef
Extension Methods

Examples

"ToolHeightCompensation": {
  "Offset_mm": 99.98,
  "Term": "G43",
  "OffsetId": 1,
  "IsRotaryDynamic": false
}

Properties

IsRotaryDynamic

True when this block is under RTCP modal (G43.4 / TRAORI / M128) and the rotary axes differ from the previous block, making the per-step MC path non-linear even though CL (tool-tip) is commanded linearly. Motion semantics use this flag to pick ClLinear (per-step IK) rather than McLinear (fast MC lerp).

Separated from Term so that consumers do not have to hard-code brand-specific strings to detect "RTCP + rotary changing".

bool IsRotaryDynamic { get; set; }

Property Value

bool

OffsetId

Generic offset selector: Fanuc H number, Heidenhain T number, Mazak/Okuma H number. For Siemens (T+D addressing), see ISiemensToolOffsetConfig.

int OffsetId { get; set; }

Property Value

int

Offset_mm

Derived effective tool height compensation in mm. Computed from Term and OffsetId: looks up the offset table for OffsetId, obtains the effective height (geometry minus wear), then applies sign from Term (positive for G43/G43.4, negative for G44, zero for G49).

double Offset_mm { get; set; }

Property Value

double

Term

CNC term for tool height compensation: “G43”, “G43.4”, “G44”, “G49”. Brand-specific syntaxes may write equivalent terms (e.g., “TRAORI” for Siemens, “M128” for Heidenhain).

string Term { get; set; }

Property Value

string