Archived
deploy.
This commit is contained in:
+14
-8
@@ -117,13 +117,18 @@ Heidenhain after the rightmost <code>DR+</code>/<code>DR-</code> and <code>RL</c
|
||||
holds — and the shape of the source note the optimizer embeds, a <code>;</code> comment on Heidenhain and a
|
||||
parenthesized one on the rest. The radius-compensation syntax all five presets
|
||||
carry reads it too, raising its negative-radius validation warning only where the marker is
|
||||
Heidenhain. <strong>The piece classifier does not read it</strong>: none of its re-interpolation guards is
|
||||
keyed on the brand, and the guard that singles a klartext arc out is keyed on where the arc's
|
||||
centre came from. So an arc centred on a modal <code>CC</code> line splits like any other, and the one
|
||||
refused (<code>NcOpt--SplitionStartPointCenterUnsupported</code>) is the arc whose <code>CC</code> chain left an
|
||||
in-plane coordinate for its own start point to supply. An arc whose centre falls entirely on its
|
||||
start point never reaches that guard: with no radius it is not an arc at all, so it warns
|
||||
<code>Arc-CircleCenter--OnStartPoint</code> and is degraded to a chord as the program is read.</p>
|
||||
Heidenhain. <strong>The piece classifier does not read it</strong>: neither of its re-interpolation guards is keyed
|
||||
on the brand — one keys on where the arc's centre came from, the other on the piece's own
|
||||
incremental words. So a klartext arc centred on a
|
||||
modal <code>CC</code> line splits like any other, provided the chain supplies both in-plane centre coordinates
|
||||
and the <code>C</code> block states its own words absolutely; an incomplete chain
|
||||
(<code>NcOpt--SplitionStartPointCenterUnsupported</code>) and an incremental word on the block itself
|
||||
(<code>NcOpt--SplitionIncrementalUnsupported</code>) are each optimized as whole lines, and
|
||||
<a class="xref" href="../../../../technique/nc-dialects/controller-heidenhain.html">Heidenhain Support</a> states both. An arc whose centre falls
|
||||
entirely on its start point never reaches the centre guard: with no radius it is not an arc at all,
|
||||
so it warns <code>Arc-CircleCenter--OnStartPoint</code> and is degraded to a chord as the program is read. The
|
||||
incremental guard is not conditioned on the block being an arc, so a degraded chord that still
|
||||
carries an <code>I</code> word trips it like any other line.</p>
|
||||
<p>Each of the five properties returns a <strong>new instance per read</strong>, so no two projects can share one
|
||||
preset and the returned runner is safe to mutate before it is installed. The five brand tokens are
|
||||
declared once as constants on the brand dependency and are then enumerated again, independently, in
|
||||
@@ -531,7 +536,8 @@ one free-form string property, with no behaviour of its own; its readers live el
|
||||
<li><code>HiMech/NcOpt/SoftNcOptProc.cs</code> — where NC optimization reads the marker back out of the session's
|
||||
effective dependency list, for the writeback grammar.</li>
|
||||
<li><code>HiMech/NcOpt/NcOptPieceClassifier.cs</code> — the re-interpolation guards, none of them keyed on the
|
||||
brand; the arc guard keys on the centre's provenance instead.</li>
|
||||
brand; the two a klartext arc can reach key on the centre's provenance and on the piece's own
|
||||
incremental words instead.</li>
|
||||
<li><code>HiMech/NcParsers/Keywords/Generic/ArcCenterSource.cs</code> — the two centre-provenance stamps: the one
|
||||
the arc guard refuses, and the one that tells the writeback a split arc's fragments share the <code>CC</code>
|
||||
line unchanged. An arc whose own block states its centre carries neither.</li>
|
||||
|
||||
Reference in New Issue
Block a user