Archived
deploy webservice static-file routing for docsite folder URLs, per-instance step-cache db, and constant-height panel title bars.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class UnitModeSyntax | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Detects the unit-system code (ISO Group 06: G20 inch / G21 metric) from and writes a section (, ). Modal — absence of an explicit flag inherits the previous block's unit, defaulting to at program start. The HiNC pipeline works exclusively in millimetres. When is detected this syntax emits an Unit--InchNotSupported Unsupported Error so upstream callers are forced to pre-convert the NC program to metric. is accepted as a no-op confirmation of the default.">
|
||||
<meta name="description" content="Detects the unit-system code (ISO Group 06: G20 inch / G21 metric) from and writes a section (, ). Modal — absence of an explicit flag inherits the previous block's unit, defaulting to at program start. The code vocabulary is configurable per brand: / default to ISO G20 / G21; the Siemens preset uses G70+G700 / G710+G71 instead (G70/G71 switch geometry-word interpretation only, G700/G710 also switch feedrate interpretation — a distinction preserved via the verbatim but irrelevant to this record-only syntax; both inch variants warn identically). The first entry doubles as the program-start default Term. Note Siemens G70/G71 must never be added to ISO/Fanuc presets — on Fanuc lathes the same codes are finishing/roughing cycles (same collision family as the documented Siemens G74 exclusion). The HiNC pipeline works exclusively in millimetres. When an inch code is detected this syntax emits an Unit--InchNotSupported Unsupported Error so upstream callers are forced to pre-convert the NC program to metric — while still recording what the program said. Metric codes are accepted as no-op confirmations of the default.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -103,12 +103,24 @@ section (<a class="xref" href="Hi.NcParsers.Keywords.IUnitDef.html#Hi_NcParsers_
|
||||
Modal — absence of an explicit flag inherits the previous block's
|
||||
unit, defaulting to <a class="xref" href="Hi.NcParsers.Keywords.Unit.html#Hi_NcParsers_Keywords_Unit_Metric">Metric</a> at program start.</p>
|
||||
<p>
|
||||
The HiNC pipeline works exclusively in millimetres. When
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.Generic.IsoKeywords.html#Hi_NcParsers_Keywords_Generic_IsoKeywords_G20">G20</a> is detected this syntax emits an
|
||||
<code>Unit--InchNotSupported</code> Unsupported Error so upstream callers
|
||||
are forced to pre-convert the NC program to metric.
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.Generic.IsoKeywords.html#Hi_NcParsers_Keywords_Generic_IsoKeywords_G21">G21</a> is accepted as a no-op confirmation of
|
||||
the default.
|
||||
The code vocabulary is configurable per brand: <a class="xref" href="Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html#Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_InchCodes">InchCodes</a>
|
||||
/ <a class="xref" href="Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html#Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_MetricCodes">MetricCodes</a> default to ISO G20 / G21; the Siemens
|
||||
preset uses G70+G700 / G710+G71 instead (G70/G71 switch geometry-word
|
||||
interpretation only, G700/G710 also switch feedrate interpretation —
|
||||
a distinction preserved via the verbatim <a class="xref" href="Hi.NcParsers.Keywords.IUnitDef.html#Hi_NcParsers_Keywords_IUnitDef_Term">Term</a>
|
||||
but irrelevant to this record-only syntax; both inch variants warn
|
||||
identically). The first <a class="xref" href="Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html#Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_MetricCodes">MetricCodes</a> entry doubles as the
|
||||
program-start default <code>Term</code>. Note Siemens G70/G71 must never be
|
||||
added to ISO/Fanuc presets — on Fanuc lathes the same codes are
|
||||
finishing/roughing cycles (same collision family as the documented
|
||||
Siemens G74 exclusion).
|
||||
</p>
|
||||
<p>
|
||||
The HiNC pipeline works exclusively in millimetres. When an inch code
|
||||
is detected this syntax emits an <code>Unit--InchNotSupported</code>
|
||||
Unsupported Error so upstream callers are forced to pre-convert the
|
||||
NC program to metric — while still recording what the program said.
|
||||
Metric codes are accepted as no-op confirmations of the default.
|
||||
</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
@@ -209,6 +221,37 @@ the default.
|
||||
"Parsing": { "Flags": ["M03"] },
|
||||
"Unit": { "Term": "G21", "System": "Metric" }
|
||||
}</code></pre>
|
||||
<p>Siemens metric confirmation (SUT configured with
|
||||
<code>InchCodes = [“G70”, “G700”]</code>,
|
||||
<code>MetricCodes = [“G710”, “G71”]</code>) — corpus header shape
|
||||
<code>N1 G40 G17 G710 G94 G90 G64</code> reduced to the unit flag; the
|
||||
verbatim code is recorded as <code>Term</code>, unrelated flags stay:
|
||||
#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G40", "G710", "G90"] } }</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "Flags": ["G40", "G90"] },
|
||||
"Unit": { "Term": "G710", "System": "Metric" }
|
||||
}</code></pre>
|
||||
<p>Siemens inch code — recorded faithfully as <code>Inch</code> despite the
|
||||
<code>Unit–InchNotSupported</code> diagnostic (record what the program
|
||||
said, warn, don't silently coerce):
|
||||
#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G700"] } }</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "Unit": { "Term": "G700", "System": "Inch" } }</code></pre>
|
||||
<p>Siemens no-flag block — modal inherit from the previous block's
|
||||
section; program-start default would be the first
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html#Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_MetricCodes">MetricCodes</a> entry:
|
||||
#Previous:</p>
|
||||
<pre><code class="lang-csharp">{ "Unit": { "Term": "G710", "System": "Metric" } }</code></pre>
|
||||
<p>#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "X": 10 } }</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "X": 10 },
|
||||
"Unit": { "Term": "G710", "System": "Metric" }
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
@@ -313,6 +356,74 @@ the default.
|
||||
|
||||
|
||||
|
||||
<a id="Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_InchCodes_" data-uid="Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.InchCodes*"></a>
|
||||
|
||||
<h3 id="Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_InchCodes" data-uid="Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.InchCodes">
|
||||
InchCodes
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Codes that select the inch input system; each detection emits
|
||||
<code>Unit–InchNotSupported</code>. Defaults to ISO G20; the Siemens
|
||||
preset uses G70 + G700.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public List<string> InchCodes { get; set; }</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.list-1">List</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_MetricCodes_" data-uid="Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.MetricCodes*"></a>
|
||||
|
||||
<h3 id="Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_MetricCodes" data-uid="Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.MetricCodes">
|
||||
MetricCodes
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Codes that select the metric input system. Defaults to ISO G21; the
|
||||
Siemens preset uses G710 + G71. The first entry doubles as the
|
||||
program-start default <a class="xref" href="Hi.NcParsers.Keywords.IUnitDef.html#Hi_NcParsers_Keywords_IUnitDef_Term">Term</a>.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public List<string> MetricCodes { get; set; }</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.list-1">List</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_Name_" data-uid="Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.Name*"></a>
|
||||
|
||||
<h3 id="Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_Name" data-uid="Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.Name">
|
||||
|
||||
Reference in New Issue
Block a user