Namespace Hi.NcParsers.Semantics
Classes
- CompoundMotionSemantic
Resolves ICompoundMotionDef into acts by delegating ItemsKey to ResolveItems(JsonArray, JsonObject, Vec3d, IRapidFeedrateConfig).
- MachineCoordinateStepSemantic
Read MachineCoordinate from MachineCoordinate in JsonObject and produce ActMcXyzStep. Requires ProgramXyzSyntax to have computed McXyz first.
- McArcMotionSemantic
Resolves McArc motion into ActFeedrate + ActMcXyzSpiralContour. Reads arc center, plane normal, and direction from the Hi.Motion section written by CircularMotionSyntax.
- McLinearMotionSemantic
Resolves McLinear motion into ActFeedrate/ActRapid + ActMcXyzLinearContour or ActMcXyzabcLinearContour.
Discriminates by checking whether rotary axis values (A/B/C) are present in MachineCoordinate:
- XYZ only → ActMcXyzLinearContour
- XYZABC → ActMcXyzabcLinearContour with Fanuc
composite feedrate:
d = √(ΔX² + ΔY² + ΔZ² + ΔA_deg² + ΔB_deg² + ΔC_deg²)
- SpindleSpeedSemantic
Resolves ISpindleSpeedDef section into ActSpindleSpeed and ActSpindleDirection. Only emits when spindle speed or direction actually changes from the previous block.
Interfaces
- INcSemantic
Resolves SyntaxPiece into IAct sequence. Unlike INcSyntax which only transforms data in-place, INcSemantic produces machine actions from the parsed syntax data.