update ISO coordinate rendering for 3+2axis machine.

This commit is contained in:
2026-04-06 15:08:59 +08:00
parent 8dd5309e0e
commit 0fe9497552
219 changed files with 23941 additions and 12629 deletions
@@ -157,12 +157,199 @@ Brand-specific codes belong in their own keyword classes
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_CannedCycleCodes" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.CannedCycleCodes">
CannedCycleCodes
</h3>
<div class="markdown level1 summary"><p>All canned cycle codes.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static readonly string[] CannedCycleCodes</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>[]</dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G00" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G00">
G00
</h3>
<div class="markdown level1 summary"><p>Rapid positioning — moves all axes at maximum traverse rate to the target.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G00 = &quot;G00&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G01" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G01">
G01
</h3>
<div class="markdown level1 summary"><p>Linear interpolation — moves in a straight line at the programmed feedrate.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G01 = &quot;G01&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G02" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G02">
G02
</h3>
<div class="markdown level1 summary"><p>Circular interpolation clockwise — arc motion in the active plane at the programmed feedrate. Center defined by I/J/K offsets or R radius.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G02 = &quot;G02&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G03" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G03">
G03
</h3>
<div class="markdown level1 summary"><p>Circular interpolation counter-clockwise — arc motion in the active plane at the programmed feedrate. Center defined by I/J/K offsets or R radius.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G03 = &quot;G03&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G28" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G28">
G28
</h3>
<div class="markdown level1 summary"><p>Reference point return — moves through an intermediate point, then to the machine reference (home) position.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G28 = &quot;G28&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G43" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G43">
G43
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Tool length compensation (+) — applies positive-direction tool height offset from the offset table.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -192,7 +379,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Tool length compensation () — applies negative-direction tool height offset from the offset table.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -222,7 +410,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Tool length compensation cancel — deactivates G43/G44 tool height offset.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -252,7 +441,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Local coordinate system — sets a temporary coordinate offset relative to the active work coordinate system.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -277,12 +467,75 @@ Brand-specific codes belong in their own keyword classes
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G53" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G53">
G53
</h3>
<div class="markdown level1 summary"><p>Machine coordinate selection — non-modal, one-shot. Axis values specify machine coordinates directly, bypassing all work offsets.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G53 = &quot;G53&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G53p1" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G53p1">
G53p1
</h3>
<div class="markdown level1 summary"><p>Tool axis direction control — non-modal, one-shot. Positions rotary axes to align with the active tilted work plane (G68.2). Requires G68.2 active.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G53p1 = &quot;G53.1&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G54" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G54">
G54
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Work coordinate system 1 — first standard work offset (most commonly used).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -312,7 +565,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>All standard work coordinate offsets: G54G59 plus extended offsets G59.1G59.9.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -342,7 +596,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Work coordinate system 2.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -372,7 +627,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Work coordinate system 3.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -402,7 +658,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Work coordinate system 4.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -432,7 +689,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Work coordinate system 5.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -462,7 +720,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Work coordinate system 6.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -492,7 +751,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Coordinate rotation — rotates the XY program coordinate system around a center point by an angle R.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -522,7 +782,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Tilted work plane (5-axis) — defines an inclined coordinate system via Euler angles (I/J/K) and an origin (X/Y/Z).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -552,7 +813,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Coordinate rotation / tilted work plane cancel — deactivates G68 or G68.2.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -577,12 +839,385 @@ Brand-specific codes belong in their own keyword classes
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G73" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G73">
G73
</h3>
<div class="markdown level1 summary"><p>High-speed peck drilling cycle — drills in increments of Q with partial retract (chip breaking).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G73 = &quot;G73&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G74" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G74">
G74
</h3>
<div class="markdown level1 summary"><p>Left-hand tapping cycle — feed to Z with CCW spindle, reverse to CW, feed retract.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G74 = &quot;G74&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G76" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G76">
G76
</h3>
<div class="markdown level1 summary"><p>Fine boring cycle — feed to Z, oriented spindle stop, tool shift Q, rapid retract, shift back.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G76 = &quot;G76&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G80" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G80">
G80
</h3>
<div class="markdown level1 summary"><p>Canned cycle cancel — deactivates G81G89.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G80 = &quot;G80&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G81" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G81">
G81
</h3>
<div class="markdown level1 summary"><p>Drilling cycle — rapid to R, feed to Z, rapid retract.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G81 = &quot;G81&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G82" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G82">
G82
</h3>
<div class="markdown level1 summary"><p>Drilling cycle with dwell — same as G81 plus dwell P seconds at bottom.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G82 = &quot;G82&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G83" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G83">
G83
</h3>
<div class="markdown level1 summary"><p>Peck drilling cycle — drills in increments of Q with full retract to R between strokes.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G83 = &quot;G83&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G84" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G84">
G84
</h3>
<div class="markdown level1 summary"><p>Right-hand tapping cycle — feed to Z with CW spindle, reverse to CCW, feed retract.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G84 = &quot;G84&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G85" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G85">
G85
</h3>
<div class="markdown level1 summary"><p>Boring cycle — rapid to R, feed to Z, feed retract.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G85 = &quot;G85&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G86" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G86">
G86
</h3>
<div class="markdown level1 summary"><p>Boring cycle — rapid to R, feed to Z, spindle stop, rapid retract.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G86 = &quot;G86&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G87" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G87">
G87
</h3>
<div class="markdown level1 summary"><p>Back boring cycle — OSS + shift, rapid to Z, shift back, spindle on, feed up to R, OSS + shift, retract.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G87 = &quot;G87&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G89" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G89">
G89
</h3>
<div class="markdown level1 summary"><p>Boring cycle with dwell — rapid to R, feed to Z, dwell P, feed retract.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G89 = &quot;G89&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G90" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G90">
G90
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Absolute positioning — axis values specify the target position directly.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -612,7 +1247,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Incremental positioning — axis values specify the distance to move from the current position.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -642,7 +1278,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Feed per minute — feedrate F is in mm/min (or inch/min).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -672,7 +1309,8 @@ Brand-specific codes belong in their own keyword classes
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Feed per revolution — feedrate F is in mm/rev (or inch/rev), synchronized to spindle speed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -697,6 +1335,161 @@ Brand-specific codes belong in their own keyword classes
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G98" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G98">
G98
</h3>
<div class="markdown level1 summary"><p>Canned cycle return to initial level.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G98 = &quot;G98&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_G99" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.G99">
G99
</h3>
<div class="markdown level1 summary"><p>Canned cycle return to R-point level.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string G99 = &quot;G99&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_M03" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.M03">
M03
</h3>
<div class="markdown level1 summary"><p>Spindle ON clockwise — starts spindle rotation in the CW direction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string M03 = &quot;M03&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_M04" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.M04">
M04
</h3>
<div class="markdown level1 summary"><p>Spindle ON counter-clockwise — starts spindle rotation in the CCW direction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string M04 = &quot;M04&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Generic_IsoKeywords_M05" data-uid="Hi.NcParsers.Keywords.Generic.IsoKeywords.M05">
M05
</h3>
<div class="markdown level1 summary"><p>Spindle stop — halts spindle rotation.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string M05 = &quot;M05&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
</article>
<div class="contribution d-print-none">