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
@@ -169,8 +169,16 @@ converting after a switch to a CL device; and
<a class="xref" href="../../api/Hi.NcMech.Workpieces.WorkpieceService.html#Hi_NcMech_Workpieces_WorkpieceService_ClearIdealGeomCache_">ClearIdealGeomCache</a>, so loading another project stops
rendering the previous project's target geometry.</li>
<li><strong>Project-file operations are serialized through a zero-wait gate.</strong> A New / Load / Save / Reload
arriving while another is in progress throws <a class="xref" href="../../api/Hi.MachiningProcs.ProjectFileBusyException.html">ProjectFileBusyException</a>
immediately instead of racing into a file-in-use <code>IOException</code>.</li>
/ Close arriving while another is in progress throws
<a class="xref" href="../../api/Hi.MachiningProcs.ProjectFileBusyException.html">ProjectFileBusyException</a> immediately instead of racing into a file-in-use
<code>IOException</code>. Close was the one operation left outside the gate, so a Close arriving during a Save
could let the Save finish without writing and still return 200; it now refuses with the same 409
the other five ops already used.</li>
<li><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</strong> for load-time
diagnostics (a referenced STL missing on disk, a child XML that will not deserialize). A load-time
diagnostic does not fail the load; passing no sink leaves the application log as the only witness.
See <a class="xref" href="../../technique/api-foundations/message-management.html">Message Management</a>.</li>
<li><strong><a class="xref" href="../../api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_AlignWorkpieceProgramZeroToIso_">AlignWorkpieceProgramZeroToIso</a>
computes in the machine-zero state.</strong> It reflects the assembly and zeroes every dynamic axis before
querying displacements, so the alignment is correct even when the live machine's axes are