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 HeidenhainDatumTable | HiAPI-C# 2025 ">
<meta name="description" content="Heidenhain datum preset and datum shift tables. CYCL DEF 247 Q339=N reads from , CYCL DEF 7 #N reads from . Each table maps an integer ID (120) to a Vec3d offset.">
<meta name="description" content="Heidenhain datum preset and datum shift tables. CYCL DEF 247 Q339=N reads from , CYCL DEF 7 #N reads from . Each table maps an integer ID (120) to a Vec3d offset. On real Heidenhain controllers, preset and datum tables are separate disk files (e.g. TNC:\table\preset.pr, *.d) — distinct from MP-prefixed Machine Parameters (held by ). HiNC mirrors that separation by keeping this dependency independent of HeidenhainParameterTable. Implements by mapping the ISO/DIN G54G59 codes to preset rows 16, the conventional Heidenhain compatibility mapping for ISO/DIN programs running on a Heidenhain.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
@@ -101,11 +101,23 @@ Class HeidenhainDatumTable
CYCL DEF 247 Q339=N reads from <a class="xref" href="Hi.NcParsers.Dependencys.HeidenhainDatumTable.html#Hi_NcParsers_Dependencys_HeidenhainDatumTable_DatumPresetTable">DatumPresetTable</a>,
CYCL DEF 7 #N reads from <a class="xref" href="Hi.NcParsers.Dependencys.HeidenhainDatumTable.html#Hi_NcParsers_Dependencys_HeidenhainDatumTable_DatumShiftTable">DatumShiftTable</a>.
Each table maps an integer ID (120) to a Vec3d offset.</p>
<p>
On real Heidenhain controllers, preset and datum tables are separate
disk files (e.g. <code>TNC:\table\preset.pr</code>, <code>*.d</code>) — distinct
from MP-prefixed Machine Parameters (held by
<a class="xref" href="Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html">HeidenhainParameterTable</a>). HiNC mirrors that separation
by keeping this dependency independent of <code>HeidenhainParameterTable</code>.
</p>
<p>
Implements <a class="xref" href="Hi.NcParsers.Dependencys.IIsoCoordinateConfig.html">IIsoCoordinateConfig</a> by mapping the ISO/DIN
G54G59 codes to preset rows 16, the conventional Heidenhain
compatibility mapping for ISO/DIN programs running on a Heidenhain.
</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class HeidenhainDatumTable : INcDependency, IMakeXmlSource</code></pre>
<pre><code class="lang-csharp hljs">public class HeidenhainDatumTable : IIsoCoordinateConfig, INcDependency, IMakeXmlSource</code></pre>
</div>
@@ -122,6 +134,7 @@ Each table maps an integer ID (120) to a Vec3d offset.</p>
<dl class="typelist implements">
<dt>Implements</dt>
<dd>
<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>
@@ -249,6 +262,38 @@ Each table maps an integer ID (120) to a Vec3d offset.</p>
</h2>
<a id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_CoordinateIds_" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.CoordinateIds*"></a>
<h3 id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_CoordinateIds" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.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>
<a id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_DatumPresetTable_" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.DatumPresetTable*"></a>
<h3 id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_DatumPresetTable" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.DatumPresetTable">
@@ -346,6 +391,45 @@ Each table maps an integer ID (120) to a Vec3d offset.</p>
</h2>
<a id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_GetCoordinateOffset_" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.GetCoordinateOffset*"></a>
<h3 id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_GetCoordinateOffset_System_String_" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.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_HeidenhainDatumTable_GetDatumPreset_" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.GetDatumPreset*"></a>
<h3 id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_GetDatumPreset_System_Int32_" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.GetDatumPreset(System.Int32)">
@@ -469,6 +553,40 @@ Since the folder can be moving with the configuration file.</p>
<a id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_SetCoordinateOffset_" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.SetCoordinateOffset*"></a>
<h3 id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_SetCoordinateOffset_System_String_Hi_Geom_Vec3d_" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.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>
<a id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_SetDatumPreset_" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.SetDatumPreset*"></a>
<h3 id="Hi_NcParsers_Dependencys_HeidenhainDatumTable_SetDatumPreset_System_Int32_Hi_Geom_Vec3d_" data-uid="Hi.NcParsers.Dependencys.HeidenhainDatumTable.SetDatumPreset(System.Int32,Hi.Geom.Vec3d)">