Interface IMotionEventDef
One-shot motion event — present on every block whose source programmed
a motion command, regardless of whether the resulting displacement is non-zero.
A redundant G01 X10 on a block already at X10 still gets a
MotionEvent; the motion semantics
(McLinearMotionSemantic,
McArcMotionSemantic, ClLinearMotionSemantic)
then early-return on distance <= 0 and emit no
IAct. NOT carried forward across blocks.
Reason for the "programmed, not displaced" definition: Fanuc G66 modal macro fires once per programmed motion command (per Fanuc spec — no distance gate), so FanucModalMacroSyntax.Expansion uses MotionEvent presence as its trigger. Suppressing the section on zero-distance moves would silently change G66 behaviour. The modal sibling MotionState separately latches the Group-01 mode for readers that only need to know "what G-code is active".
Property names are used as JSON keys vianameof.
public interface IMotionEventDef
- Extension Methods
Examples
"MotionEvent": { "Form": "McLinear", "IsRapid": false }
Properties
Form
Interpolation form. See MotionForm.
string Form { get; set; }
Property Value
IsRapid
True for rapid traverse; false (default) for programmed feedrate.
bool IsRapid { get; set; }