deploy fixed MRR drift and webservice CylindroidHolder buckle branch update issue.
This commit is contained in:
@@ -195,6 +195,109 @@ Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycle
|
||||
</dd></dl>
|
||||
|
||||
|
||||
<h2 id="Hi_NcParsers_LogicSyntaxs_BoringCycleSyntax_examples">Examples</h2>
|
||||
<p>All cases below pre-populate <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a> as
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> would have written it. There
|
||||
is no <code>#Previous:</code>, so <code>GetLastProgramXyz</code> returns
|
||||
<code>Vec3d.Zero</code> → <code>initZ = 0</code>. F is supplied inside the cycle
|
||||
section so <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">ResolveFeedrate(JsonObject, JsonObject, ISentenceCarrier, NcDiagnosticProgress)</a>
|
||||
writes block-level <a class="xref" href="Hi.NcParsers.Keywords.Feedrate.html">Feedrate</a> (G94 default, 600 mm/min
|
||||
→ 10 mm/s) before items are emitted. All cases use G98 return mode
|
||||
so <code>finalZ = initZ = 0</code>.</p>
|
||||
<p>
|
||||
G85 — feed to bottom, feed retract (smooth bore finish). The retract
|
||||
item carries the same <code>Feedrate_mmds</code> as the down-stroke. Four
|
||||
items:
|
||||
</p>
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "G85": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
|
||||
"CannedCycle": {
|
||||
"Term": "G85", "ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
}
|
||||
}</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"CannedCycle": {
|
||||
"Term": "G85", "ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
},
|
||||
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||
"CompoundMotion": {
|
||||
"Term": "G85",
|
||||
"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 } },
|
||||
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } }
|
||||
]
|
||||
},
|
||||
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||
}</code></pre>
|
||||
G86 — feed to bottom, spindle stop, rapid retract, spindle restart
|
||||
CW. First marker to spell out
|
||||
<code>{ "SpindleControl": { "Direction": ... } }</code> items. The retract
|
||||
item carries <code>IsRapid: true</code> rather than a feedrate. Six items:
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "G86": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
|
||||
"CannedCycle": {
|
||||
"Term": "G86", "ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
}
|
||||
}</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"CannedCycle": {
|
||||
"Term": "G86", "ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
},
|
||||
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||
"CompoundMotion": {
|
||||
"Term": "G86",
|
||||
"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": "STOP" } },
|
||||
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||
{ "SpindleControl": { "Direction": "CW" } }
|
||||
]
|
||||
},
|
||||
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||
}</code></pre>
|
||||
G89 with P=0.3s dwell — like G85 but inserts a
|
||||
<code>{ Dwell: { Time: 0.3 } }</code> item at the bottom before the feed
|
||||
retract. Five items:
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "G89": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600, "P": 0.3 } },
|
||||
"CannedCycle": {
|
||||
"Term": "G89", "ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
}
|
||||
}</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"CannedCycle": {
|
||||
"Term": "G89", "ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
},
|
||||
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||
"CompoundMotion": {
|
||||
"Term": "G89",
|
||||
"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 } },
|
||||
{ "Dwell": { "Time": 0.3 } },
|
||||
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } }
|
||||
]
|
||||
},
|
||||
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||
}</code></pre>
|
||||
|
||||
|
||||
<h2 id="Hi_NcParsers_LogicSyntaxs_BoringCycleSyntax_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><p>G86 emits <a class="xref" href="Hi.NcParsers.Keywords.SpindleControl.html">SpindleControl</a> items for spindle stop (before
|
||||
|
||||
Reference in New Issue
Block a user