deploy fixed MRR drift and webservice CylindroidHolder buckle branch update issue.
This commit is contained in:
+82
@@ -209,6 +209,88 @@ Silently no-ops when <a class="xref" href="Hi.Numerical.Xyzabc.IMachineKinematic
|
||||
</dd></dl>
|
||||
|
||||
|
||||
<h2 id="Hi_NcParsers_LogicSyntaxs_PivotTransformationSyntax_examples">Examples</h2>
|
||||
<p>Identity probe — a <code>TestDeps.Kinematics</code> stub that
|
||||
makes <code>McToPn</code> pass through XYZ and return a fixed <code>UnitZ</code>
|
||||
normal, so <a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_MakePivotTransformMat_Hi_Numerical_Xyzabc_IMachineKinematics_Hi_Geom_Vec3d_">MakePivotTransformMat(IMachineKinematics, Vec3d)</a>'s
|
||||
four-basis probing returns identity <code>K(0)</code> and <code>K(abc)</code>,
|
||||
and the product <code>K(0) * K(abc).GetInverse()</code> collapses to
|
||||
identity. With no current or previous <code>MachineCoordinateState</code>,
|
||||
endpoint ABC defaults to <code>(0,0,0)</code>; no dynamic entries exist
|
||||
yet so the entry is tagged <a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_KindStatic">KindStatic</a>.
|
||||
Case for the dep-guard contract only; the real kinematics paths are
|
||||
covered by the cases below.
|
||||
#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{}</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "PivotTransform",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||
}
|
||||
]
|
||||
}</code></pre>
|
||||
<p>Real <a class="xref" href="Hi.Numerical.Xyzabc.XyzabcSolver.html">XyzabcSolver</a> (table-A / head-B 5-axis layout
|
||||
<code>[O][Z][A][w];[O][Y][X][B][S][t]</code>) with current block declaring
|
||||
<code>MachineCoordinateState.A = 45</code> — endpoint ABC =
|
||||
<code>(π/4, 0, 0)</code> radians. Table-side A rotation moves the tool
|
||||
position in the workpiece frame, so
|
||||
<code>MakePivotTransformMat</code>'s four-basis probe returns a
|
||||
non-identity rigid matrix. The exact Mat4d below was captured from
|
||||
<code>BuildAndDump</code>'s actual output (per gotcha #2: rad/deg trig
|
||||
drift, always dump first):
|
||||
#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "A": 45 } }</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"MachineCoordinateState": { "A": 45 },
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "PivotTransform",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [
|
||||
1, 0, 0, 0,
|
||||
0, 0.7071067811865475, -0.7071067811865475, 0,
|
||||
0, 0.7071067811865475, 0.7071067811865475, 0,
|
||||
0, 0, 0, 1
|
||||
]
|
||||
}
|
||||
]
|
||||
}</code></pre>
|
||||
<p>Stub <code>TestDeps.Kinematics</code> with a pre-existing Dynamic
|
||||
chain entry on the current block (as <a class="xref" href="Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html">G43p4RtcpSyntax</a>
|
||||
would have written when RTCP is dynamic). <a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_HasDynamicEntry_System_Text_Json_Nodes_JsonObject_">HasDynamicEntry(JsonObject)</a>
|
||||
returns true so the PivotTransform entry is tagged
|
||||
<a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_KindDynamic">KindDynamic</a> even though the math
|
||||
itself collapses to identity:
|
||||
#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "ToolHeightCompensation",
|
||||
"Kind": "Dynamic",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||
}
|
||||
]
|
||||
}</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "ToolHeightCompensation",
|
||||
"Kind": "Dynamic",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||
},
|
||||
{
|
||||
"Source": "PivotTransform",
|
||||
"Kind": "Dynamic",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||
}
|
||||
]
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user