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, 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; }