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
@@ -309,6 +309,56 @@ the solution only fit the orientation part of the <code class="paramref">tiltMat
<a id="Hi_Numerical_Xyzabc_IMachineKinematics_OrientationToMcAbc_" data-uid="Hi.Numerical.Xyzabc.IMachineKinematics.OrientationToMcAbc*"></a>
<h3 id="Hi_Numerical_Xyzabc_IMachineKinematics_OrientationToMcAbc_Hi_Geom_Vec3d_Hi_Geom_Vec3d__" data-uid="Hi.Numerical.Xyzabc.IMachineKinematics.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">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_IMachineKinematics_PnToMc_" data-uid="Hi.Numerical.Xyzabc.IMachineKinematics.PnToMc*"></a>
<h3 id="Hi_Numerical_Xyzabc_IMachineKinematics_PnToMc_Hi_Geom_DVec3d_Hi_Geom_DVec3d__" data-uid="Hi.Numerical.Xyzabc.IMachineKinematics.PnToMc(Hi.Geom.DVec3d,Hi.Geom.DVec3d@)">