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
@@ -273,6 +273,21 @@ the modal fallthrough, not real motion, so it counts as bare:
"MotionEvent": { "Form": "McLinear" },
"RadiusCompensation": { "Side": "None", "Term": "G40", "OffsetId": 1 }
}</code></pre>
<p>The first block after a program end — <code>#Previous:</code> carries the
<code>ProgramEnd</code> section next to a still-active G41 D1. This is the
reset edge (<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html">ProgramEndSyntax</a>): the
controller's reset cancels cutter compensation, so the block is
written cancelled (G40) instead of inheriting G41; the modal D row
is kept, as it is across an explicit G40:
#Previous:</p>
<pre><code class="lang-csharp">{
"ProgramEnd": { "Term": "M02" },
"RadiusCompensation": { "Side": "Left", "Term": "G41", "OffsetId": 1, "Radius_mm": 5 }
}</code></pre>
<p>#BeforeBuild:</p>
<pre><code class="lang-csharp">{}</code></pre>
<p>#AfterBuild:</p>
<pre><code class="lang-csharp">{ "RadiusCompensation": { "Side": "None", "Term": "G40", "OffsetId": 1 } }</code></pre>