This commit is contained in:
2026-09-09 17:35:23 +08:00
parent 2a98ae7556
commit 161af68fe3
1271 changed files with 58251 additions and 98639 deletions
@@ -566,7 +566,9 @@ Will be removed when <a class="xref" href="Hi.Numerical.FilePlayers.HardNcRunner
</h3>
<div class="markdown level1 summary"><p>Gets or sets the fixture.</p>
<div class="markdown level1 summary"><p>Gets or sets the authored fixture (setup face). The runtime face
follows by rebuild; runtime readers use
<a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_MachiningEquipment">MachiningEquipment</a>.<a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipment_Fixture">Fixture</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -831,7 +833,9 @@ post-run reset.</p>
</h3>
<div class="markdown level1 summary"><p>Gets or sets the machining chain.</p>
<div class="markdown level1 summary"><p>Gets or sets the authored machining chain (setup face). The runtime
face follows by rebuild; runtime readers use
<a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_MachiningEquipment">MachiningEquipment</a>.<a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipment_MachiningChain">MachiningChain</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -896,13 +900,15 @@ This is used for XML serialization and file management.</p>
</h3>
<div class="markdown level1 summary"><p>Gets or sets the machining equipment used for milling.
Updates related components when changed.</p>
<div class="markdown level1 summary"><p>The runtime (execution) equipment face — service-owned, materialised
from <a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_SetupEquipment">SetupEquipment</a> at project assignment and session
boundaries, never serialized. Runtime consumers (runner, physics,
collision, execution display) read this.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public MachiningEquipment MachiningEquipment { get; set; }</code></pre>
<pre><code class="lang-csharp hljs">public MachiningEquipment MachiningEquipment { get; }</code></pre>
</div>
@@ -1099,7 +1105,9 @@ is loaded/assigned; an explicit setting then survives
</h3>
<div class="markdown level1 summary"><p>Gets or sets the machining tool.</p>
<div class="markdown level1 summary"><p>Gets or sets the Setup-page selected tool (setup face). The tool the
runner currently drives is
<a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_MachiningEquipment">MachiningEquipment</a>.<a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipment_MachiningTool">MachiningTool</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -1489,6 +1497,41 @@ active session.</p>
<a id="Hi_MachiningProcs_LocalProjectService_SetupEquipment_" data-uid="Hi.MachiningProcs.LocalProjectService.SetupEquipment*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_SetupEquipment" data-uid="Hi.MachiningProcs.LocalProjectService.SetupEquipment">
SetupEquipment
</h3>
<div class="markdown level1 summary"><p>The authored (setup) equipment face of the loaded project — the only
persisted face. Authoring surfaces (setup pages, equipment editors)
read and write this; runtime follows by rebuild (see
<a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_NotifySetupEquipmentEdited">NotifySetupEquipmentEdited()</a>).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public SetupEquipment SetupEquipment { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Machining.MachiningEquipmentUtils.SetupEquipment.html">SetupEquipment</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_LocalProjectService_ShellProgress_" data-uid="Hi.MachiningProcs.LocalProjectService.ShellProgress*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_ShellProgress" data-uid="Hi.MachiningProcs.LocalProjectService.ShellProgress">
@@ -1664,8 +1707,9 @@ runner / act-processing chain.</p>
</h3>
<div class="markdown level1 summary"><p>Gets or sets the workpiece to be machined.
Ensures proper initialization of workpiece properties.</p>
<div class="markdown level1 summary"><p>Gets or sets the authored workpiece (setup face). The runtime face
follows by rebuild; runtime readers use
<a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_MachiningEquipment">MachiningEquipment</a>.<a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipment_Workpiece">Workpiece</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -2088,6 +2132,36 @@ reported to the injected <code class="paramref">messageProgress</code>.</p>
<a id="Hi_MachiningProcs_LocalProjectService_EnsureExecutionEquipment_" data-uid="Hi.MachiningProcs.LocalProjectService.EnsureExecutionEquipment*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_EnsureExecutionEquipment" data-uid="Hi.MachiningProcs.LocalProjectService.EnsureExecutionEquipment">
EnsureExecutionEquipment()
</h3>
<div class="markdown level1 summary"><p>Ensures the runtime <a class="xref" href="Hi.MachiningSteps.IMachiningService.html#Hi_MachiningSteps_IMachiningService_MachiningEquipment">MachiningEquipment</a> reflects the
authored setup face — re-materialising it when setup edits are pending
(equipment split: follow = rebuild at session boundaries). Default:
no-op, for hosts without a setup face (e.g. test stubs).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void EnsureExecutionEquipment()</code></pre>
</div>
<a id="Hi_MachiningProcs_LocalProjectService_FixedPace_" data-uid="Hi.MachiningProcs.LocalProjectService.FixedPace*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_FixedPace_System_Double_System_Double_" data-uid="Hi.MachiningProcs.LocalProjectService.FixedPace(System.Double,System.Double)">
@@ -2130,6 +2204,38 @@ reported to the injected <code class="paramref">messageProgress</code>.</p>
<a id="Hi_MachiningProcs_LocalProjectService_ForwardSetupEnvironmentToExecution_" data-uid="Hi.MachiningProcs.LocalProjectService.ForwardSetupEnvironmentToExecution*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_ForwardSetupEnvironmentToExecution" data-uid="Hi.MachiningProcs.LocalProjectService.ForwardSetupEnvironmentToExecution">
ForwardSetupEnvironmentToExecution()
</h3>
<div class="markdown level1 summary"><p>Forwards the authored environment values (background temperature,
coolant condition, spindle capability) onto the runtime face. These are
pure data with no topology involvement, so eager forwarding is safe and
keeps environment edits immediate — a full materialise is not needed
for them. Call after writing the environment members on
<a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_SetupEquipment">SetupEquipment</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void ForwardSetupEnvironmentToExecution()</code></pre>
</div>
<a id="Hi_MachiningProcs_LocalProjectService_GetInspectingKeyPresentName_" data-uid="Hi.MachiningProcs.LocalProjectService.GetInspectingKeyPresentName*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_GetInspectingKeyPresentName_Hi_Common_StringLocalizer_" data-uid="Hi.MachiningProcs.LocalProjectService.GetInspectingKeyPresentName(Hi.Common.StringLocalizer)">
@@ -2209,7 +2315,7 @@ reported to the injected <code class="paramref">messageProgress</code>.</p>
</h3>
<div class="markdown level1 summary"><p>Get <a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html">MachiningEquipment</a>.</p>
<div class="markdown level1 summary"><p>Get the runtime <a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html">MachiningEquipment</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -2268,42 +2374,6 @@ reported to the injected <code class="paramref">messageProgress</code>.</p>
<a id="Hi_MachiningProcs_LocalProjectService_GetMillingEquipment_" data-uid="Hi.MachiningProcs.LocalProjectService.GetMillingEquipment*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_GetMillingEquipment" data-uid="Hi.MachiningProcs.LocalProjectService.GetMillingEquipment">
GetMillingEquipment()
</h3>
<div class="markdown level1 summary"><p>Source-compatible delegate for callers written against the pre-rename
name — the interface's default member is not reachable through a
concrete-typed reference, so it is restated here.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Obsolete(&quot;Renamed to GetMachiningEquipment.&quot;)]
public MachiningEquipment GetMillingEquipment()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html">MachiningEquipment</a></dt>
<dd><p>The loaded project's equipment, or null when none is loaded.</p>
</dd>
</dl>
<a id="Hi_MachiningProcs_LocalProjectService_GetSessionShell_" data-uid="Hi.MachiningProcs.LocalProjectService.GetSessionShell*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_GetSessionShell" data-uid="Hi.MachiningProcs.LocalProjectService.GetSessionShell">
@@ -2338,23 +2408,33 @@ public MachiningEquipment GetMillingEquipment()</code></pre>
<a id="Hi_MachiningProcs_LocalProjectService_LoadProject_" data-uid="Hi.MachiningProcs.LocalProjectService.LoadProject*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_LoadProject_System_String_" data-uid="Hi.MachiningProcs.LocalProjectService.LoadProject(System.String)">
LoadProject(string)
<h3 id="Hi_MachiningProcs_LocalProjectService_LoadProject_System_String_System_IProgress_Hi_Common_Messages_IMessage__" data-uid="Hi.MachiningProcs.LocalProjectService.LoadProject(System.String,System.IProgress{Hi.Common.Messages.IMessage})">
LoadProject(string, IProgress&lt;IMessage&gt;)
</h3>
<div class="markdown level1 summary"><p>Loads a project by file path relative to the admin directory.</p>
<div class="markdown level1 summary"><p>Loads a project by absolute file path. Load-time diagnostics (a machine
or part STL the project references but that is missing on disk, an
unloadable child XML, …) do not fail the load: the project comes up
without that geometry and each problem is reported as an
<a class="xref" href="Hi.Common.Messages.IMessage.html">IMessage</a> — always to the service logger, and also to
<code class="paramref">messageProgress</code> when the caller injects one.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void LoadProject(string projectPath)</code></pre>
<pre><code class="lang-csharp hljs">public void LoadProject(string projectPath, IProgress&lt;IMessage&gt; messageProgress = null)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>projectPath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>The absolute file path</p>
</dd>
<dt><code>messageProgress</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress</a>&lt;<a class="xref" href="Hi.Common.Messages.IMessage.html">IMessage</a>&gt;</dt>
<dd><p>Optional caller-injected sink for the load-time diagnostics (e.g. a
<a class="xref" href="Hi.Common.Messages.MessageCollector.html">MessageCollector</a> a web controller hands back in its
response). Null keeps logger-only reporting.</p>
</dd>
</dl>
@@ -2402,6 +2482,39 @@ public MachiningEquipment GetMillingEquipment()</code></pre>
<a id="Hi_MachiningProcs_LocalProjectService_NotifySetupEquipmentEdited_" data-uid="Hi.MachiningProcs.LocalProjectService.NotifySetupEquipmentEdited*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_NotifySetupEquipmentEdited" data-uid="Hi.MachiningProcs.LocalProjectService.NotifySetupEquipmentEdited">
NotifySetupEquipmentEdited()
</h3>
<div class="markdown level1 summary"><p>Marks the authored face edited so the runtime face follows. Follow is
a REBUILD (never live incremental sync): immediately when no session is
active, otherwise at the next session boundary
(<a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_BeginSession">BeginSession()</a> / the next play's
<a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_EnsureExecutionEquipment">EnsureExecutionEquipment()</a> / a player reset).
The facade setters call this; call it manually after mutating
<a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_SetupEquipment">SetupEquipment</a> members in place.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void NotifySetupEquipmentEdited()</code></pre>
</div>
<a id="Hi_MachiningProcs_LocalProjectService_PlayBrandNcFile_" data-uid="Hi.MachiningProcs.LocalProjectService.PlayBrandNcFile*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_PlayBrandNcFile_System_String_System_String_" data-uid="Hi.MachiningProcs.LocalProjectService.PlayBrandNcFile(System.String,System.String)">
@@ -2862,19 +2975,28 @@ Idempotent on <code class="paramref">key</code>.</p>
<a id="Hi_MachiningProcs_LocalProjectService_ReloadProject_" data-uid="Hi.MachiningProcs.LocalProjectService.ReloadProject*"></a>
<h3 id="Hi_MachiningProcs_LocalProjectService_ReloadProject" data-uid="Hi.MachiningProcs.LocalProjectService.ReloadProject">
ReloadProject()
<h3 id="Hi_MachiningProcs_LocalProjectService_ReloadProject_System_IProgress_Hi_Common_Messages_IMessage__" data-uid="Hi.MachiningProcs.LocalProjectService.ReloadProject(System.IProgress{Hi.Common.Messages.IMessage})">
ReloadProject(IProgress&lt;IMessage&gt;)
</h3>
<div class="markdown level1 summary"><p>Reloads the current project.</p>
<div class="markdown level1 summary"><p>Reloads the current project from disk, discarding in-memory edits.
Load-time diagnostics are reported the same way as in
<a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_LoadProject_System_String_System_IProgress_Hi_Common_Messages_IMessage__">LoadProject(string, IProgress&lt;IMessage&gt;)</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void ReloadProject()</code></pre>
<pre><code class="lang-csharp hljs">public void ReloadProject(IProgress&lt;IMessage&gt; messageProgress = null)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>messageProgress</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress</a>&lt;<a class="xref" href="Hi.Common.Messages.IMessage.html">IMessage</a>&gt;</dt>
<dd><p>Optional caller-injected sink for the load-time diagnostics; null keeps
logger-only reporting.</p>
</dd>
</dl>
@@ -3342,10 +3464,9 @@ runs as brand NC).</p>
</h3>
<div class="markdown level1 summary"><p>Call on MachiningEquipment Or MachiningChainChanged.
i.e. Update By MachiningEquipment Or MachiningChain.
The function is called on <a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_MachiningEquipment">MachiningEquipment</a> and its delegate property changed.
If the changing is raised outer from THIS service, this updating function should be manual called.</p>
<div class="markdown level1 summary"><p>Re-binds everything derived from the runtime equipment face. Runs as
the tail of <span class="xref">Hi.MachiningProcs.LocalProjectService.MaterialiseExecutionEquipment()</span>; call manually
only after mutating the runtime face outside the service.</p>
</div>
<div class="markdown level1 conceptual"></div>