deploy fixed MRR drift and webservice CylindroidHolder buckle branch update issue.

This commit is contained in:
2026-05-28 19:42:05 +08:00
parent d7836db45f
commit 95b5790622
140 changed files with 8079 additions and 14099 deletions
@@ -195,6 +195,78 @@ Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycle
</dd></dl>
<h2 id="Hi_NcParsers_LogicSyntaxs_TappingCycleSyntax_examples">Examples</h2>
<p>Both cases G98 — pre-populated <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a>, no
<code>#Previous:</code> so <code>initZ = 0</code>, F=600 → 10 mm/s. Six items
each: init, R, feed-down, spindle reverse, feed retract, spindle
restore. The retract is a feed (not a rapid) because the tap is
physically threaded into the workpiece and a rapid would strip the
threads.</p>
<p>
G84 right-hand — forward CW (M03), reverse CCW (M04) at the bottom
to back out, then restore CW after retract:
</p>
#BeforeBuild:
<pre><code class="lang-csharp">{
"Parsing": { "G84": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
"CannedCycle": {
"Term": "G84", "ReturnMode": "G98",
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
}
}</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{
"CannedCycle": {
"Term": "G84", "ReturnMode": "G98",
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
},
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
"CompoundMotion": {
"Term": "G84",
"Items": [
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
{ "SpindleControl": { "Direction": "CCW" } },
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
{ "SpindleControl": { "Direction": "CW" } }
]
},
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
}</code></pre>
G74 left-hand — same shape but the two spindle items are flipped:
forward CCW (M04), reverse CW (M03) at the bottom, restore CCW
after retract. Tests that the syntax dispatches on
<code>cycleCode == G84</code> to pick the right pair:
#BeforeBuild:
<pre><code class="lang-csharp">{
"Parsing": { "G74": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
"CannedCycle": {
"Term": "G74", "ReturnMode": "G98",
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
}
}</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{
"CannedCycle": {
"Term": "G74", "ReturnMode": "G98",
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
},
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
"CompoundMotion": {
"Term": "G74",
"Items": [
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
{ "SpindleControl": { "Direction": "CW" } },
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
{ "SpindleControl": { "Direction": "CCW" } }
]
},
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
}</code></pre>