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
@@ -172,6 +172,13 @@ bottom/top centers of geom). Only
<a class="xref" href="Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_GeomToTableTransformer">GeomToTableTransformer</a> is mutated.</p>
<p>Returns the assigned translation, or <code>null</code> when workpiece /
fixture / Xyzabc machine tool is missing.</p>
<p>The alignment is computed in the machine-coordinate (MC) zero state: the
assembly is reflected and every <a class="xref" href="Hi.Mech.Topo.IDynamicRegular.html">IDynamicRegular</a> axis is set
to <code>Step = 0</code> before querying displacements. The live equipment may
have its axes moved, which would otherwise distort the
<code>ToolBuckle -&gt; FixtureTableBuckle</code> leg (it crosses the X/Y/Z/A/B/C
axes) and break the vector-chain assumption that the legs share a common
orientation — <code class="paramref">isoOffset</code> is itself an MC-zero quantity.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -321,6 +328,59 @@ The machine coordinate are all assumed to be zero.</p>
<a id="Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_GetProgramToPnMat4d_" data-uid="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.GetProgramToPnMat4d*"></a>
<h3 id="Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_GetProgramToPnMat4d_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_" data-uid="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.GetProgramToPnMat4d(Hi.Machining.MachiningEquipmentUtils.IMachiningEquipment)">
GetProgramToPnMat4d(IMachiningEquipment)
</h3>
<div class="markdown level1 summary"><p>Gets the rigid transform that maps a point in program (workpiece)
coordinates — the <a class="xref" href="Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_ProgramZeroAnchor">ProgramZeroAnchor</a> frame —
into the kinematic Pn frame (the chain's table-buckle anchor frame
that <a class="xref" href="Hi.Numerical.Xyzabc.XyzabcSolver.html">XyzabcSolver</a> solves in).</p>
<p>
Both anchors live on the same rigid table-side subtree (the
table-buckle→fixture→workpiece leg crosses no machine axis), so the
transform is pose-independent and is queried on the live assembly —
no MC-zero reflection needed (this runs per parsed motion block; a
whole-assembly <a class="xref" href="Hi.Mech.Topo.TopoReflection.html">TopoReflection</a> clone here would dominate
large-file parse time). Falls back to identity (program frame ≡
table-buckle frame) when the workpiece has no
<a class="xref" href="Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_ProgramZeroAnchor">ProgramZeroAnchor</a>; returns <code>null</code> when
the chain has no table buckle.
</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Mat4d GetProgramToPnMat4d(this IMachiningEquipment equipment)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>equipment</code> <a class="xref" href="Hi.Machining.MachiningEquipmentUtils.IMachiningEquipment.html">IMachiningEquipment</a></dt>
<dd><p>The machining equipment.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Mat4d.html">Mat4d</a></dt>
<dd><p>The program→Pn transform, or <code>null</code>.</p>
</dd>
</dl>
</article>