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
@@ -104,7 +104,7 @@ following real Fanuc parameter numbering.</p>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class FanucParameterTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, ICannedCycleConfig, INcDependency, IMakeXmlSource</code></pre>
<pre><code class="lang-csharp hljs">public class FanucParameterTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, ICannedCycleConfig, IIsoCoordinateConfig, INcDependency, IMakeXmlSource, IVariableLookup</code></pre>
</div>
@@ -125,9 +125,12 @@ following real Fanuc parameter numbering.</p>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IHomeMcConfig.html">IHomeMcConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IMachineAxisConfig.html">IMachineAxisConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IRapidFeedrateConfig.html">IRapidFeedrateConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IStrokeLimitConfig.html">IStrokeLimitConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.ICannedCycleConfig.html">ICannedCycleConfig</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>
<div><a class="xref" href="Hi.NcParsers.LogicSyntaxs.Evaluation.IVariableLookup.html">IVariableLookup</a></div>
</dd>
</dl>
@@ -136,7 +139,28 @@ following real Fanuc parameter numbering.</p>
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetAxisRapidRate_mmdmin_System_String_">ControllerParameterTableBase.GetAxisRapidRate_mmdmin(string)</a>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetLinearAxisRapidRate_mmdmin_System_String_">ControllerParameterTableBase.GetLinearAxisRapidRate_mmdmin(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetRotaryAxisRapidRate_degdmin_System_String_">ControllerParameterTableBase.GetRotaryAxisRapidRate_degdmin(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetLinearAxisRapidRate_mmdmin_System_String_System_Double_">ControllerParameterTableBase.SetLinearAxisRapidRate_mmdmin(string, double)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetRotaryAxisRapidRate_degdmin_System_String_System_Double_">ControllerParameterTableBase.SetRotaryAxisRapidRate_degdmin(string, double)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetPositiveLimit_System_String_">ControllerParameterTableBase.GetPositiveLimit(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetNegativeLimit_System_String_">ControllerParameterTableBase.GetNegativeLimit(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetPositiveLimit_System_String_System_Double_">ControllerParameterTableBase.SetPositiveLimit(string, double)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetNegativeLimit_System_String_System_Double_">ControllerParameterTableBase.SetNegativeLimit(string, double)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SystemParams">ControllerParameterTableBase.SystemParams</a>
@@ -299,6 +323,130 @@ following real Fanuc parameter numbering.</p>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_CoordOffsetMax" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.CoordOffsetMax">
CoordOffsetMax
</h3>
<div class="markdown level1 summary"><p>Inclusive upper bound of the G54-G59 work coordinate offset address range (<code>#5328</code>).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int CoordOffsetMax = 5328</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_CoordOffsetMin" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.CoordOffsetMin">
CoordOffsetMin
</h3>
<div class="markdown level1 summary"><p>Inclusive lower bound of the G54-G59 work coordinate offset address range (<code>#5221</code>).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int CoordOffsetMin = 5221</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_ExtCoordOffsetMax" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.ExtCoordOffsetMax">
ExtCoordOffsetMax
</h3>
<div class="markdown level1 summary"><p>Inclusive upper bound of the G54.1 P-table extended offset range (<code>#7999</code>).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int ExtCoordOffsetMax = 7999</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_ExtCoordOffsetMin" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.ExtCoordOffsetMin">
ExtCoordOffsetMin
</h3>
<div class="markdown level1 summary"><p>Inclusive lower bound of the G54.1 P-table extended offset range (<code>#7001</code>).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int ExtCoordOffsetMin = 7001</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_ParamAxisType" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.ParamAxisType">
ParamAxisType
@@ -392,6 +540,72 @@ following real Fanuc parameter numbering.</p>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_ParamG54OffsetBase" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.ParamG54OffsetBase">
ParamG54OffsetBase
</h3>
<div class="markdown level1 summary"><p>#5221: Base address (X) of G54 work coordinate offset.
G54.Y at +1 (#5222), G54.Z at +2 (#5223). G55..G59 follow at stride 20.
See <a class="xref" href="Hi.NcParsers.Dependencys.IsoCoordinateAddressMap.html">IsoCoordinateAddressMap</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int ParamG54OffsetBase = 5221</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_ParamG54p1P1OffsetBase" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.ParamG54p1P1OffsetBase">
ParamG54p1P1OffsetBase
</h3>
<div class="markdown level1 summary"><p>#7001: Base address (X) of G54.1 P1 extended work coordinate offset.
G54.1 P2..P48 follow at stride 20.
See <a class="xref" href="Hi.NcParsers.Dependencys.IsoCoordinateAddressMap.html">IsoCoordinateAddressMap</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int ParamG54p1P1OffsetBase = 7001</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_ParamMaxSpindleSpeed" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.ParamMaxSpindleSpeed">
ParamMaxSpindleSpeed
@@ -656,7 +870,7 @@ See <a class="xref" href="Hi.NcParsers.Dependencys.IHomeMcConfig.html">IHomeMcCo
</h3>
<div class="markdown level1 summary"><p>#1420: Rapid traverse rate per axis (mm/min or deg/min).
See <a class="xref" href="Hi.NcParsers.Dependencys.IRapidFeedrateConfig.html">IRapidFeedrateConfig</a>. See ControllerParameterTableBase.RapidFeedrate_mmdmin.</p>
See <a class="xref" href="Hi.NcParsers.Dependencys.IRapidFeedrateConfig.html">IRapidFeedrateConfig</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -745,6 +959,38 @@ See <a class="xref" href="Hi.NcParsers.Dependencys.IRapidFeedrateConfig.html">IR
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_CoordinateIds_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.CoordinateIds*"></a>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_CoordinateIds" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.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_Fanuc_FanucParameterTable_CutterCompType_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.CutterCompType*"></a>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_CutterCompType" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.CutterCompType">
@@ -1067,6 +1313,72 @@ Null if not defined for this controller brand.</p>
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_StrokeLimitNegParamId_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.StrokeLimitNegParamId*"></a>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_StrokeLimitNegParamId" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.StrokeLimitNegParamId">
StrokeLimitNegParamId
</h3>
<div class="markdown level1 summary"><p>Parameter/MD/MP number for negative stroke limit per axis.
Null if not defined for this controller brand.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override int? StrokeLimitNegParamId { 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.int32">int</a>?</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_StrokeLimitPosParamId_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.StrokeLimitPosParamId*"></a>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_StrokeLimitPosParamId" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.StrokeLimitPosParamId">
StrokeLimitPosParamId
</h3>
<div class="markdown level1 summary"><p>Parameter/MD/MP number for positive stroke limit per axis.
Null if not defined for this controller brand.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override int? StrokeLimitPosParamId { 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.int32">int</a>?</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_XName_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.XName*"></a>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_XName" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.XName">
@@ -1102,6 +1414,90 @@ Null if not defined for this controller brand.</p>
</h2>
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_Get_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.Get*"></a>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_Get_System_String_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.Get(System.String)">
Get(string)
</h3>
<div class="markdown level1 summary"><p>Returns the value of the variable identified by <code class="paramref">key</code>
(e.g. <code>&quot;#124&quot;</code>), or <code>null</code> if vacant or unknown to this lookup.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double? Get(string key)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>key</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="https://learn.microsoft.com/dotnet/api/system.double">double</a>?</dt>
<dd></dd>
</dl>
<h4 class="section" id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_Get_System_String__remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>Routes Fanuc system-variable reads to SystemParams:
<code>#5221-#5328</code> (G54-G59 work coordinate offsets) and
<code>#7001-#7999</code> (G54.1 P1-P48 extended offsets) are returned
directly by parameter address. Other ranges return <code>null</code> so
the evaluator's lookup chain can fall through.</p>
</div>
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_GetCoordinateOffset_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.GetCoordinateOffset*"></a>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_GetCoordinateOffset_System_String_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.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_Fanuc_FanucParameterTable_MakeXmlSource_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.MakeXmlSource*"></a>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.MakeXmlSource(System.String,System.String,System.Boolean)">
@@ -1153,6 +1549,40 @@ Since the folder can be moving with the configuration file.</p>
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_SetCoordinateOffset_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.SetCoordinateOffset*"></a>
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_SetCoordinateOffset_System_String_Hi_Geom_Vec3d_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.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>