Archived
deploy.
This commit is contained in:
+25
@@ -242,6 +242,31 @@ them on the bench fixtures); the largest moves are floors that used to register
|
||||
whole bottom disc dropped out — and side ranges that were fragmented into pieces separated by
|
||||
phantom 1° gaps. Coefficient sets trained before this change embed the old engagement of their
|
||||
training program; retrain on a replay if that fit matters.</li>
|
||||
<li><strong>SoftNc canned cycles index a rotary axis.</strong> A G81–G89 repeat block carrying an A / B / C word
|
||||
used to skip the hole (rotary-only repeat), drill it at the previous angle (mixed block) or let it
|
||||
follow the table under <code>G68.2</code>. It now indexes the table and drills again, pre-positioning XYZ and
|
||||
the table in one move, and under <code>G68.2</code> without RTCP the feature frame stays pinned in machine
|
||||
space. Under <code>G91</code> only the words the block itself spoke are increments — an X-pitch repeat used
|
||||
to add the previous cycle's Y a second time and drill upward. A bolt-circle program that ran
|
||||
short of holes, or drilled them in the wrong place, now matches the HardNc replay.</li>
|
||||
<li><strong>A rotary word under modal <code>G91</code> is an increment.</strong> <code>G91 … C20.</code> then <code>C20.</code> left the table at
|
||||
20; it is 40 now. A spoken <code>G91 B270.</code> stays a +270° traverse instead of folding to −90°, and a
|
||||
<code>G91 G28</code> rotary intermediate anchors on the previous modal angle instead of on zero (<code>G91 G28 C0</code> from C90 now holds the table and returns home instead of swinging to 0 first). Per-word
|
||||
directives (<code>C=AC(90)</code>, <code>ACP</code> / <code>ACN</code>, <code>IC()</code>) are unchanged. HardNc keeps its absolute reading
|
||||
and warns.</li>
|
||||
<li><strong>Rotary IK from a pole seed.</strong> Every solve attempt now runs coarse then polish, so a small tilt
|
||||
with a large azimuth that ran out of iterations a few milliradians short — and was refused by
|
||||
<code>G53.1</code>, leaving the table at A = C = 0 with the tilt active and the path rotated off the part —
|
||||
now solves to 1e-8 rad. On a Fanuc IJK grid from the pole seed 54 / 69 failures per A/C chain
|
||||
become 0; a CL program goes from 44 dropped endpoints of 536 to 0.</li>
|
||||
<li><strong>The rotary branch inside the travel wins.</strong> When the nearest IK solution lies outside an axis'
|
||||
configured travel, <code>G53.1</code>, <code>G68.2</code>, <code>CYCLE800</code>, <code>PLANE SPATIAL</code> and <code>LN</code> now take the admissible
|
||||
branch nearest the entry (sign, half-turn and supplement combinations are searched); a posture
|
||||
the cradle cannot take is no longer commanded silently. This needs the travel to be known, and
|
||||
it now is on every project: stroke limits declared only in the legacy machine-limits boxes are
|
||||
copied into the controller parameter table on load for the axes carrying no end there, where they
|
||||
used to be checked against nothing on SoftNc. An axis parked exactly on its limit is no longer
|
||||
reported (<a class="xref" href="../../api/Hi.NcParsers.Dependencys.StrokeLimitUtil.html#Hi_NcParsers_Dependencys_StrokeLimitUtil_Tolerance">Tolerance</a>).</li>
|
||||
<li>The SoftNc pipeline is the default engine.</li>
|
||||
<li>Executed <code>SyntaxPiece</code>s freeze to UTF-8 (below), so their <code>JsonObject</code> is a fresh read-only snapshot
|
||||
per call rather than a retained live graph.</li>
|
||||
|
||||
Reference in New Issue
Block a user