This commit is contained in:
2026-09-15 01:12:50 +08:00
parent 2db889ad89
commit 1a75503105
99 changed files with 4168 additions and 726 deletions
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class RotaryAxisUtil | HiAPI-C# 2025 ">
<meta name="description" content="Shared utilities for rotary axis (A/B/C) resolution. Used by , , , and other syntaxes that read or write rotary axis values.">
<meta name="description" content="Shared utilities for rotary axis (A/B/C) resolution. Used by , , , and other syntaxes that read or write rotary axis values.">
<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,7 @@ Class RotaryAxisUtil
<div class="markdown summary"><p>Shared utilities for rotary axis (A/B/C) resolution.
Used by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.html">G53p1RotaryPositionSyntax</a>,
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a>, <a class="xref" href="Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html">IsoG68p2TiltSyntax</a>,
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html">IncrementalResolveSyntax</a>
and other syntaxes that read or write rotary axis values.</p>
</div>
<div class="markdown conceptual"></div>
@@ -209,6 +210,60 @@ syntaxes do not re-process it.
<a id="Hi_NcParsers_LogicSyntaxs_RotaryAxisUtil_FindPreviousMcAxisDeg_" data-uid="Hi.NcParsers.LogicSyntaxs.RotaryAxisUtil.FindPreviousMcAxisDeg*"></a>
<h3 id="Hi_NcParsers_LogicSyntaxs_RotaryAxisUtil_FindPreviousMcAxisDeg_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_String_" data-uid="Hi.NcParsers.LogicSyntaxs.RotaryAxisUtil.FindPreviousMcAxisDeg(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.String)">
FindPreviousMcAxisDeg(LazyLinkedListNode&lt;SyntaxPiece&gt;, string)
</h3>
<div class="markdown level1 summary"><p>Walks backward through previous <a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a> nodes to
find the most recent <a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html#Hi_NcParsers_Keywords_IMachineCoordinateStateDef_MachineCoordinateState">MachineCoordinateState</a>
that carries a numeric value for the given <code class="paramref">axis</code>
— the axis's modal angle in degrees as the machine-state section
stores it (after the <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html">McAbcCyclicPathSyntax</a> wrap of
that block), the anchor an incremental rotary word adds onto.
Returns null when no predecessor carries the axis.</p>
<p>
Per-axis (rather than whole-section) because intermediate blocks
— e.g. <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html">CircularMotionSyntax</a> blocks whose MC was
written by <a class="xref" href="Hi.NcParsers.SoftNcUtil.html#Hi_NcParsers_SoftNcUtil_SetVec3d_System_Text_Json_Nodes_JsonObject_System_String_Hi_Geom_Vec3d_">SetVec3d(JsonObject, string, Vec3d)</a> with XYZ only — can
lack rotary fields; whole-section lookback would stop at such a
block and mistakenly conclude the rotary value is unknown. Silent
on a non-numeric value (the throwing machine-state reader — a
non-numeric MC is a HiAPIs codegen bug, not a program error).
</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static double? FindPreviousMcAxisDeg(LazyLinkedListNode&lt;SyntaxPiece&gt; node, string axis)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>node</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedListNode-1.html">LazyLinkedListNode</a>&lt;<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a>&gt;</dt>
<dd></dd>
<dt><code>axis</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>
<a id="Hi_NcParsers_LogicSyntaxs_RotaryAxisUtil_GetRotaryAxes_" data-uid="Hi.NcParsers.LogicSyntaxs.RotaryAxisUtil.GetRotaryAxes*"></a>
<h3 id="Hi_NcParsers_LogicSyntaxs_RotaryAxisUtil_GetRotaryAxes_Hi_NcParsers_Dependencys_IMachineAxisConfig_" data-uid="Hi.NcParsers.LogicSyntaxs.RotaryAxisUtil.GetRotaryAxes(Hi.NcParsers.Dependencys.IMachineAxisConfig)">