Table of Contents

Namespace Hi.NcParsers.Dependencys

Classes

ControllerParameterTableBase

Base class for brand-specific controller parameter tables. Provides shared data structures, XML IO, and IHomeMcConfig

  • IMachineAxisConfig implementations. Subclasses define brand-specific parameter numbers, XML attribute names, and derived convenience properties.
HeidenhainDatumTable

Heidenhain datum preset and datum shift tables. CYCL DEF 247 Q339=N reads from DatumPresetTable, CYCL DEF 7 #N reads from DatumShiftTable. Each table maps an integer ID (1–20) to a Vec3d offset.

Interfaces

ICannedCycleConfig

Canned cycle configuration parameters. Implemented by brand-specific parameter tables (e.g., FanucParameterTable for Fanuc #4002, SyntecParameterTable for Syntec Pr4002) and by FallbackConfig as a safety net.

Siemens and Heidenhain specify peck clearance per-call (CYCLE83 parameter / CYCL DEF), so their tables do not implement this interface. The FallbackConfig provides the default value in those cases.

IHomeMcConfig

G28 first reference position (home machine coordinate) per axis.

IMachineAxisConfig

Machine axis configuration: which axes exist and their types. Compatible with Fanuc, Siemens, Heidenhain, Mazak, Okuma.

INcDependency
IRapidFeedrateConfig

Provides per-axis rapid traverse feedrate for motion semantics. Implemented by ControllerParameterTableBase using brand-specific parameter numbers (e.g., Fanuc #1420, Siemens MD32000, Heidenhain MP1010).

IToolOffsetConfig

Tool offset configuration indexed by a single integer offset number. Applies to Fanuc (H/D numbers), Heidenhain (tool number), Mazak, Okuma, and other ISO-compatible controllers where one integer selects the offset row.

For Siemens (840D/Sinumerik) where offsets are addressed by (tool number, cutting edge D number), see ISiemensToolOffsetConfig.

IToolingMcConfig

Machine position axes move to during tool change (M06).

Enums

AxisType

Axis type: linear (translation), rotary (rotation), or spindle (speed/positioning dual mode).