Archived
deploy.
This commit is contained in:
+40
-1
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class HeidenhainLSyntax | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Heidenhain linear movement (the leading L) syntax. Strips the leading L — spaced (L X+10) or glued directly to an axis/F word (LX+153.933Y+4.196A-77.516, the dominant shape of post-processed turbine files) — writes the Parsing.L = true statement marker, and grabs axis-tag values for any of (X, Y, Z, U, V, W, A, B, C) that appear afterwards as {axis}{signed-value} pairs; values are parsed as floats via . LN/LP/LBL lines are excluded by the gate's lookahead: a glued axis letter only counts when followed by a sign, digit, dot or Q variable, so the B of LBL (followed by another L) never matches. Glued M words (LM09) are accepted — stripping the L exposes the M word for the numbered-flag syntax; the richer LM140/LM128 statements never reach this gate because their dedicated owners run earlier in the Heidenhain Parsing bundle. Axis words land on the root of (not nested under L) so the shared Logic consumers — , , , — read them without per-brand path configuration. The L marker is consumed by which maps the statement (plus a one-shot FMAX flag) onto the shared G00/G01 motion-mode vocabulary. The radius-compensation words RL/RR/R0 are captured as boolean records on the Parsing root; the Logic-stage maps them onto the shared G41/G42/G40 vocabulary consumed by the radius compensation pass.">
|
||||
<meta name="description" content="Heidenhain linear movement (the leading L) syntax. Strips the leading L — spaced (L X+10) or glued directly to an axis/F word (LX+153.933Y+4.196A-77.516, the dominant shape of post-processed turbine files) — writes the Parsing.L = true statement marker, and grabs axis-tag values for any of (X, Y, Z, U, V, W, A, B, C) that appear afterwards as {axis}{signed-value} pairs; values are parsed as floats via . LN/LP/LBL lines are excluded by the gate's lookahead: a glued axis letter only counts when followed by a sign, digit, dot or Q variable, so the B of LBL (followed by another L) never matches. Glued M words (LM09) are accepted — stripping the L exposes the M word for the numbered-flag syntax; the richer LM140/LM128 statements never reach this gate because their dedicated owners run earlier in the Heidenhain Parsing bundle. Axis words land on the root of (not nested under L) so the shared Logic consumers — , , , — read them without per-brand path configuration. The L marker is consumed by which maps the statement (plus a one-shot FMAX flag) onto the shared G00/G01 motion-mode vocabulary. The radius-compensation words RL/RR/R0 are captured as boolean records on the Parsing root; the Logic-stage maps them onto the shared G41/G42/G40 vocabulary consumed by the radius compensation pass. Incremental axis words (L IX+20 IY-15, mixed with absolute ones at will) land under the same plain axis keys, with a per-axis "PositioningOverride": { "X": "Incremental" } stamp on the block root for the shared resolve consumers — see . The glued gate admits the prefixed spelling too (LIX+20).">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -131,6 +131,14 @@ captured as boolean records on the Parsing root; the Logic-stage
|
||||
them onto the shared G41/G42/G40 vocabulary consumed by the radius
|
||||
compensation pass.
|
||||
</p>
|
||||
<p>
|
||||
Incremental axis words (<code>L IX+20 IY-15</code>, mixed with absolute
|
||||
ones at will) land under the same plain axis keys, with a per-axis
|
||||
<code>"PositioningOverride": { "X": "Incremental" }</code> stamp on the
|
||||
block root for the shared resolve consumers — see
|
||||
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainIncrementalAxisWordUtil.html">HeidenhainIncrementalAxisWordUtil</a>. The glued gate
|
||||
admits the prefixed spelling too (<code>LIX+20</code>).
|
||||
</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
@@ -243,6 +251,37 @@ compensation pass.
|
||||
"L": true, "Z": 387.616, "R0": true
|
||||
}
|
||||
}</code></pre>
|
||||
<p>Incremental words (the manual's own example shape): the values land
|
||||
under the plain axis keys and every incremental axis is stamped on
|
||||
the block-root override section; nothing is left unread:
|
||||
#BeforeBuild.UnparsedText: <code>L IX+20 IY-15</code>
|
||||
#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": {
|
||||
"L": true, "X": 20, "Y": -15
|
||||
},
|
||||
"PositioningOverride": { "X": "Incremental", "Y": "Incremental" }
|
||||
}</code></pre>
|
||||
<p>Mixed block — only the incremental axis carries the stamp; the
|
||||
absolute X follows the modal positioning as before:
|
||||
#BeforeBuild.UnparsedText: <code>L X+60 IY-10</code>
|
||||
#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": {
|
||||
"L": true, "X": 60, "Y": -10
|
||||
},
|
||||
"PositioningOverride": { "Y": "Incremental" }
|
||||
}</code></pre>
|
||||
<p>Glued incremental run — the gate admits the prefixed axis letter and
|
||||
the second word is reached through the digit before it:
|
||||
#BeforeBuild.UnparsedText: <code>LIX+20IY-15</code>
|
||||
#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": {
|
||||
"L": true, "X": 20, "Y": -15
|
||||
},
|
||||
"PositioningOverride": { "X": "Incremental", "Y": "Incremental" }
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user