Archived
deploy webservice static-file routing for docsite folder URLs, per-instance step-cache db, and constant-height panel title bars.
This commit is contained in:
+82
@@ -192,6 +192,88 @@ replaced with a <a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html"
|
||||
</dd></dl>
|
||||
|
||||
|
||||
<h2 id="Hi_NcParsers_PostLogicSyntaxs_RadiusCompensationSyntax_examples">Examples</h2>
|
||||
<p>Cartesian G41 begin block (tool radius 5 via the D1 offset row): no
|
||||
intersection — the position offsets perpendicular to the segment,
|
||||
left of travel (+X move → +Y), and the compensated machine
|
||||
coordinate plus the motion-section MotionProgramXyz are written:
|
||||
#Previous:</p>
|
||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 0, "Y": 0, "Z": 0 } }</code></pre>
|
||||
<p>#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "G41": { "D": 1 } },
|
||||
"ProgramXyz": { "X": 10, "Y": 0, "Z": 0 },
|
||||
"MotionEvent": { "Form": "McLinear" }
|
||||
}</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"ProgramXyz": { "X": 10, "Y": 0, "Z": 0 },
|
||||
"MotionEvent": { "Form": "McLinear", "MotionProgramXyz": { "X": 10, "Y": 5, "Z": 0 } },
|
||||
"RadiusCompensation": { "Side": "Left", "Term": "G41", "OffsetId": 1, "Radius_mm": 5 },
|
||||
"MachineCoordinateState": { "X": 10, "Y": 5, "Z": 0 }
|
||||
}</code></pre>
|
||||
<p>Polar continuation with parallel rays (the G12.1 branch): the
|
||||
compensated central position offsets left of the +C travel
|
||||
(−5 on the radius axis), <code>ProgramPolarRxcz</code> stays NOMINAL, and
|
||||
the machine coordinate is re-derived from the compensated central —
|
||||
radius √(35²+20²), C chained from the previous (compensated) angle:
|
||||
#Previous:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"PolarInterpolationState": { "Dir": "XC", "InitRxcz": { "X": 0, "Y": 0, "Z": 0 } },
|
||||
"ProgramPolarRxcz": { "X": 40, "Y": 10, "Z": 0 },
|
||||
"RadiusCompensation": { "Side": "Left", "Term": "G41", "OffsetId": 1, "Radius_mm": 5 },
|
||||
"CompensatedCentral": { "X": 35, "Y": 10, "Z": 0 },
|
||||
"MachineCoordinateState": { "C": 15.945395900922854, "X": 36.40054944640259, "Y": 0, "Z": 0 }
|
||||
}</code></pre>
|
||||
<p>#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"PolarInterpolationState": { "Dir": "XC", "InitRxcz": { "X": 0, "Y": 0, "Z": 0 } },
|
||||
"ProgramPolarRxcz": { "X": 40, "Y": 20, "Z": 0 },
|
||||
"ProgramXyz": { "X": 44.721359549995796, "Y": 0, "Z": 0 },
|
||||
"MachineCoordinateState": { "C": 26.565051177077986, "X": 44.721359549995796, "Y": 0, "Z": 0 },
|
||||
"MotionState": { "Term": "G01" },
|
||||
"MotionEvent": { "Form": "McPolarLinear" }
|
||||
}</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"PolarInterpolationState": { "Dir": "XC", "InitRxcz": { "X": 0, "Y": 0, "Z": 0 } },
|
||||
"ProgramPolarRxcz": { "X": 40, "Y": 20, "Z": 0 },
|
||||
"ProgramXyz": { "X": 44.721359549995796, "Y": 0, "Z": 0 },
|
||||
"MachineCoordinateState": { "C": 29.744881296942225, "X": 40.311288741492746, "Y": 0, "Z": 0 },
|
||||
"MotionState": { "Term": "G01" },
|
||||
"MotionEvent": { "Form": "McPolarLinear" },
|
||||
"RadiusCompensation": { "Side": "Left", "Term": "G41", "OffsetId": 1, "Radius_mm": 5 },
|
||||
"CompensatedCentral": { "X": 35, "Y": 20, "Z": 0 }
|
||||
}</code></pre>
|
||||
<p>A bare G40 inside polar mode inherits the previous block's
|
||||
(compensated) machine coordinate — the Cartesian McLinear on it is
|
||||
the modal fallthrough, not real motion, so it counts as bare:
|
||||
#Previous:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"PolarInterpolationState": { "Dir": "XC", "InitRxcz": { "X": 0, "Y": 0, "Z": 0 } },
|
||||
"ProgramPolarRxcz": { "X": 40, "Y": 20, "Z": 0 },
|
||||
"RadiusCompensation": { "Side": "Left", "Term": "G41", "OffsetId": 1, "Radius_mm": 5 },
|
||||
"MachineCoordinateState": { "C": 29.744881296942225, "X": 40.311288741492746, "Y": 0, "Z": 0 }
|
||||
}</code></pre>
|
||||
<p>#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "Flags": ["G40"] },
|
||||
"PolarInterpolationState": { "Dir": "XC", "InitRxcz": { "X": 0, "Y": 0, "Z": 0 } },
|
||||
"ProgramPolarRxcz": { "X": 40, "Y": 20, "Z": 0 },
|
||||
"MachineCoordinateState": { "C": 26.565051177077986, "X": 44.721359549995796, "Y": 0, "Z": 0 },
|
||||
"MotionState": { "Term": "G01" },
|
||||
"MotionEvent": { "Form": "McLinear" }
|
||||
}</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"PolarInterpolationState": { "Dir": "XC", "InitRxcz": { "X": 0, "Y": 0, "Z": 0 } },
|
||||
"ProgramPolarRxcz": { "X": 40, "Y": 20, "Z": 0 },
|
||||
"MachineCoordinateState": { "C": 29.744881296942225, "X": 40.311288741492746, "Y": 0, "Z": 0 },
|
||||
"MotionState": { "Term": "G01" },
|
||||
"MotionEvent": { "Form": "McLinear" },
|
||||
"RadiusCompensation": { "Side": "None", "Term": "G40", "OffsetId": 1 }
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user