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
@@ -228,7 +228,8 @@ Class XyzabcSolver
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Whether rotary column A exists on this chain (non-null transformer).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -259,7 +260,8 @@ Class XyzabcSolver
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Whether rotary column B exists on this chain (non-null transformer).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -290,7 +292,8 @@ Class XyzabcSolver
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Whether rotary column C exists on this chain (non-null transformer).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
@@ -475,6 +478,56 @@ the solution only fit the orientation part of the <code class="paramref">tiltMat
<a id="Hi_Numerical_Xyzabc_XyzabcSolver_OrientationToMcAbc_" data-uid="Hi.Numerical.Xyzabc.XyzabcSolver.OrientationToMcAbc*"></a>
<h3 id="Hi_Numerical_Xyzabc_XyzabcSolver_OrientationToMcAbc_Hi_Geom_Vec3d_Hi_Geom_Vec3d__" data-uid="Hi.Numerical.Xyzabc.XyzabcSolver.OrientationToMcAbc(Hi.Geom.Vec3d,Hi.Geom.Vec3d@)">
OrientationToMcAbc(Vec3d, out Vec3d)
</h3>
<div class="markdown level1 summary"><p>Converts a target tool axial direction (endpoint orientation) to machine ABC coordinates.
Only the axial alignment is constrained; rotation about the tool axis is free.</p>
<p>
Use this in place of <a class="xref" href="Hi.Numerical.Xyzabc.IMachineKinematics.html#Hi_Numerical_Xyzabc_IMachineKinematics_OrientationToMcAbc_Hi_Geom_Mat4d_Hi_Geom_Vec3d__">OrientationToMcAbc(Mat4d, out Vec3d)</a> when the
rotation about the tool axis is irrelevant (e.g. G53.1 rotary positioning). The
axial-only solve avoids the redundant 6-target full-matrix constraint and is more
likely to converge for tilt configurations such as <code>G68.2 I180 J90 K0</code>.
</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool OrientationToMcAbc(Vec3d toolAxialNormal, out Vec3d mcAbc_rad)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>toolAxialNormal</code> <a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd><p>Target tool axial direction in table coordinates
(the third row of the tilt matrix; e.g. <a class="xref" href="Hi.Geom.Mat4d.html#Hi_Geom_Mat4d_AxialNormal">AxialNormal</a>).</p>
</dd>
<dt><code>mcAbc_rad</code> <a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd><p>Output machine ABC coordinates in radians.</p>
</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><p>Whether the conversion was successful.</p>
</dd>
</dl>
<a id="Hi_Numerical_Xyzabc_XyzabcSolver_PnToMc_" data-uid="Hi.Numerical.Xyzabc.XyzabcSolver.PnToMc*"></a>
<h3 id="Hi_Numerical_Xyzabc_XyzabcSolver_PnToMc_Hi_Geom_DVec3d_Hi_Geom_DVec3d__" data-uid="Hi.Numerical.Xyzabc.XyzabcSolver.PnToMc(Hi.Geom.DVec3d,Hi.Geom.DVec3d@)">
@@ -545,10 +598,10 @@ It should be called after the kinematic chain of <span class="xref">Hi.Numerical
<a id="Hi_Numerical_Xyzabc_XyzabcSolver_SetNp_" data-uid="Hi.Numerical.Xyzabc.XyzabcSolver.SetNp*"></a>
<a id="Hi_Numerical_Xyzabc_XyzabcSolver_SetPn_" data-uid="Hi.Numerical.Xyzabc.XyzabcSolver.SetPn*"></a>
<h3 id="Hi_Numerical_Xyzabc_XyzabcSolver_SetNp_Hi_Geom_DVec3d_Hi_Geom_DVec3d__" data-uid="Hi.Numerical.Xyzabc.XyzabcSolver.SetNp(Hi.Geom.DVec3d,Hi.Geom.DVec3d@)">
SetNp(DVec3d, out DVec3d)
<h3 id="Hi_Numerical_Xyzabc_XyzabcSolver_SetPn_Hi_Geom_DVec3d_Hi_Geom_DVec3d__" data-uid="Hi.Numerical.Xyzabc.XyzabcSolver.SetPn(Hi.Geom.DVec3d,Hi.Geom.DVec3d@)">
SetPn(DVec3d, out DVec3d)
</h3>
@@ -557,16 +610,17 @@ It should be called after the kinematic chain of <span class="xref">Hi.Numerical
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool SetNp(DVec3d np, out DVec3d mc)</code></pre>
<pre><code class="lang-csharp hljs">public bool SetPn(DVec3d pn, out DVec3d mc)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>np</code> <a class="xref" href="Hi.Geom.DVec3d.html">DVec3d</a></dt>
<dt><code>pn</code> <a class="xref" href="Hi.Geom.DVec3d.html">DVec3d</a></dt>
<dd><p>normal and point</p>
</dd>
<dt><code>mc</code> <a class="xref" href="Hi.Geom.DVec3d.html">DVec3d</a></dt>
<dd></dd>
<dd><p>Resolved machine position (XYZ + ABC radians).</p>
</dd>
</dl>
<h4 class="section">Returns</h4>