Archived
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:
@@ -188,8 +188,31 @@ Heidenhain equivalent: PLANE SPATIAL (separate syntax).
|
||||
|
||||
|
||||
<h2 id="Hi_NcParsers_LogicSyntaxs_IsoG68p2TiltSyntax_examples">Examples</h2>
|
||||
<p>G69 cancel via <a class="xref" href="Hi.NcParsers.LogicSyntaxs.TiltTransformUtil.html#Hi_NcParsers_LogicSyntaxs_TiltTransformUtil_TryHandleG69_System_Text_Json_Nodes_JsonObject_System_Text_Json_Nodes_JsonObject_">TryHandleG69(JsonObject, JsonObject)</a> — the
|
||||
kinematics-free short-circuit path that writes the identity tilt.</p>
|
||||
<p>Real-kinematics cases below wire <code>TestDeps.CodeKinematics</code>
|
||||
with the default chain code <code>[O][Z][A][w];[O][Y][X][B][S][t]</code>
|
||||
— a <b>table-A / head-B 5-axis</b> machine. A pivots around -X
|
||||
through origin (table side); B pivots around +Y through origin
|
||||
(head side). Both pivot axes pass through <code>(0,0,0)</code> because
|
||||
<a class="xref" href="Hi.Numerical.Xyzabc.CodeXyzabcChain.html">CodeXyzabcChain</a> uses zero-offset
|
||||
component attachments — origin pivots are physically realistic
|
||||
for a table-table trunnion layout but not for a head pivot on a
|
||||
real table-head machine; here the zero-offset chain is a
|
||||
pedagogical simplification. Only the IK-refinement cases (2 and
|
||||
3) use kinematics; cases 0 (G69 cancel) and 1 (pure IJK euler)
|
||||
are kinematics-free.</p>
|
||||
<p>
|
||||
Verification cue: the IK refinement path computes
|
||||
<code>orientationDelta = ijkAbcOrient.Inverse * ijkRotation</code> to
|
||||
preserve the exact IJK orientation while aligning with the
|
||||
kinematic ABC solution. For this chain at IJK=(0,30°,0), the
|
||||
solver's polished convergence lands the table-A angle within
|
||||
~1e-8 rad of 30°, and that residual lives in the Mat4d
|
||||
off-diagonals visible in case 3 (≈1e-8-scale entries).
|
||||
</p>
|
||||
<p>
|
||||
G69 cancel via <a class="xref" href="Hi.NcParsers.LogicSyntaxs.TiltTransformUtil.html#Hi_NcParsers_LogicSyntaxs_TiltTransformUtil_TryHandleG69_System_Text_Json_Nodes_JsonObject_System_Text_Json_Nodes_JsonObject_">TryHandleG69(JsonObject, JsonObject)</a> — the
|
||||
kinematics-free short-circuit path that writes the identity tilt.
|
||||
</p>
|
||||
<p>
|
||||
Standalone <code>G69</code> — the flag is consumed,
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.TiltTransform.html">TiltTransform</a> is written with <code>Term: "G69"</code>,
|
||||
@@ -253,8 +276,8 @@ aligns it with the kinematic ABC solution:
|
||||
"Kind": "Static",
|
||||
"Mat4d": [
|
||||
1, 0, 0, 0,
|
||||
0, 0.8660254037844388, 0.5, 0,
|
||||
0, -0.5, 0.8660254037844388, 0,
|
||||
0, 0.8660254037844388, 0.49999999999999994, 0,
|
||||
0, -0.49999999999999994, 0.8660254037844388, 0,
|
||||
0, 0, 0, 1
|
||||
]
|
||||
}
|
||||
@@ -288,9 +311,9 @@ The <a class="xref" href="Hi.NcParsers.Keywords.TiltTransform.html">TiltTransfor
|
||||
"Source": "TiltTransform",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [
|
||||
0.8660254037844387, 0.0002477343364339079, -0.4999999386276948, 0,
|
||||
0, 0.9999998772553897, 0.0004954686728678159, 0,
|
||||
0.49999999999999994, -0.00042908845748289027, 0.8660252974844881, 0,
|
||||
0.8660254037844387, 9.927341754201178E-09, -0.4999999999999999, 0,
|
||||
0, 0.9999999999999999, 1.985468350840236E-08, 0,
|
||||
0.49999999999999994, -1.719466030237639E-08, 0.8660254037844386, 0,
|
||||
0, 0, 0, 1
|
||||
]
|
||||
}
|
||||
@@ -310,6 +333,15 @@ the tilt is computed as:
|
||||
where <code>orientationDelta = kinematicRotation(ijkAbc).Inverse * ijkRotation</code>
|
||||
preserves the exact IJK orientation while aligning with the post-processor's solution.
|
||||
</p>
|
||||
<p>
|
||||
When kinematics is configured but the inverse-kinematics solve fails
|
||||
(orientation outside rotary-axis travel, or unrepresentable by the
|
||||
chain), the tilt falls back to the un-refined IJK euler result and a
|
||||
validation warning is emitted — <code>Coord-Tilt--001</code> on the plain
|
||||
IJK path, <code>Coord-Tilt--002</code> on the explicit A/B/C path. A missing
|
||||
kinematics dependency is not a warning: IK is optional refinement for
|
||||
G68.2 and the euler tilt is a complete result on its own.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user