Namespace Hi.NcParsers.Keywords
Classes
- CoordinateOffset
Work coordinate offset state written by LogicSyntaxs.CoordinateOffsetSyntax. Property names are used as JSON keys via
nameof.Managed commands (ISO): G54, G55, G56, G57, G58, G59, G59.1–G59.9. Siemens: G54–G57 + G505–G599 (extended), G500 to cancel. Heidenhain: CYCL DEF 247 (Datum Preset) / CYCL DEF 7 (Datum Shift).
- Feedrate
Section key holder + concrete implementation for IFeedrateDef.
- LocalCoordinateOffset
Local coordinate offset state (G52) written by IsoLocalCoordinateOffsetSyntax. Property names are used as JSON keys via
nameof.ISO: G52 X Y Z (local coordinate system shift, additive to G54 series). Cancelled by G52 X0 Y0 Z0 or M30 (program end). Siemens equivalent: TRANS / ATRANS (handled by separate syntax).
- SpindleSpeed
Section key holder + concrete implementation for ISpindleSpeedDef.
- TiltTransform
Concrete class for ITiltTransformDef section serialization.
Interfaces
- IFeedrateDef
Feedrate state written by FeedrateSyntax. Property names are used as JSON keys via
nameof.ISO standard: F command + G94 (per minute) / G95 (per revolution). Supported by all major CNC brands.
- IPositioningModeDef
JsonObject key for positioning mode (G90 absolute / G91 incremental). Written by PositioningModeSyntax, consumed by ProgramXyzSyntax.
- ISpindleSpeedDef
Spindle speed state written by SpindleSpeedSyntax. Property names are used as JSON keys via
nameof.ISO standard: S command. Supported by all major CNC brands.
- ITiltTransformDef
Tilt transform state written by tilt transform syntaxes. Property names are used as JSON keys via
nameof.Managed commands (ISO/Fanuc): G68 (2D rotation), G68.2 (tilted work plane), G69 (cancel). Siemens equivalent: CYCLE800, ROT/AROT (handled by separate syntax). Heidenhain equivalent: PLANE SPATIAL / PLANE RESET (handled by separate syntax).
- IToolHeightCompensationDef
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).
- ITransformationDef
Chain of named ProgramXyz → MachineCoordinate transformation entries. Stored as a JsonArray of entries, each with “Source” and “Mat4d” keys. Each contributing INcSyntax adds or replaces its own entry by source name. ProgramXyzSyntax composes all entries in order:
McXyz = ProgramXyz * T[0] * T[1] * ... * T[n].