fix SoftNcRunner GM code normalization.

This commit is contained in:
2026-05-06 13:21:19 +08:00
parent 0fe9497552
commit 2f57932000
1238 changed files with 69405 additions and 22511 deletions
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class IsoCoordinateTable | HiAPI-C# 2025 ">
<meta name="description" content="Coordinate table for NC controller. The dictionary key is a G-code coordinate name (e.g. &amp;ldquo;G54&amp;rdquo;, &amp;ldquo;G59.2&amp;rdquo;); the dictionary value is machine coordinate offset.">
<meta name="description" content="Coordinate table for NC controller. The dictionary key is a G-code coordinate name (e.g. &amp;ldquo;G54&amp;rdquo;, &amp;ldquo;G59.2&amp;rdquo;); the dictionary value is machine coordinate offset. Brand-agnostic standalone implementation of . Brand parameter tables (Fanuc, Syntec, Siemens, Heidenhain) provide hardware-faithful alternatives that map to real controller parameters.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
@@ -100,11 +100,16 @@ Class IsoCoordinateTable
<div class="markdown summary"><p>Coordinate table for NC controller.
The dictionary key is a G-code coordinate name (e.g. &ldquo;G54&rdquo;, &ldquo;G59.2&rdquo;);
the dictionary value is machine coordinate offset.</p>
<p>
Brand-agnostic standalone implementation of <a class="xref" href="Hi.NcParsers.Dependencys.IIsoCoordinateConfig.html">IIsoCoordinateConfig</a>.
Brand parameter tables (Fanuc, Syntec, Siemens, Heidenhain) provide
hardware-faithful alternatives that map to real controller parameters.
</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class IsoCoordinateTable : Dictionary&lt;string, Vec3d&gt;, IDictionary&lt;string, Vec3d&gt;, ICollection&lt;KeyValuePair&lt;string, Vec3d&gt;&gt;, IReadOnlyDictionary&lt;string, Vec3d&gt;, IReadOnlyCollection&lt;KeyValuePair&lt;string, Vec3d&gt;&gt;, IEnumerable&lt;KeyValuePair&lt;string, Vec3d&gt;&gt;, IDictionary, ICollection, IEnumerable, IDeserializationCallback, ISerializable, INcDependency, IMakeXmlSource</code></pre>
<pre><code class="lang-csharp hljs">public class IsoCoordinateTable : Dictionary&lt;string, Vec3d&gt;, IDictionary&lt;string, Vec3d&gt;, ICollection&lt;KeyValuePair&lt;string, Vec3d&gt;&gt;, IReadOnlyDictionary&lt;string, Vec3d&gt;, IReadOnlyCollection&lt;KeyValuePair&lt;string, Vec3d&gt;&gt;, IEnumerable&lt;KeyValuePair&lt;string, Vec3d&gt;&gt;, IDictionary, ICollection, IEnumerable, IDeserializationCallback, ISerializable, IIsoCoordinateConfig, INcDependency, IMakeXmlSource</code></pre>
</div>
@@ -132,6 +137,7 @@ the dictionary value is machine coordinate offset.</p>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ienumerable">IEnumerable</a></div>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.runtime.serialization.ideserializationcallback">IDeserializationCallback</a></div>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.runtime.serialization.iserializable">ISerializable</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IIsoCoordinateConfig.html">IIsoCoordinateConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
</dd>
@@ -375,10 +381,85 @@ Supports both new string ID format (&ldquo;G54&rdquo;) and legacy integer format
<h2 class="section" id="properties">Properties
</h2>
<a id="Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_CoordinateIds_" data-uid="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.CoordinateIds*"></a>
<h3 id="Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_CoordinateIds" data-uid="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.CoordinateIds">
CoordinateIds
</h3>
<div class="markdown level1 summary"><p>Enumerates the G-code coordinate ids that this provider currently has data for.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IEnumerable&lt;string&gt; CoordinateIds { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>&gt;</dt>
<dd></dd>
</dl>
<h2 class="section" id="methods">Methods
</h2>
<a id="Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_GetCoordinateOffset_" data-uid="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.GetCoordinateOffset*"></a>
<h3 id="Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_GetCoordinateOffset_System_String_" data-uid="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.GetCoordinateOffset(System.String)">
GetCoordinateOffset(string)
</h3>
<div class="markdown level1 summary"><p>Gets the offset for the given G-code coordinate id.
Returns null when no offset is configured for that id by this provider
(callers iterate the next provider, or fall back to <a class="xref" href="Hi.Geom.Vec3d.html#Hi_Geom_Vec3d_Zero">Zero</a>).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Vec3d GetCoordinateOffset(string coordId)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>coordId</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_LegacyIntToKey_" data-uid="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.LegacyIntToKey*"></a>
<h3 id="Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_LegacyIntToKey_System_Int32_" data-uid="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.LegacyIntToKey(System.Int32)">
@@ -468,6 +549,40 @@ Since the folder can be moving with the configuration file.</p>
<a id="Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_SetCoordinateOffset_" data-uid="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.SetCoordinateOffset*"></a>
<h3 id="Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_SetCoordinateOffset_System_String_Hi_Geom_Vec3d_" data-uid="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.SetCoordinateOffset(System.String,Hi.Geom.Vec3d)">
SetCoordinateOffset(string, Vec3d)
</h3>
<div class="markdown level1 summary"><p>Sets the offset for the given G-code coordinate id.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void SetCoordinateOffset(string coordId, Vec3d offset)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>coordId</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
<dt><code>offset</code> <a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
</dl>
</article>