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
@@ -211,6 +211,37 @@ that need the current-block ABC to compute transforms
</dd></dl>
<h2 id="Hi_NcParsers_LogicSyntaxs_McAbcSyntax_examples">Examples</h2>
<p>Cases 1 and 2 inject a <code>TestDeps.AxisConfig</code> declaring B and C
as <a class="xref" href="Hi.NcParsers.Dependencys.AxisType.html#Hi_NcParsers_Dependencys_AxisType_Rotary">Rotary</a>. Values are stored as raw degrees;
shortest-cyclic resolution is a downstream pass via
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html">McAbcCyclicPathSyntax</a>.</p>
<p>
No <a class="xref" href="Hi.NcParsers.Dependencys.IMachineAxisConfig.html">IMachineAxisConfig</a> dep on the list — early-return
no-op (the syntax only fires when rotary axes are declared):
</p>
#BeforeBuild:
<pre><code class="lang-csharp">{ "Parsing": { "B": 45, "C": 90 } }</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{ "Parsing": { "B": 45, "C": 90 } }</code></pre>
AxisConfig declares B+C rotary; <code>Parsing.B/C</code> are consumed
into a freshly created <code>MachineCoordinateState</code> section
(X/Y/Z are deliberately left out so <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html">McXyzSyntax</a> can
still derive XYZ later — see class summary):
#BeforeBuild:
<pre><code class="lang-csharp">{ "Parsing": { "B": 45, "C": 90 } }</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "B": 45, "C": 90 } }</code></pre>
Only <code>Parsing.B</code> on the current block; <code>#Previous:</code>
carries a full MC including C=0. The missing C is filled from the
per-axis backward lookback (<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">FindPreviousMcAxis(LazyLinkedListNode&lt;SyntaxPiece&gt;, string)</a>):
#Previous:
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "B": 0, "C": 0 } }</code></pre>
#BeforeBuild:
<pre><code class="lang-csharp">{ "Parsing": { "B": 30 } }</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "B": 30, "C": 0 } }</code></pre>