rename XFactory.Regs to XFactory.Generators.

This commit is contained in:
2026-05-23 21:23:06 +08:00
parent 8b285cc863
commit 058003f395
155 changed files with 16416 additions and 1261 deletions
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Interface IMotionEventDef | HiAPI-C# 2025 ">
<meta name="description" content="One-shot motion event — present only on blocks that actually issue a motion command. Used by motion semantics (, , ) as the trigger to emit motion . NOT carried forward across blocks. Property names are used as JSON keys via nameof.">
<meta name="description" content="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 ; the motion semantics (, , ) then early-return on distance &amp;lt;= 0 and emit no . NOT carried forward across blocks. Reason for the &quot;programmed, not displaced&quot; definition: Fanuc G66 modal macro fires once per programmed motion command (per Fanuc spec — no distance gate), so .Expansion uses presence as its trigger. Suppressing the section on zero-distance moves would silently change G66 behaviour. The modal sibling separately latches the Group-01 mode for readers that only need to know &quot;what G-code is active&quot;. Property names are used as JSON keys via nameof.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
@@ -97,11 +97,24 @@ Interface IMotionEventDef
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
</div>
<div class="markdown summary"><p>One-shot motion event — present only on blocks that actually issue a
motion command. Used by motion semantics (<a class="xref" href="Hi.NcParsers.Semantics.McLinearMotionSemantic.html">McLinearMotionSemantic</a>,
<div class="markdown summary"><p>One-shot motion event — present on every block whose source <em>programmed</em>
a motion command, regardless of whether the resulting displacement is non-zero.
A redundant <code>G01 X10</code> on a block already at X10 still gets a
<a class="xref" href="Hi.NcParsers.Keywords.MotionEvent.html">MotionEvent</a>; the motion semantics
(<a class="xref" href="Hi.NcParsers.Semantics.McLinearMotionSemantic.html">McLinearMotionSemantic</a>,
<a class="xref" href="Hi.NcParsers.Semantics.McArcMotionSemantic.html">McArcMotionSemantic</a>, <a class="xref" href="Hi.NcParsers.Semantics.ClLinearMotionSemantic.html">ClLinearMotionSemantic</a>)
as the trigger to emit motion <a class="xref" href="Hi.Numerical.Acts.IAct.html">IAct</a>. NOT carried
forward across blocks. Property names are used as JSON keys via <code>nameof</code>.</p>
then early-return on <code>distance &lt;= 0</code> and emit no
<a class="xref" href="Hi.Numerical.Acts.IAct.html">IAct</a>. NOT carried forward across blocks.</p>
<p>
Reason for the "programmed, not displaced" definition: Fanuc G66 modal
macro fires once per <em>programmed</em> motion command (per Fanuc spec —
no distance gate), so <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html">FanucModalMacroSyntax</a>.Expansion uses
<a class="xref" href="Hi.NcParsers.Keywords.MotionEvent.html">MotionEvent</a> presence as its trigger. Suppressing the section
on zero-distance moves would silently change G66 behaviour. The modal
sibling <a class="xref" href="Hi.NcParsers.Keywords.MotionState.html">MotionState</a> separately latches the Group-01 mode for
readers that only need to know "what G-code is active".
</p>
Property names are used as JSON keys via <code>nameof</code>.
</div>
<div class="markdown conceptual"></div>