fix SoftNcRunner GM code normalization.

This commit is contained in:
2026-05-06 13:21:19 +08:00
parent 0fe9497552
commit 2f57932000
1238 changed files with 69405 additions and 22511 deletions
@@ -652,6 +652,40 @@ Don't apply this option.</p>
<a id="Hi_MachiningProcs_RuntimeApi_EnableSoftNcRunner_" data-uid="Hi.MachiningProcs.RuntimeApi.EnableSoftNcRunner*"></a>
<h3 id="Hi_MachiningProcs_RuntimeApi_EnableSoftNcRunner" data-uid="Hi.MachiningProcs.RuntimeApi.EnableSoftNcRunner">
EnableSoftNcRunner
</h3>
<div class="markdown level1 summary"><p>Workaround flag to use <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> instead of <a class="xref" href="Hi.Numerical.FilePlayers.HardNcRunner.html">HardNcRunner</a>.
Will be removed when <a class="xref" href="Hi.Numerical.FilePlayers.HardNcRunner.html">HardNcRunner</a> is fully replaced.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(DocContentHtml = &quot;Enable SoftNcRunner instead of legacy HardNcRunner.&quot;)]
public bool EnableSoftNcRunner { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_RuntimeApi_EnableWearEffect_" data-uid="Hi.MachiningProcs.RuntimeApi.EnableWearEffect*"></a>
<h3 id="Hi_MachiningProcs_RuntimeApi_EnableWearEffect" data-uid="Hi.MachiningProcs.RuntimeApi.EnableWearEffect">
@@ -1985,13 +2019,47 @@ public double OptYieldingUtilizationFactor { get; set; }</code></pre>
</h3>
<div class="markdown level1 summary"><p>Obsolete alias for <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_SessionProgress">SessionProgress</a> (session-scoped progress and messages).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce]
[Obsolete(&quot;Use SessionProgress instead.&quot;)]
public SessionProgress SessionMessageHost { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.MachiningProcs.SessionProgress.html">SessionProgress</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_RuntimeApi_SessionProgress_" data-uid="Hi.MachiningProcs.RuntimeApi.SessionProgress*"></a>
<h3 id="Hi_MachiningProcs_RuntimeApi_SessionProgress" data-uid="Hi.MachiningProcs.RuntimeApi.SessionProgress">
SessionProgress
</h3>
<div class="markdown level1 summary"><p>Gets the session message host for displaying messages.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce]
public SessionProgress SessionMessageHost { get; }</code></pre>
public SessionProgress SessionProgress { get; }</code></pre>
</div>
@@ -3360,6 +3428,36 @@ public void PlayToolingTeleport(int toolId)</code></pre>
<a id="Hi_MachiningProcs_RuntimeApi_PowerReset_" data-uid="Hi.MachiningProcs.RuntimeApi.PowerReset*"></a>
<h3 id="Hi_MachiningProcs_RuntimeApi_PowerReset" data-uid="Hi.MachiningProcs.RuntimeApi.PowerReset">
PowerReset()
</h3>
<div class="markdown level1 summary"><p>Performs a controller power reset: every <a class="xref" href="Hi.NcParsers.Dependencys.IPowerResettable.html">IPowerResettable</a> dependency
in the active <code>NcDependencyList</code> clears its volatile subset (e.g. Fanuc
common volatile macro variables <code>#100-#499</code>). Persistent state is left intact.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;PowerReset();&quot;)]
public void PowerReset()</code></pre>
</div>
<a id="Hi_MachiningProcs_RuntimeApi_Preserve_" data-uid="Hi.MachiningProcs.RuntimeApi.Preserve*"></a>
<h3 id="Hi_MachiningProcs_RuntimeApi_Preserve" data-uid="Hi.MachiningProcs.RuntimeApi.Preserve">
@@ -3577,6 +3675,76 @@ public void RegisterStepVariable(string key, string name, string unit, string fo
<a id="Hi_MachiningProcs_RuntimeApi_RegisterWriteSyntaxPieces_" data-uid="Hi.MachiningProcs.RuntimeApi.RegisterWriteSyntaxPieces*"></a>
<h3 id="Hi_MachiningProcs_RuntimeApi_RegisterWriteSyntaxPieces_System_String_" data-uid="Hi.MachiningProcs.RuntimeApi.RegisterWriteSyntaxPieces(System.String)">
RegisterWriteSyntaxPieces(string)
</h3>
<div class="markdown level1 summary"><p>Registers a text writer so each executed <a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a> is appended to
<code class="paramref">relOutputFile</code> under the machining project base directory for debugging.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(Snippet = &quot;RegisterWriteSyntaxPieces($1\&quot;Cache/syntax-pieces-output.txt\&quot;)&quot;)]
public void RegisterWriteSyntaxPieces(string relOutputFile)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relOutputFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Relative path for the output log file.</p>
</dd>
</dl>
<a id="Hi_MachiningProcs_RuntimeApi_RegisterWriteSyntaxPiecesWithActs_" data-uid="Hi.MachiningProcs.RuntimeApi.RegisterWriteSyntaxPiecesWithActs*"></a>
<h3 id="Hi_MachiningProcs_RuntimeApi_RegisterWriteSyntaxPiecesWithActs_System_String_" data-uid="Hi.MachiningProcs.RuntimeApi.RegisterWriteSyntaxPiecesWithActs(System.String)">
RegisterWriteSyntaxPiecesWithActs(string)
</h3>
<div class="markdown level1 summary"><p>Registers a writer that outputs each <a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a> once,
followed by its associated <a class="xref" href="Hi.Numerical.Acts.IAct.html">IAct</a> entries (one-to-many).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(Snippet = &quot;RegisterWriteSyntaxPiecesWithActs($1\&quot;Cache/syntax-pieces-acts-output.txt\&quot;)&quot;)]
public void RegisterWriteSyntaxPiecesWithActs(string relOutputFile)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relOutputFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Output file path relative to <a class="xref" href="Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_BaseDirectory">BaseDirectory</a>.</p>
</dd>
</dl>
<a id="Hi_MachiningProcs_RuntimeApi_RemoveFlyPiece_" data-uid="Hi.MachiningProcs.RuntimeApi.RemoveFlyPiece*"></a>
<h3 id="Hi_MachiningProcs_RuntimeApi_RemoveFlyPiece" data-uid="Hi.MachiningProcs.RuntimeApi.RemoveFlyPiece">
@@ -3820,6 +3988,42 @@ public bool? ScanRuntimeGeomInfDefect()</code></pre>
<a id="Hi_MachiningProcs_RuntimeApi_SetAllSnapshotSyntaxEnabled_" data-uid="Hi.MachiningProcs.RuntimeApi.SetAllSnapshotSyntaxEnabled*"></a>
<h3 id="Hi_MachiningProcs_RuntimeApi_SetAllSnapshotSyntaxEnabled_System_Boolean_" data-uid="Hi.MachiningProcs.RuntimeApi.SetAllSnapshotSyntaxEnabled(System.Boolean)">
SetAllSnapshotSyntaxEnabled(bool)
</h3>
<div class="markdown level1 summary"><p>Sets <code>IsEnabled</code> on every <code>SnapshotSyntax</code> reachable from the
active <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a>'s <code>NcSyntaxList</code> (top-level slots
and inside <code>BundleSyntax</code>). No-op when <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a>
is not the active runner.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(DocContentHtml = &quot;Enable or disable every SnapshotSyntax in the active SoftNcRunner pipeline at once.&quot;)]
public void SetAllSnapshotSyntaxEnabled(bool isEnabled)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>isEnabled</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_RuntimeApi_SetNcResolutionFeedPerCycle_" data-uid="Hi.MachiningProcs.RuntimeApi.SetNcResolutionFeedPerCycle*"></a>
<h3 id="Hi_MachiningProcs_RuntimeApi_SetNcResolutionFeedPerCycle" data-uid="Hi.MachiningProcs.RuntimeApi.SetNcResolutionFeedPerCycle">
@@ -4327,13 +4531,14 @@ public void WriteStepFiles(string relFileTemplate = &quot;Output/[NcName].step.c
</h3>
<div class="markdown level1 summary"><p>Gets or sets the action to configure steps during execution.
The event will be cleared by the calling of <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ResetRuntime">ResetRuntime()</a>.</p>
<div class="markdown level1 summary"><p>Session-scoped event triggered when a machining step is built.
Lifetime is bound to <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningSession">MachiningSession</a>: created by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_BeginSession">BeginSession()</a>, released by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EndSession">EndSession()</a>.
For app-lifetime event, use <a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_MachiningStepBuilt">MachiningStepBuilt</a> instead.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(Snippet = &quot;MachiningStepBuilt+=($1preStep,$2curStep)=&gt;{$3Command};&quot;, DocContentHtml = &quot;Runtime Step Configuration action. preStep is the Previous Milling Step; curStep is the Current Milling Step. preStep is null if no previous step existed.&quot;)]
<pre><code class="lang-csharp hljs">[Obsolete(&quot;Use SessionStepBuilt instead.&quot;)]
public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt</code></pre>
</div>
@@ -4360,13 +4565,13 @@ public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt</c
</h3>
<div class="markdown level1 summary"><p>Event that is triggered when a milling step is selected.
The event will be cleared by the calling of <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ResetRuntime">ResetRuntime()</a>.</p>
<div class="markdown level1 summary"><p>Session-scoped event triggered when a machining step is selected.
Lifetime is bound to <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningSession">MachiningSession</a>: created by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_BeginSession">BeginSession()</a>, released by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EndSession">EndSession()</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(Snippet = &quot;MachiningStepSelected+=($1millingStep)=&gt;{$2Command};&quot;)]
<pre><code class="lang-csharp hljs">[Obsolete(&quot;Use SessionStepSelected instead.&quot;)]
public event Action&lt;MachiningStep&gt; MachiningStepSelected</code></pre>
</div>
@@ -4388,6 +4593,172 @@ public event Action&lt;MachiningStep&gt; MachiningStepSelected</code></pre>
<h3 id="Hi_MachiningProcs_RuntimeApi_SessionSourcedActEntry" data-uid="Hi.MachiningProcs.RuntimeApi.SessionSourcedActEntry">
SessionSourcedActEntry
</h3>
<div class="markdown level1 summary"><p>Session-scoped event triggered for each <a class="xref" href="Hi.Numerical.SourcedActEntry.html">SourcedActEntry</a> produced during NC/CSV execution.
Lifetime is bound to <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningSession">MachiningSession</a>: created by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_BeginSession">BeginSession()</a>, released by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EndSession">EndSession()</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(Snippet = &quot;SessionSourcedActEntry+=($1entry)=&gt;{$2Command};&quot;, DocContentHtml = &quot;Session-scoped event triggered for each SourcedActEntry. entry.SentenceSource is the source sentence; entry.Act is the associated act (may be null).&quot;)]
public event Action&lt;SourcedActEntry&gt; SessionSourcedActEntry</code></pre>
</div>
<h4 class="section">Event Type</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.action-1">Action</a>&lt;<a class="xref" href="Hi.Numerical.SourcedActEntry.html">SourcedActEntry</a>&gt;</dt>
<dd></dd>
</dl>
<h3 id="Hi_MachiningProcs_RuntimeApi_SessionStepBuilt" data-uid="Hi.MachiningProcs.RuntimeApi.SessionStepBuilt">
SessionStepBuilt
</h3>
<div class="markdown level1 summary"><p>Session-scoped event triggered when a machining step is built.
Lifetime is bound to <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningSession">MachiningSession</a>: created by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_BeginSession">BeginSession()</a>, released by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EndSession">EndSession()</a>.
For app-lifetime event, use <a class="xref" href="Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_MachiningStepBuilt">MachiningStepBuilt</a> instead.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(Snippet = &quot;SessionStepBuilt+=($1preStep,$2curStep)=&gt;{$3Command};&quot;, DocContentHtml = &quot;Session-scoped step built event. preStep is the Previous Milling Step; curStep is the Current Milling Step. preStep is null if no previous step existed.&quot;)]
public event MachiningActRunner.MachiningStepBuiltDelegate SessionStepBuilt</code></pre>
</div>
<h4 class="section">Event Type</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.MachiningProcs.MachiningActRunner.html">MachiningActRunner</a>.<a class="xref" href="Hi.MachiningProcs.MachiningActRunner.MachiningStepBuiltDelegate.html">MachiningStepBuiltDelegate</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_MachiningProcs_RuntimeApi_SessionStepSelected" data-uid="Hi.MachiningProcs.RuntimeApi.SessionStepSelected">
SessionStepSelected
</h3>
<div class="markdown level1 summary"><p>Session-scoped event triggered when a machining step is selected.
Lifetime is bound to <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningSession">MachiningSession</a>: created by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_BeginSession">BeginSession()</a>, released by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EndSession">EndSession()</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(Snippet = &quot;SessionStepSelected+=($1millingStep)=&gt;{$2Command};&quot;)]
public event Action&lt;MachiningStep&gt; SessionStepSelected</code></pre>
</div>
<h4 class="section">Event Type</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.action-1">Action</a>&lt;<a class="xref" href="Hi.MachiningSteps.MachiningStep.html">MachiningStep</a>&gt;</dt>
<dd></dd>
</dl>
<h3 id="Hi_MachiningProcs_RuntimeApi_SessionSyntaxPieceRan" data-uid="Hi.MachiningProcs.RuntimeApi.SessionSyntaxPieceRan">
SessionSyntaxPieceRan
</h3>
<div class="markdown level1 summary"><p>Session-scoped event triggered when a syntax piece has been executed.
Lifetime is bound to <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningSession">MachiningSession</a>: created by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_BeginSession">BeginSession()</a>, released by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EndSession">EndSession()</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(Snippet = &quot;SessionSyntaxPieceRan+=($1syntaxPiece)=&gt;{$2Command};&quot;, DocContentHtml = &quot;Session-scoped event triggered after each SyntaxPiece is executed. syntaxPiece may be null if the source command is not a SyntaxPiece.&quot;)]
public event Action&lt;SyntaxPiece&gt; SessionSyntaxPieceRan</code></pre>
</div>
<h4 class="section">Event Type</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.action-1">Action</a>&lt;<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a>&gt;</dt>
<dd></dd>
</dl>
<h3 id="Hi_MachiningProcs_RuntimeApi_SyntaxPieceRan" data-uid="Hi.MachiningProcs.RuntimeApi.SyntaxPieceRan">
SyntaxPieceRan
</h3>
<div class="markdown level1 summary"><p>Session-scoped event triggered when a syntax piece has been executed.
Lifetime is bound to <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningSession">MachiningSession</a>: created by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_BeginSession">BeginSession()</a>, released by <a class="xref" href="Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EndSession">EndSession()</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Obsolete(&quot;Use SessionSyntaxPieceRan instead.&quot;)]
public event Action&lt;SyntaxPiece&gt; SyntaxPieceRan</code></pre>
</div>
<h4 class="section">Event Type</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.action-1">Action</a>&lt;<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a>&gt;</dt>
<dd></dd>
</dl>
</article>
<div class="contribution d-print-none">