Interface IMachineCoordinateStateDef
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 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; }