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
@@ -190,6 +190,50 @@ Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax
</dd></dl>
<h2 id="Hi_NcParsers_LogicSyntaxs_LinearMotionSyntax_examples">Examples</h2>
<p>G00 explicit + <code>MachineCoordinateState</code> on the block — both the
modal <code>MotionState</code> and the one-shot <code>MotionEvent</code> are
written; <code>IsRapid</code> is set only on rapid (G00); the parsing flag
is consumed and <code>Parsing</code> is cleaned up:
#BeforeBuild:</p>
<pre><code class="lang-csharp">{
"Parsing": { "Flags": ["G00"] },
"MachineCoordinateState": { "X": 10, "Y": 20, "Z": 30 }
}</code></pre>
<p>#AfterBuild:</p>
<pre><code class="lang-csharp">{
"MachineCoordinateState": { "X": 10, "Y": 20, "Z": 30 },
"MotionState": { "Term": "G00" },
"MotionEvent": { "Form": "McLinear", "IsRapid": true }
}</code></pre>
<p>G01 explicit + MC — same shape but <code>IsRapid</code> is omitted on the
event section (only written when true):
#BeforeBuild:</p>
<pre><code class="lang-csharp">{
"Parsing": { "Flags": ["G01"] },
"MachineCoordinateState": { "X": 10, "Y": 20, "Z": 30 }
}</code></pre>
<p>#AfterBuild:</p>
<pre><code class="lang-csharp">{
"MachineCoordinateState": { "X": 10, "Y": 20, "Z": 30 },
"MotionState": { "Term": "G01" },
"MotionEvent": { "Form": "McLinear" }
}</code></pre>
<p>No motion flag on the current block but <code>MachineCoordinateState</code>
is present (e.g. a downstream syntax already wrote the endpoint) —
the previous block's <code>MotionState.Term</code> is the only way to know
G00 vs G01, so the modal carry path fires:
#Previous:</p>
<pre><code class="lang-csharp">{ "MotionState": { "Term": "G01" } }</code></pre>
<p>#BeforeBuild:</p>
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 10, "Y": 20, "Z": 30 } }</code></pre>
<p>#AfterBuild:</p>
<pre><code class="lang-csharp">{
"MachineCoordinateState": { "X": 10, "Y": 20, "Z": 30 },
"MotionState": { "Term": "G01" },
"MotionEvent": { "Form": "McLinear" }
}</code></pre>