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
@@ -218,6 +218,47 @@ Does nothing when the section already carries all three of X/Y/Z
</dd></dl>
<h2 id="Hi_NcParsers_LogicSyntaxs_McAbcXyzFallbackSyntax_examples">Examples</h2>
<p>All cases below stay on the non-dynamic branch (no
<a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_PivotTransformSource">PivotTransformSource</a> entry in the
chain) so the RTCP re-derivation path is skipped.</p>
<p>
Block has no <code>MachineCoordinateState</code> section at all (pure
parse-only) — the syntax early-returns and the block is unchanged:
</p>
#BeforeBuild:
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G00"] } }</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G00"] } }</code></pre>
MC already complete (all three of X/Y/Z present) — the second guard
fires and the section is preserved verbatim (no overwrite even if a
<code>#Previous:</code> MC differed):
#BeforeBuild:
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 10, "Y": 20, "Z": 30 } }</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 10, "Y": 20, "Z": 30 } }</code></pre>
Rotary-only MC on a rotary-only block (e.g. a 5-axis B+C trunnion
machine running <code>G00 B45. C90.</code>) — missing X/Y/Z are copied
from the <code>#Previous:</code> block's MC; the rotary keys keep their
existing positions (insertion order) and X/Y/Z are appended. The
previous block's MC carries the modal rotary state alongside X/Y/Z,
but the fallback only reads X/Y/Z from it:
#Previous:
<pre><code class="lang-csharp">{
"MachineCoordinateState": {
"X": 100, "Y": 200, "Z": 300, "B": 0, "C": 0
}
}</code></pre>
#BeforeBuild:
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "B": 45, "C": 90 } }</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{
"MachineCoordinateState": {
"B": 45, "C": 90,
"X": 100, "Y": 200, "Z": 300
}
}</code></pre>