Table of Contents

Interface IMachineCoordinateStateDef

Namespace
Hi.NcParsers.Keywords
Assembly
HiMech.dll

Modal machine-coordinate state — absolute six-axis machine position after the block has executed. Written on every block by motion-related LogicSyntaxs (McAbcSyntax, McAbcXyzFallbackSyntax, McXyzSyntax, MachineCoordSelectSyntax, G53p1RotaryPositionSyntax, ReferenceReturnSyntax); seeded on the init block by HomeMcInitializer; carried across non-motion blocks — and per-key completed on partially-written blocks (an XYZ-only motion block receives the carried modal rotary values) — by ModalCarrySyntax.

Only configured axes appear as keys (X/Y/Z/A/B/C). Non-existent axes (e.g., A/B/C on a 3-axis machine) are omitted rather than written as NaN sentinels.

After the PostLogic carry the section is a MODAL record: key presence means "state known", never "this block commanded the axis". Consumers needing "commanded" must read the block's Parsing words, the one-shot RotaryWords record (the rotary words this block itself spoke, written by McAbcSyntax), or compare values against the previous block (see LinearMotionUtil.HasRotaryMotion). The only presence-as-commanded carve-out is CompoundMotion.Items[*] item-level sections, which the carry never touches.

public interface IMachineCoordinateStateDef
Extension Methods

Examples

"MachineCoordinateState": { "X": 100.0, "Y": 50.0, "Z": -20.0 }
"MachineCoordinateState": { "X": 100.0, "Y": 50.0, "Z": -20.0, "A": 0.0, "B": 30.0 }

Properties

MachineCoordinateState

JSON object with per-axis absolute machine coordinate. Configured axes are present; unconfigured axes are omitted.

JsonObject MachineCoordinateState { get; set; }

Property Value

JsonObject