This commit is contained in:
2026-09-11 03:46:11 +08:00
parent 45b9f9ed5d
commit b7f55aa631
114 changed files with 3646 additions and 576 deletions
@@ -200,6 +200,29 @@ project serializes the suit's two members <em>flat</em> in the project XML,
keeping the per-workpiece <a class="xref" href="Hi.NcParsers.NcRunnerSuit.html#Hi_NcParsers_NcRunnerSuit_PerCaseNcDependencyList">PerCaseNcDependencyList</a> project-local
rather than a shared side file.
</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.RadiusCompInterference.html">RadiusCompInterference</a></dt>
<dd><p>Classifies cutter-compensation interference — the case a real control
refuses under G41/G42: the compensated tool path runs against the
programmed direction because the offset radius is larger than the
inner feature it has to follow (an inner arc smaller than the offset,
a groove bottom narrower than the tool). Fanuc stops with alarm
PS0041 INTERFERENCE IN CUTTER COMPENSATION; Heidenhain and Siemens
have equivalents. The simulation has no interference check and keeps
running the swapped-side path — so a program that simulates cleanly
can still stop on the machine, and a wrongly filled D row (the tool
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.
</p>
</dd>
</dl>
<dl class="jumplist">