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
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class HeidenhainCSyntax | HiAPI-C# 2025 ">
<meta name="description" content="Heidenhain circular-motion statement (C X+5.361 Y+23.064 DR-). Mirrors : endpoint axis words promote to the Parsing root (shared Logic consumers), a &amp;ldquo;CArc&amp;rdquo;: true statement marker (deliberately NOT the bare C key — that is a rotary axis word which owns and consumes on rotary machines) gates , the rotation direction lands in Parsing.DR (&amp;quot;-&amp;quot; = CW = G02, &amp;quot;+&amp;quot; = CCW = G03) and radius-compensation words are captured like on L statements. The word-boundary head guard rejects CC/CT/CR/CP statements, and a value follower rejects a leading rotary-axis word — a DIN/ISO block like C-90. (modal C-axis positioning, the same mixed-dialect list) is an axis coordinate for the root tag capture, never a klartext arc statement head (klartext always separates the C head from its X/Y/DR words, so a sign/digit/dot follower cannot be an arc statement).">
<meta name="description" content="Heidenhain circular-motion statement (C X+5.361 Y+23.064 DR-). Mirrors : endpoint axis words promote to the Parsing root (shared Logic consumers), a &amp;ldquo;CArc&amp;rdquo;: true statement marker (deliberately NOT the bare C key — that is a rotary axis word which owns and consumes on rotary machines) gates , the rotation direction lands in Parsing.DR (&amp;quot;-&amp;quot; = CW = G02, &amp;quot;+&amp;quot; = CCW = G03) and radius-compensation words are captured like on L statements. The word-boundary head guard rejects CC/CT/CR/CP statements, and a value follower rejects a leading rotary-axis word — a DIN/ISO block like C-90. (modal C-axis positioning, the same mixed-dialect list) is an axis coordinate for the root tag capture, never a klartext arc statement head (klartext always separates the C head from its X/Y/DR words, so a sign/digit/dot follower cannot be an arc statement). Incremental endpoint words (C IX+20 IY+0 DR-) are captured like on L statements — plain axis keys plus the block-root PositioningOverride stamp, see .">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
@@ -112,7 +112,11 @@ follower rejects a leading rotary-axis word — a DIN/ISO block like
<code>C-90.</code> (modal C-axis positioning, the same mixed-dialect list)
is an axis coordinate for the root tag capture, never a klartext arc
statement head (klartext always separates the C head from its X/Y/DR
words, so a sign/digit/dot follower cannot be an arc statement).</p>
words, so a sign/digit/dot follower cannot be an arc statement).
Incremental endpoint words (<code>C IX+20 IY+0 DR-</code>) are captured
like on L statements — plain axis keys plus the block-root
<code>PositioningOverride</code> stamp, see
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainIncrementalAxisWordUtil.html">HeidenhainIncrementalAxisWordUtil</a>.</p>
</div>
<div class="markdown conceptual"></div>
@@ -203,6 +207,14 @@ gate shut; the block is left for the shared float tag capture:
#BeforeBuild.UnparsedText: <code>C-90.0</code>
#AfterBuild:</p>
<pre><code class="lang-csharp">{ "UnparsedText": "C-90.0" }</code></pre>
<p>Incremental endpoint — the arc end is a distance from the arc's own
start; the stamp routes it through the shared resolve:
#BeforeBuild.UnparsedText: <code>C IX+20 IY+0 DR-</code>
#AfterBuild:</p>
<pre><code class="lang-csharp">{
"Parsing": { "CArc": true, "DR": "-", "X": 20, "Y": 0 },
"PositioningOverride": { "X": "Incremental", "Y": "Incremental" }
}</code></pre>