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:
2026-08-27 14:51:37 +08:00
parent 1fc510af5e
commit 2a98ae7556
1468 changed files with 182837 additions and 18888 deletions
@@ -108,7 +108,7 @@ and derived convenience properties.</li>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public abstract class ControllerParameterTableBase : IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, INcDependency, IMakeXmlSource</code></pre>
<pre><code class="lang-csharp hljs">public abstract class ControllerParameterTableBase : IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, ISpindleControlConfig, IMCodeDeclarationConfig, IToolChangeTriggerConfig, INcDependency, IMakeXmlSource</code></pre>
</div>
@@ -129,6 +129,9 @@ and derived convenience properties.</li>
<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.ISpindleControlConfig.html">ISpindleControlConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IMCodeDeclarationConfig.html">IMCodeDeclarationConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IToolChangeTriggerConfig.html">IToolChangeTriggerConfig</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>
@@ -300,6 +303,45 @@ and derived convenience properties.</li>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_EffectiveMCodeDeclarations_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.EffectiveMCodeDeclarations*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_EffectiveMCodeDeclarations" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.EffectiveMCodeDeclarations">
EffectiveMCodeDeclarations
</h3>
<div class="markdown level1 summary"><p>The declaration view the consumers resolve against
(<a class="xref" href="Hi.NcParsers.Dependencys.IMCodeDeclarationConfig.html">IMCodeDeclarationConfig</a> and
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_TryGetMCodeEffects_System_String_Hi_NcParsers_Dependencys_MCodeEffects__">TryGetMCodeEffects(string, out MCodeEffects)</a>/<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_TryResolveDirection_System_String_Hi_Numerical_SpindleDirection__">TryResolveDirection(string, out SpindleDirection)</a>).
Defaults to <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_MCodeDeclarations">MCodeDeclarations</a> verbatim; a brand subclass
overrides it to overlay declarations mandated by its own machine data
(e.g. the Siemens MD22560 tool-change M function) without writing them
into the stored dictionary — the stored declarations, XML, and clones
stay derivation-free and the overlay re-derives on every read.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected virtual IReadOnlyDictionary&lt;string, MCodeEffects&gt; EffectiveMCodeDeclarations { 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.ireadonlydictionary-2">IReadOnlyDictionary</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html">MCodeEffects</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_IdAttributeName_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.IdAttributeName*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_IdAttributeName" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.IdAttributeName">
@@ -364,6 +406,44 @@ and derived convenience properties.</li>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_MCodeDeclarations_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.MCodeDeclarations*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_MCodeDeclarations" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.MCodeDeclarations">
MCodeDeclarations
</h3>
<div class="markdown level1 summary"><p>Declared machine M-codes and their effects — the single storage
behind both <a class="xref" href="Hi.NcParsers.Dependencys.IMCodeDeclarationConfig.html">IMCodeDeclarationConfig</a> and the narrower
<a class="xref" href="Hi.NcParsers.Dependencys.ISpindleControlConfig.html">ISpindleControlConfig</a> face, so one code is never
half-recognized by two separate maps. Key = M-code as parsed
(e.g., &ldquo;M13&rdquo;), case-insensitive. Serialized as
<code>&lt;MCode&gt;</code> elements (spindle-direction-only entries keep
the legacy <code>&lt;SpindleMCode&gt;</code> element for older readers).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;string, MCodeEffects&gt; MCodeDeclarations { 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.dictionary-2">Dictionary</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html">MCodeEffects</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_RapidRateParamId_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.RapidRateParamId*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_RapidRateParamId" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.RapidRateParamId">
@@ -429,6 +509,41 @@ Null if not defined for this controller brand.</p>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_SpindleDirectionCodes_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.SpindleDirectionCodes*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_SpindleDirectionCodes" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.SpindleDirectionCodes">
SpindleDirectionCodes
</h3>
<div class="markdown level1 summary"><p>Spindle-direction view over <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_MCodeDeclarations">MCodeDeclarations</a>:
every declared code that carries a
<a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html#Hi_NcParsers_Dependencys_MCodeEffects_SpindleDirection">SpindleDirection</a>.
See <a class="xref" href="Hi.NcParsers.Dependencys.ISpindleControlConfig.html">ISpindleControlConfig</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IReadOnlyDictionary&lt;string, SpindleDirection&gt; SpindleDirectionCodes { 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.ireadonlydictionary-2">IReadOnlyDictionary</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="Hi.Numerical.SpindleDirection.html">SpindleDirection</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_StrokeLimitNegParamId_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.StrokeLimitNegParamId*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_StrokeLimitNegParamId" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.StrokeLimitNegParamId">
@@ -527,6 +642,44 @@ Null if not defined for this controller brand.</p>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_ToolWordTriggersChange_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.ToolWordTriggersChange*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_ToolWordTriggersChange" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.ToolWordTriggersChange">
ToolWordTriggersChange
</h3>
<div class="markdown level1 summary"><p>When true, a <code>T</code> word performs the tool change by itself
(turret/lathe semantics — Siemens MD22550
<code>$MC_TOOL_CHANGE_MODE</code> = 0). Default false: <code>T</code> only
pre-selects; the trigger M-code changes the tool.
See <a class="xref" href="Hi.NcParsers.Dependencys.IToolChangeTriggerConfig.html">IToolChangeTriggerConfig</a>. Virtual so a brand
subclass can defer to its own machine data when that carries the
same semantics (the Siemens table consults MD22550 when present).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual bool ToolWordTriggersChange { 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.boolean">bool</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="methods">Methods
</h2>
@@ -612,6 +765,238 @@ Use <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_ConfigureSpindleDirectionCode_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.ConfigureSpindleDirectionCode*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_ConfigureSpindleDirectionCode_System_String_Hi_Numerical_SpindleDirection_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.ConfigureSpindleDirectionCode(System.String,Hi.Numerical.SpindleDirection)">
ConfigureSpindleDirectionCode(string, SpindleDirection)
</h3>
<div class="markdown level1 summary"><p>Adds or updates a custom spindle direction M-code.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void ConfigureSpindleDirectionCode(string mCode, SpindleDirection direction)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>mCode</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
<dt><code>direction</code> <a class="xref" href="Hi.Numerical.SpindleDirection.html">SpindleDirection</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_CopyParamsTo_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.CopyParamsTo*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_CopyParamsTo_Hi_NcParsers_Dependencys_ControllerParameterTableBase_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.CopyParamsTo(Hi.NcParsers.Dependencys.ControllerParameterTableBase)">
CopyParamsTo(ControllerParameterTableBase)
</h3>
<div class="markdown level1 summary"><p>Deep-copies this table's <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SystemParams">SystemParams</a>, <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_AxisParams">AxisParams</a>,
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_IntAxisParams">IntAxisParams</a>, <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_MCodeDeclarations">MCodeDeclarations</a>, and
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_ToolWordTriggersChange">ToolWordTriggersChange</a> into
<code class="paramref">target</code>, replacing the target's dictionaries with
independent copies (outer and inner buckets; declaration entries cloned).
Subclasses expose a typed <code>DeepClone</code> that constructs the concrete table
and calls this. Used by the parameter-table proxies to clone their fixed
machine-config seed into a host that has no table yet.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected void CopyParamsTo(ControllerParameterTableBase target)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>target</code> <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html">ControllerParameterTableBase</a></dt>
<dd><p>The table to overwrite with deep copies of this table's parameters.</p>
</dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_DeclareMCode_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.DeclareMCode*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_DeclareMCode_System_String_Hi_NcParsers_Dependencys_MCodeEffects_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.DeclareMCode(System.String,Hi.NcParsers.Dependencys.MCodeEffects)">
DeclareMCode(string, MCodeEffects)
</h3>
<div class="markdown level1 summary"><p>Adds or replaces the declaration for an M-code. The effects are
copied on store, so the caller may reuse or further mutate its
instance without coupling declarations to each other.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void DeclareMCode(string mCode, MCodeEffects effects)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>mCode</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
<dt><code>effects</code> <a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html">MCodeEffects</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_DescribeAxisParam_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.DescribeAxisParam*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_DescribeAxisParam_System_Int32_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.DescribeAxisParam(System.Int32)">
DescribeAxisParam(int)
</h3>
<div class="markdown level1 summary"><p>Per-axis double counterpart of <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_DescribeSystemParam_System_Int32_">DescribeSystemParam(int)</a>.
Covers the role ids the base class consumes (reference position,
rapid rate, stroke limits); brand subclasses may override for their
own vocabulary or extra numbers.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual string DescribeAxisParam(int paramId)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>paramId</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>Brand-specific parameter/MD/MP number.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_DescribeIntAxisParam_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.DescribeIntAxisParam*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_DescribeIntAxisParam_System_Int32_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.DescribeIntAxisParam(System.Int32)">
DescribeIntAxisParam(int)
</h3>
<div class="markdown level1 summary"><p>Per-axis integer counterpart of <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_DescribeSystemParam_System_Int32_">DescribeSystemParam(int)</a>.
Covers the axis-type id the base class consumes.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual string DescribeIntAxisParam(int paramId)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>paramId</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>Brand-specific parameter/MD/MP number.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_DescribeSystemParam_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.DescribeSystemParam*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_DescribeSystemParam_System_Int32_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.DescribeSystemParam(System.Int32)">
DescribeSystemParam(int)
</h3>
<div class="markdown level1 summary"><p>Short usage label for a well-known system parameter id, or null when
the id has no modeled meaning (a raw pass-through row). Brand
subclasses extend this with their own well-known numbers; the native
parameter UI shows the label next to the raw id so an operator can
tell the modeled parameters from free extras.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual string DescribeSystemParam(int paramId)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>paramId</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>Brand-specific parameter/MD/MP number.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetHomePosition_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.GetHomePosition*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetHomePosition_System_String_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.GetHomePosition(System.String)">
@@ -995,6 +1380,70 @@ Since the folder can be moving with the configuration file.</p>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_RemoveMCodeDeclaration_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.RemoveMCodeDeclaration*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_RemoveMCodeDeclaration_System_String_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.RemoveMCodeDeclaration(System.String)">
RemoveMCodeDeclaration(string)
</h3>
<div class="markdown level1 summary"><p>Removes the declaration for an M-code.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void RemoveMCodeDeclaration(string mCode)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>mCode</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_RemoveSpindleDirectionCode_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.RemoveSpindleDirectionCode*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_RemoveSpindleDirectionCode_System_String_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.RemoveSpindleDirectionCode(System.String)">
RemoveSpindleDirectionCode(string)
</h3>
<div class="markdown level1 summary"><p>Removes a custom spindle direction M-code.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void RemoveSpindleDirectionCode(string mCode)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>mCode</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetAxis_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.SetAxis*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetAxis_System_String_Hi_NcParsers_Dependencys_AxisType_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.SetAxis(System.String,Hi.NcParsers.Dependencys.AxisType)">
@@ -1201,6 +1650,94 @@ Unit is mm for linear axes, deg for rotary axes.</p>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_TryGetMCodeEffects_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.TryGetMCodeEffects*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_TryGetMCodeEffects_System_String_Hi_NcParsers_Dependencys_MCodeEffects__" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.TryGetMCodeEffects(System.String,Hi.NcParsers.Dependencys.MCodeEffects@)">
TryGetMCodeEffects(string, out MCodeEffects)
</h3>
<div class="markdown level1 summary"><p>Resolves a parsed flag to its declared effects. Returns false for
undeclared codes — ISO defaults are the consumers' concern, not
this config's. The returned instance is the live declaration:
treat it as read-only and reconfigure through
<a class="xref" href="Hi.NcParsers.Dependencys.IMCodeDeclarationConfig.html#Hi_NcParsers_Dependencys_IMCodeDeclarationConfig_DeclareMCode_System_String_Hi_NcParsers_Dependencys_MCodeEffects_">DeclareMCode(string, MCodeEffects)</a> instead of mutating it.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool TryGetMCodeEffects(string mCode, out MCodeEffects effects)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>mCode</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
<dt><code>effects</code> <a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html">MCodeEffects</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.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_TryResolveDirection_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.TryResolveDirection*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_TryResolveDirection_System_String_Hi_Numerical_SpindleDirection__" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.TryResolveDirection(System.String,Hi.Numerical.SpindleDirection@)">
TryResolveDirection(string, out SpindleDirection)
</h3>
<div class="markdown level1 summary"><p>Resolves a parsed flag to a spindle direction. Returns true only for
configured custom codes whose declaration carries no other effect —
the caller consumes the whole flag for this one meaning, so a
composite declaration (e.g. spindle + coolant) must instead be
expanded by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.MCodeExpansionSyntax.html">MCodeExpansionSyntax</a> to keep
its other halves alive. ISO M03/M04/M05 defaults are the caller's
fallback, not this config's concern.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool TryResolveDirection(string mCode, out SpindleDirection direction)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>mCode</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
<dt><code>direction</code> <a class="xref" href="Hi.Numerical.SpindleDirection.html">SpindleDirection</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.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_WriteXml_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.WriteXml*"></a>
<h3 id="Hi_NcParsers_Dependencys_ControllerParameterTableBase_WriteXml_System_String_" data-uid="Hi.NcParsers.Dependencys.ControllerParameterTableBase.WriteXml(System.String)">