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
@@ -264,6 +264,44 @@ to G81. Five items total:
},
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
}</code></pre>
G81 on a block that spoke a rotary word — the one-shot
<a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a> record from <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a>, whose
root <code>MachineCoordinateState</code> already holds the resolved C and
the lookback-filled A. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a>
copies both onto the first (pre-positioning) item so the rapid to the
initial level indexes the table at the same time; the remaining items
stay XYZ-only exactly as in the first case. Root MC and the record
are left untouched:
#BeforeBuild:
<pre><code class="lang-csharp">{
"Parsing": { "G81": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
"CannedCycle": {
"Term": "G81", "ReturnMode": "G98",
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
},
"MachineCoordinateState": { "A": 0, "C": 40 },
"RotaryWords": { "C": 40 }
}</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{
"CannedCycle": {
"Term": "G81", "ReturnMode": "G98",
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
},
"MachineCoordinateState": { "A": 0, "C": 40 },
"RotaryWords": { "C": 40 },
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
"CompoundMotion": {
"Term": "G81",
"Items": [
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true }, "MachineCoordinateState": { "A": 0, "C": 40 } },
{ "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 } },
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } }
]
},
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
}</code></pre>
<h2 id="Hi_NcParsers_LogicSyntaxs_DrillingCycleSyntax_remarks">Remarks</h2>