This commit is contained in:
2026-09-09 17:35:23 +08:00
parent 2a98ae7556
commit 161af68fe3
1271 changed files with 58251 additions and 98639 deletions
@@ -275,11 +275,36 @@ land on IEEE-754 negative zero (<code>0 * -99.98 = -0.0</code>), which
}
]
}</code></pre>
G43 with no H word (<code>G43 Z50.</code> — the Fanuc/Mazak "H omitted =
this tool's row" convention; 208 of CHEM20180926's 232 G43 blocks) on
a block whose <code>ToolChange</code> section says tool 1 is in the spindle
— the offset id is the equipped tool number, HardNc parity. A bare G43
arrives as a flag (no parameter object to hang an H on); it is consumed
and the same offset-1 table provides 99.98 mm:
#BeforeBuild:
<pre><code class="lang-csharp">{
"Parsing": { "Flags": ["G43"] },
"ToolChange": { "ToolId": 1, "IsChange": true, "Term": "M06" }
}</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{
"ToolChange": { "ToolId": 1, "IsChange": true, "Term": "M06" },
"ToolHeightCompensation": {
"Offset_mm": 99.98, "Term": "G43", "OffsetId": 1
},
"ProgramToMcTransform": [
{
"Source": "ToolHeightCompensation",
"Kind": "Static",
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,99.98,1]
}
]
}</code></pre>
<h2 id="Hi_NcParsers_LogicSyntaxs_ToolHeightOffsetSyntax_remarks">Remarks</h2>
<div class="markdown level0 remarks"><p>Input data locations in <a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html#Hi_NcParsers_Syntaxs_SyntaxPiece_JsonObject">JsonObject</a>:</p>
<ul><li>Parsing.G43 / Parsing.G44 → from ParameterizedFlagSyntax, {"H": "5"}</li><li>Parsing.H → from IntegerTagSetupSyntax, standalone modal H (int)</li><li>Parsing.Flags → from NumberedFlagSyntax, "G49" for cancellation</li><li>ToolOrientation → from a prior syntax (optional, default = Transformation.AxialNormal or UnitZ)</li></ul>
<ul><li>Parsing.G43 / Parsing.G44 → from ParameterizedFlagSyntax, {"H": "5"}</li><li>Parsing.H → from IntegerTagSetupSyntax, standalone modal H (int)</li><li>Parsing.Flags → from NumberedFlagSyntax, "G49" for cancellation, and a bare "G43" / "G44" whose H is omitted (resolved from the equipped tool number — see the last example)</li><li>ToolOrientation → from a prior syntax (optional, default = Transformation.AxialNormal or UnitZ)</li></ul>
Modal state is persisted in the <a class="xref" href="Hi.NcParsers.Keywords.IToolHeightCompensationDef.html">IToolHeightCompensationDef</a>
section (not syntax fields) and recovered from backward node traversal.
</div>