This commit is contained in:
2026-09-13 19:45:24 +08:00
parent 397a7a8cc4
commit 2db889ad89
58 changed files with 3526 additions and 213 deletions
@@ -358,6 +358,87 @@ the chain so the new entry stays Static:
],
"MachineCoordinateState": { "A": 45 }
}</code></pre>
<p>
Active G68.2 across a rotary word — the feature frame stays pinned
in machine space (<a class="xref" href="Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.html#Hi_NcParsers_LogicSyntaxs_PivotTransformUtil_PinTiltInMachineSpaceAcrossRotaryWords_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Text_Json_Nodes_JsonObject_System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__">PinTiltInMachineSpaceAcrossRotaryWords(LazyLinkedListNode&lt;SyntaxPiece&gt;, JsonObject, List&lt;INcDependency&gt;)</a>).
<code>#Previous:</code> had the tilt Rx(30°) composed with the pivot at
table-A = 0 (identity on this chain); the current block spoke
<code>A45.</code> (one-shot <code>RotaryWords</code>, root MC A = 45) and
arrived with the carried Rx(30°) tilt. The tilt entry is rewritten to
<code>Tilt·Pivot(prev)·Pivot(cur)⁻¹</code> = Rx(30°)·Rx(45°) = Rx(75°) —
so that composed with the new pivot Rx(−45°) the chain still maps the
feature frame exactly where the previous block had it — and the
pivot entry is written for A = 45 as in the case above. No tool
height entry is present, so nothing else is re-aimed:
</p>
#Previous:
<pre><code class="lang-csharp">{
"TiltTransform": { "Term": "G68.2" },
"ProgramToMcTransform": [
{
"Source": "TiltTransform",
"Kind": "Static",
"Mat4d": [
1, 0, 0, 0,
0, 0.8660254037844387, 0.49999999999999994, 0,
0, -0.49999999999999994, 0.8660254037844387, 0,
0, 0, 0, 1
]
},
{
"Source": "PivotTransform",
"Kind": "Static",
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
}
],
"MachineCoordinateState": { "X": 0, "Y": 0, "Z": 0, "A": 0, "B": 0 }
}</code></pre>
#BeforeBuild:
<pre><code class="lang-csharp">{
"TiltTransform": { "Term": "G68.2" },
"ProgramToMcTransform": [
{
"Source": "TiltTransform",
"Kind": "Static",
"Mat4d": [
1, 0, 0, 0,
0, 0.8660254037844387, 0.49999999999999994, 0,
0, -0.49999999999999994, 0.8660254037844387, 0,
0, 0, 0, 1
]
}
],
"MachineCoordinateState": { "A": 45, "B": 0 },
"RotaryWords": { "A": 45 }
}</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{
"TiltTransform": { "Term": "G68.2" },
"ProgramToMcTransform": [
{
"Source": "TiltTransform",
"Kind": "Static",
"Mat4d": [
1, 0, 0, 0,
0, 0.25881904510252085, 0.9659258262890683, 0,
0, -0.9659258262890683, 0.25881904510252085, 0,
0, 0, 0, 1
]
},
{
"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
]
}
],
"MachineCoordinateState": { "A": 45, "B": 0 },
"RotaryWords": { "A": 45 }
}</code></pre>