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 NumberedFlagSyntax | HiAPI-C# 2025 ">
<meta name="description" content="Syntax for numbered flags (prefix + number) with optional decimal support. often should place after something like . Since is easy to eat those kind of flags.">
<meta name="description" content="Syntax for numbered flags (prefix + number) with optional decimal support. often should place after something like . Since is easy to eat those kind of flags. Single-digit integer codes are zero-padded to canonical 2-digit form (e.g. M6 → M06, G0 → G00, M3 → M03) so that downstream logic syntaxes comparing against constants (which are always 2-digit form like ) can match Fanuc-style omitted-leading-zero codes. Two-digit and decimal codes are kept as-is.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
@@ -100,6 +100,15 @@ Class NumberedFlagSyntax
<div class="markdown summary"><p>Syntax for numbered flags (prefix + number) with optional decimal support.
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html">NumberedFlagSyntax</a> often should place after something like <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a>.
Since <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html">NumberedFlagSyntax</a> is easy to eat those kind of flags.</p>
<p>
Single-digit integer codes are zero-padded to canonical 2-digit form
(e.g. <code>M6</code><code>M06</code>, <code>G0</code><code>G00</code>, <code>M3</code><code>M03</code>)
so that downstream logic syntaxes comparing against
<a class="xref" href="Hi.NcParsers.Keywords.Generic.IsoKeywords.html">IsoKeywords</a> constants (which are always
2-digit form like <a class="xref" href="Hi.NcParsers.Keywords.Generic.IsoKeywords.html#Hi_NcParsers_Keywords_Generic_IsoKeywords_M06">M06</a>) can
match Fanuc-style omitted-leading-zero codes. Two-digit and decimal
codes are kept as-is.
</p>
</div>
<div class="markdown conceptual"></div>
@@ -183,8 +192,8 @@ Since <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html"
<h2 id="Hi_NcParsers_ParsingSyntaxs_NumberedFlagSyntax_remarks">Remarks</h2>
<div class="markdown level0 remarks"><p>Examples:</p>
<ul><li>Integer codes: G0, G1, G54, M3, M30, T5, S1000</li><li>Decimal codes: G54.1 (Fanuc extended work coordinates)</li></ul>
<div class="markdown level0 remarks"><p>Examples of stored canonical flags:</p>
<ul><li>Single-digit integer codes, padded: <code>G0</code><code>G00</code>, <code>M3</code><code>M03</code></li><li>Two-digit or longer integer codes, unchanged: <code>G54</code>, <code>M30</code></li><li>Decimal codes, unchanged: <code>G54.1</code> (Fanuc extended work coordinates)</li></ul>
Note: Parameters like P2 in G54.1P2 should be handled by TagSetupSyntax separately.
</div>
@@ -239,7 +248,8 @@ Note: Parameters like P2 in G54.1P2 should be handled by TagSetupSyntax separate
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Loads category path, code prefixes, and decimal policy from XML.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -249,7 +259,8 @@ Note: Parameters like P2 in G54.1P2 should be handled by TagSetupSyntax separate
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>src</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
<dd></dd>
<dd><p>Root element named <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_NumberedFlagSyntax_XName">XName</a>.</p>
</dd>
</dl>
@@ -370,7 +381,8 @@ Note: Parameters like P2 in G54.1P2 should be handled by TagSetupSyntax separate
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Syntax kind name (typically the concrete type name).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -401,7 +413,8 @@ Note: Parameters like P2 in G54.1P2 should be handled by TagSetupSyntax separate
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>XML element name for <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Regs">Regs</a> registration.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">