Archived
deploy.
This commit is contained in:
+14
-4
@@ -111,10 +111,20 @@ per-fragment arc IJK recomputation — including R-to-IJK conversion — whereve
|
||||
carries the centre. An arc whose centre lives on a preceding modal block is exempt: its fragments
|
||||
keep the source block's arc words and share that upstream centre line unchanged, so only their
|
||||
endpoint and <code>F</code> words move. Two cases where the frozen HardNc optimizer is silently wrong are
|
||||
downgraded to a non-split rewrite rather than reproduced: a <code>G91</code> incremental block (the old
|
||||
fragment rewrite always emitted absolute coordinates), and a klartext <code>C … DR±</code> arc whose modal
|
||||
<code>CC</code> chain left one of the two in-plane axes unstated, so the block's own start point supplied
|
||||
that component — since every fragment would re-derive the centre from its own start. A klartext
|
||||
downgraded to a non-split rewrite rather than reproduced, each warned once per run. The first is
|
||||
an incremental block, and it is now taken by both of its spellings: <code>G91</code> modal state, <strong>or</strong> a
|
||||
block whose modal state is absolute while individual axis words carry a per-word incremental
|
||||
override — Siemens <code>X=IC(10)</code> and the coded <code>CIC()</code>, klartext <code>IX+20</code> and <code>IC+90</code>. The frozen
|
||||
fragment rewrite carries no <code>G90</code>/<code>G91</code> handling at all and always re-emits a coordinate as an
|
||||
absolute program value, so it splits both shapes and is wrong on each in its own way: the <code>G91</code>
|
||||
line comes back stating an absolute number the control still reads as a distance, and the
|
||||
per-word line keeps its incremental source word, so every fragment re-applies the same distance
|
||||
from its own start. Both now stop at <code>NcOpt--SplitionIncrementalUnsupported</code>. The per-word
|
||||
spelling is also the only one that can reach klartext: that dialect has no modal <code>G90</code>/<code>G91</code>
|
||||
word, so a stamped axis word is the only incremental form it produces. The second case is a
|
||||
klartext <code>C … DR±</code> arc whose modal <code>CC</code> chain left one of the two in-plane axes unstated, so the
|
||||
block's own start point supplied that component — since every fragment would re-derive the centre
|
||||
from its own start; that one reports <code>NcOpt--SplitionStartPointCenterUnsupported</code>. A klartext
|
||||
<code>C</code> block whose centre lands entirely on its own start point never reaches that guard: its radius
|
||||
is zero, so play degrades it to a chord under a validation warning of its own.
|
||||
<strong>Neither the controller brand nor klartext as such refuses a split</strong>: a klartext <code>L</code> block
|
||||
|
||||
Reference in New Issue
Block a user