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
@@ -300,6 +300,35 @@ and the same offset-1 table provides 99.98 mm:
}
]
}</code></pre>
The first block after a program end — <code>#Previous:</code> carries the
<code>ProgramEnd</code> section next to the still-active G43 H1. This is
the reset edge (<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html">ProgramEndSyntax</a>): the controller's
reset cancels tool length compensation, so the modal is not carried
and the block gets the same G49 sentinel and identity Mat4d an
explicit G49 writes; the unrelated G00 flag survives:
#Previous:
<pre><code class="lang-csharp">{
"ProgramEnd": { "Term": "M30" },
"ToolHeightCompensation": {
"Offset_mm": 99.98, "Term": "G43", "OffsetId": 1
}
}</code></pre>
#BeforeBuild:
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G00"] } }</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{
"Parsing": { "Flags": ["G00"] },
"ToolHeightCompensation": {
"Offset_mm": 0, "Term": "G49", "OffsetId": 0
},
"ProgramToMcTransform": [
{
"Source": "ToolHeightCompensation",
"Kind": "Static",
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
}
]
}</code></pre>
<h2 id="Hi_NcParsers_LogicSyntaxs_ToolHeightOffsetSyntax_remarks">Remarks</h2>