This commit is contained in:
2026-09-13 19:45:24 +08:00
parent 397a7a8cc4
commit 2db889ad89
58 changed files with 3526 additions and 213 deletions
@@ -87,7 +87,68 @@
<article data-uid="">
<h1 id="release-note">Release Note</h1>
<h2 id="hinc-packages-32">HiNc Packages 3.2</h2>
<h2 id="hinc-packages-version-3224">HiNc Packages Version 3.2.24</h2>
<p>Correctness and coverage that landed after 3.2.7. The 3.1.175 → 3.2 line jump is the
3.2.7 entry below; the long form is still
<a href="upgrading-to-3.2/index.html">Upgrading from 3.1.175 to 3.2</a>.</p>
<div class="IMPORTANT">
<h5>Important</h5>
<p><strong>Adoption status.</strong> Verification is still in progress across most areas.</p>
<p><strong>Do not put 3.2 NC optimization into production.</strong> It is not finished on this line.
Work that depends on optimization should stay on the 3.1 line, serviced as
<code>3.1.175.&lt;patch&gt;</code>. The Blazor front end tracks the 3.2 packages, so it is not a way
to stay on the 3.1 behaviour.</p>
<p><strong>Do not put SoftNc canned-cycle indexing with rotary words into production.</strong> SoftNc is
the default engine, and its G81–G89 family does not take A / B / C words on a repeat
block: a rotary-only repeat does not fire the cycle, a mixed block drops the rotary
word, and under G68.2 the hole follows the table. Programs that index a rotary axis that
way should run with
<a class="xref" href="../api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_EnableSoftNcRunner">EnableSoftNcRunner</a> set <code>false</code> — the
HardNc fallback indexes those blocks the way a control does. See
<a href="upgrading-to-3.2/brand-nc-language-coverage.html#fanuc-and-iso-common">Brand NC language coverage</a>.</p>
</div>
<ul>
<li><strong>Whole-program throughput against the last 3.1 set is 2.5×–18.8×</strong> in steps per
second (paired on one 32-logical-processor Linux workstation; the ratio grows with
program length and mesh fineness). The six-core ceiling that used to cap the 3.1
pipeline is about 6% of that gap. Figures and conditions:
<a href="upgrading-to-3.2/performance-and-footprint.html">Performance and footprint</a></li>
<li><strong><code>M02</code> / <code>M30</code> / <code>END PGM</code> is a reset edge on SoftNc.</strong> Tool-length compensation
(including TCP), tilt, cutter-radius compensation and canned cycles cancel on the <em>next</em>
block; the end-of-program block itself still runs under the modal state it executed with.
HardNc still carries <code>G43.4</code> across <code>M02</code>. See
<a href="upgrading-to-3.2/results-that-change-on-upgrade.html">Results that change on upgrade</a></li>
<li><strong>An omitted H is no longer a silent zero</strong> — it takes the equipped tool's offset row
first, then warns <code>Comp-ToolHeight--NoToolForOmittedH</code> / <code>--NoToolForOmittedHRtcp</code>. A
vacant table row warns <code>Comp-ToolHeight--RowMissing</code></li>
<li><strong>Cutter-radius compensation runs in the selected G17 / G18 / G19 plane.</strong> An
interference path that used to swap sides silently now reports
<code>RadiusComp--Interference</code></li>
<li><strong>Siemens <code>ROTS</code> / <code>AROTS</code> are simulated</strong> into the tilt chain in Sinumerik RPY order.
<code>SCALE</code> / <code>MIRROR</code> / <code>CROTS</code> remain recognized, not simulated</li>
<li><strong>Heidenhain <code>LN</code> vector blocks</strong> resolve into rotary axes through
<a class="xref" href="../api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainLnOrientationSyntax.html">HeidenhainLnOrientationSyntax</a></li>
<li><strong>Fanuc <code>G54.1 Pn</code> (also written <code>G54 Pn</code>) and <code>G59.1</code>–<code>G59.9</code></strong> resolve additional work
offsets. A selected row nobody has entered reports <code>Coord-WorkOffset--AdditionalZero</code></li>
<li><strong>Runner feedrate members rename to <code>CommandedClFeedrate_mmds</code>.</strong> Physics follows the
equipped tool's tip via
<a class="xref" href="../api/Hi.MachiningSteps.MachineMotionStep.html#Hi_MachiningSteps_MachineMotionStep_ActualTipFeedrate_mmds">ActualTipFeedrate_mmds</a>. A project-level
<a class="xref" href="../api/Hi.NcParsers.Dependencys.Generic.RadiusOffsetBasis.html">RadiusOffsetBasis</a> decides what a tool-house
refresh writes into the D column — see
<a href="../anatomy/general-setup/controller/program-data/tool-offsets.html#the-radius-basis">Tool Offsets</a></li>
<li><strong><code>GetMillingEquipment</code> → <code>GetMachiningEquipment</code>.</strong> <code>CodeXyzabcMachineTool</code> is absorbed
into <a class="xref" href="../api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html">GeneralXyzabcMachineTool</a> (the old XML name still loads). The
equipment splits into authored
<a class="xref" href="../api/Hi.Machining.MachiningEquipmentUtils.SetupEquipment.html">SetupEquipment</a> and runtime
<a class="xref" href="../api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html">MachiningEquipment</a></li>
<li><strong>Close joins the <a class="xref" href="../api/Hi.MachiningProcs.ProjectFileBusyException.html">ProjectFileBusyException</a> gate.</strong>
<a class="xref" href="../api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_LoadProject_">LoadProject</a> and
<a class="xref" href="../api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_ReloadProject_">ReloadProject</a> take a message sink for
load-time diagnostics</li>
<li><strong><a class="xref" href="../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_OmitLeadingZero">OmitLeadingZero</a></strong> is an output style the project can pin
(<code>.5</code> vs <code>0.5</code>)</li>
</ul>
<h2 id="hinc-packages-version-327">HiNc Packages Version 3.2.7</h2>
<h3 id="at-a-glance">At a glance</h3>
<p>3.2 is largely one piece of work: the NC interpreter that reads a controller program is now composed
from configurable parts rather than written into one class, and most of this release is the brand
@@ -152,7 +213,7 @@ depends on optimization should stay on the 3.1 line, which is serviced as <code>
Blazor front end tracks the 3.2 packages, so it is not a way to stay on the 3.1 behaviour.</p>
</div>
<h3 id="what-changed">What changed</h3>
<p><strong>This one entry covers everything since 3.1.175.</strong> The 3.1 line is closed at the 3.1.175 package
<p><strong>This 3.2.7 entry covers everything since 3.1.175.</strong> The 3.1 line is closed at the 3.1.175 package
set and is serviced only as <code>3.1.175.&lt;patch&gt;</code>; <code>master</code> moved all ten packages onto the <strong>3.2</strong> line
on 2026-08-24 and restarted their build counters. So a 3.2 build number starts low, the two
counters are not comparable, and the gap between the last 3.1 number a feed served and the first