Table of Contents

Interface IMotionEventDef

Namespace
Hi.NcParsers.Keywords
Assembly
HiMech.dll

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 via nameof.
public interface IMotionEventDef
Extension Methods

Examples

"MotionEvent": { "Form": "McLinear", "IsRapid": false }

Properties

Form

Interpolation form. See MotionForm.

string Form { get; set; }

Property Value

string

IsRapid

True for rapid traverse; false (default) for programmed feedrate.

bool IsRapid { get; set; }

Property Value

bool