This commit is contained in:
2026-09-09 18:06:21 +08:00
parent 161af68fe3
commit 45b9f9ed5d
79 changed files with 1167 additions and 1532 deletions
@@ -253,6 +253,31 @@ G98/G99 flag on the same block):
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G80"] } }</code></pre>
<p>#AfterBuild:</p>
<pre><code class="lang-csharp">{ "CannedCycle": { "Term": "G80" } }</code></pre>
<p>The first block after a program end — <code>#Previous:</code> carries the
<code>ProgramEnd</code> section next to a still-active G81, and the block
itself has an X word that would have repeated the cycle. This is the
reset edge (<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html">ProgramEndSyntax</a>): the controller's reset
cancels the canned cycle, so no repeat is resolved (the X word stays
for the positioning syntaxes) and the G80 sentinel is written
explicitly — an authored section, so the modal carry does not clone
the active cycle across the edge. No <code>ReturnMode</code>: the G98
default applies after reset:
#Previous:</p>
<pre><code class="lang-csharp">{
"ProgramEnd": { "Term": "M30" },
"CannedCycle": {
"Term": "G81",
"ReturnMode": "G99",
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
}
}</code></pre>
<p>#BeforeBuild:</p>
<pre><code class="lang-csharp">{ "Parsing": { "X": 60 } }</code></pre>
<p>#AfterBuild:</p>
<pre><code class="lang-csharp">{
"Parsing": { "X": 60 },
"CannedCycle": { "Term": "G80" }
}</code></pre>