Archived
deploy.
This commit is contained in:
@@ -217,11 +217,33 @@ radius entered against a tool-centre CAM path that expects wear only)
|
||||
shows up as an overcut instead of an alarm. The diagnostics built from
|
||||
this class exist to close that gap; they never change the path.</p>
|
||||
<p>
|
||||
Today the gate is meaningful on the XY plane (G17) only: both
|
||||
compensation engines build the perpendicular as <code>Z × axis</code>
|
||||
whatever plane is selected, so a G18/G19 region is neither compensated
|
||||
in its own plane nor checked here — the <code>planeNormalDir</code> parameters
|
||||
are ready for the day the engines pass the selected plane through.
|
||||
The gate works on the selected G17/G18/G19 plane: both engines pass
|
||||
the block's plane through <code>planeNormalDir</code>, and the in-plane
|
||||
projections below use it (neither engine checks a polar G12.1 block).
|
||||
Until 2026-09-11 both engines built the perpendicular as
|
||||
<code>Z × axis</code> whatever plane was selected, so a G18/G19 region was
|
||||
offset along its normal and could never be judged here.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.RadiusCompPlaneChange.html">RadiusCompPlaneChange</a></dt>
|
||||
<dd><p>Classifies a plane selection (G17/G18/G19) that arrives while cutter
|
||||
radius compensation is still active — the case a real control refuses.
|
||||
Fanuc stops with alarm PS0037 CAN NOT CHANGE PLANE IN CRC, which covers
|
||||
both a plane code inside the compensation mode and a plane code sharing
|
||||
its block with the G40 that cancels it; Siemens and Heidenhain have
|
||||
equivalents. Neither engine can honour such a change: the corner between
|
||||
the two blocks is built from one block's running axis on the old plane
|
||||
and the other's on the new one, so the path around the change mixes two
|
||||
planes — and the block after it is offset on a plane the block before it
|
||||
never saw. The diagnostics built from this class exist to name that;
|
||||
they never change the path.</p>
|
||||
<p>
|
||||
The check is on the plane actually resolving differently from the
|
||||
previous block's, so a plane code that re-selects the plane already in
|
||||
force stays silent, as does the plane code on the block that starts the
|
||||
region (a control accepts that one — compensation is not active yet).
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
Reference in New Issue
Block a user