Archived
deploy.
This commit is contained in:
+34
-7
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class MachineCoordSelectSyntax | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Handles machine coordinate selection — non-modal, one-shot. The axis values (X/Y/Z) in the block are interpreted as machine coordinates, bypassing all work offsets, local coordinates, tool height compensation, and coordinate rotations. If G91 (incremental) is active, the code is ignored per ISO standard. Defaults to ISO G53. Brands with additional one-shot machine-coordinate codes widen — the Siemens preset adds G153 and SUPA (both suppress every active frame for one block; in this pipeline all of those reduce to "bypass the composed ", which the ProgramXyz back-derivation below already models). The matched code is stamped verbatim into for bidirectional source recovery. Rotary words on the same block (e.g. SUPA G0 B0) are left to — same behavior as ISO G53, where rotary axes flow through the normal rotary path. Must be placed before in the syntax chain. When a supported code is active, this syntax consumes X/Y/Z from and writes directly, preventing from processing them as program coordinates.">
|
||||
<meta name="description" content="Handles machine coordinate selection — non-modal, one-shot. The axis values (X/Y/Z) in the block are interpreted as machine coordinates, bypassing all work offsets, local coordinates, tool height compensation, and coordinate rotations. If G91 (incremental) is active, the code is ignored per ISO standard. A per-word incremental stamp on the block (block-root entry — Siemens SUPA Y=IC(-10), klartext L IY-10 M91) is a distance in the machine frame: the word is added to the previous machine position of that axis. Defaults to ISO G53. Brands with additional one-shot machine-coordinate codes widen — the Siemens preset adds G153 and SUPA (both suppress every active frame for one block; in this pipeline all of those reduce to "bypass the composed ", which the ProgramXyz back-derivation below already models). The matched code is stamped verbatim into for bidirectional source recovery. Rotary words on the same block (e.g. SUPA G0 B0) are left to — same behavior as ISO G53, where rotary axes flow through the normal rotary path. Must be placed before and in the syntax chain. When a supported code is active, this syntax consumes X/Y/Z from and writes directly, preventing from processing them as program coordinates — and, ahead of the resolve, reading a per-word incremental word raw instead of re-based into the program frame.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -101,7 +101,12 @@ Class MachineCoordSelectSyntax
|
||||
The axis values (X/Y/Z) in the block are interpreted as machine
|
||||
coordinates, bypassing all work offsets, local coordinates,
|
||||
tool height compensation, and coordinate rotations.
|
||||
If G91 (incremental) is active, the code is ignored per ISO standard.</p>
|
||||
If G91 (incremental) is active, the code is ignored per ISO standard.
|
||||
A per-word incremental stamp on the block (block-root
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.PositioningOverride.html">PositioningOverride</a> entry <a class="xref" href="Hi.NcParsers.Keywords.Positioning.html#Hi_NcParsers_Keywords_Positioning_Incremental">Incremental</a>
|
||||
— Siemens <code>SUPA Y=IC(-10)</code>, klartext <code>L IY-10 M91</code>) is a
|
||||
distance in the <b>machine</b> frame: the word is added to the
|
||||
previous machine position of that axis.</p>
|
||||
<p>
|
||||
Defaults to ISO <code>G53</code>. Brands with additional one-shot
|
||||
machine-coordinate codes widen <a class="xref" href="Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html#Hi_NcParsers_LogicSyntaxs_MachineCoordSelectSyntax_SupportedCodes">SupportedCodes</a> — the
|
||||
@@ -116,12 +121,14 @@ Rotary words on the same block (e.g. <code>SUPA G0 B0</code>) are left to
|
||||
axes flow through the normal rotary path.
|
||||
</p>
|
||||
<p>
|
||||
Must be placed <b>before</b> <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html">ProgramXyzSyntax</a> in the
|
||||
syntax chain. When a supported code is active, this syntax consumes
|
||||
X/Y/Z from <a class="xref" href="Hi.NcParsers.Keywords.IParsingDef.html#Hi_NcParsers_Keywords_IParsingDef_Parsing">Parsing</a> and writes
|
||||
Must be placed <b>before</b> <a class="xref" href="Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html">IncrementalResolveSyntax</a>
|
||||
and <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html">ProgramXyzSyntax</a> in the syntax chain. When a
|
||||
supported code is active, this syntax consumes X/Y/Z from
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.IParsingDef.html#Hi_NcParsers_Keywords_IParsingDef_Parsing">Parsing</a> and writes
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html#Hi_NcParsers_Keywords_IMachineCoordinateStateDef_MachineCoordinateState">MachineCoordinateState</a> directly,
|
||||
preventing <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html">ProgramXyzSyntax</a> from processing them
|
||||
as program coordinates.
|
||||
preventing <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html">ProgramXyzSyntax</a> from processing them as
|
||||
program coordinates — and, ahead of the resolve, reading a per-word
|
||||
incremental word raw instead of re-based into the program frame.
|
||||
</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
@@ -274,6 +281,26 @@ the motion-mode flag is claimed into the modal <code>MotionState</code>
|
||||
"MotionState": { "Term": "G00" },
|
||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true, "Term": "SUPA" }
|
||||
}</code></pre>
|
||||
<p>Per-word incremental word on the machine-coordinate block (klartext
|
||||
<code>L IY-10 M91</code>, Siemens <code>SUPA Y=IC(-10)</code>) — a distance in the
|
||||
MACHINE frame: added to the previous machine position, never re-based
|
||||
through the program frame. This is why the syntax sits ahead of
|
||||
<code>IncrementalResolveSyntax</code> in every brand list; the override
|
||||
section stays on the block (one-shot, nobody consumes it):
|
||||
#Previous:</p>
|
||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 100, "Y": 50, "Z": -200 } }</code></pre>
|
||||
<p>#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "Flags": ["G53"], "Y": -10 },
|
||||
"PositioningOverride": { "Y": "Incremental" }
|
||||
}</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"PositioningOverride": { "Y": "Incremental" },
|
||||
"MachineCoordinateState": { "X": 100, "Y": 40, "Z": -200 },
|
||||
"ProgramXyz": { "X": 100, "Y": 40, "Z": -200 },
|
||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true, "Term": "G53" }
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user