deploy webservice static-file routing for docsite folder URLs, per-instance step-cache db, and constant-height panel title bars.

This commit is contained in:
2026-08-27 14:51:37 +08:00
parent 1fc510af5e
commit 2a98ae7556
1468 changed files with 182837 additions and 18888 deletions
@@ -105,6 +105,7 @@ Each action delegates to the underlying <a class="xref" href="Hi.MachiningProcs.
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[ApiController]
[Route(&quot;api/[controller]/[action]&quot;)]
[ProducesResponseType(typeof(ApiActionResult), 409)]
public class SessionShellController : ControllerBase</code></pre>
</div>
@@ -2289,40 +2290,7 @@ public double OptYieldingUtilizationFactor { get; set; }</code></pre>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://github.com/dotnet/roslyn/blob/16f9bd284cd49604ac82998bfe778a8eb16d4347/src/Scripting/Core/ScriptOptions.cs">ScriptOptions</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_SessionShellController_SessionMessageHost_" data-uid="Hi.MachiningProcs.SessionShellController.SessionMessageHost*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_SessionMessageHost" data-uid="Hi.MachiningProcs.SessionShellController.SessionMessageHost">
SessionMessageHost
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.MachiningProcs.SessionShell.html#Hi_MachiningProcs_SessionShell_SessionProgress">SessionProgress</a></p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce]
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>
<dt><a class="xref" href="https://github.com/dotnet/roslyn/blob/35d9211b841e7613c1d2f8f5af6d628ace696c4c/src/Scripting/Core/ScriptOptions.cs">ScriptOptions</a></dt>
<dd></dd>
</dl>
@@ -2617,7 +2585,9 @@ public void BeginSelection(string key, AnchorMode anchorMode = AnchorMode.LineBe
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.MachiningProcs.SessionShell.html#Hi_MachiningProcs_SessionShell_BeginSession">BeginSession()</a></p>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.MachiningProcs.SessionShell.html#Hi_MachiningProcs_SessionShell_BeginSession">BeginSession()</a>. Callable without an active session (it is how
a session is started) but still requires a loaded project; routes straight to
<span class="xref">Hi.MachiningProcs.SessionShellController.LocalProjectService</span> so it does not touch the null session-scoped facade.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -2667,6 +2637,49 @@ public void ClearTimeMappingData()</code></pre>
<a id="Hi_MachiningProcs_SessionShellController_ConvertClToNcFiles_" data-uid="Hi.MachiningProcs.SessionShellController.ConvertClToNcFiles*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_ConvertClToNcFiles_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.ConvertClToNcFiles(System.String)">
ConvertClToNcFiles(string)
</h3>
<div class="markdown level1 summary"><p>Converts the CLSF play of the current session into Fanuc NC files
(writeback synthesis — MSYS tilt becomes <code>G68.2</code>, tool posture
becomes <code>G43.4</code> RTCP with rotary words).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(Snippet = &quot;ConvertClToNcFiles(\&quot;Output/[NcName].nc\&quot;)&quot;, DocContentHtml = &quot;Convert the played CLSF into Fanuc NC files by substitute template keyword \&quot;[NcName]\&quot;&quot;)]
[HttpPost]
public IReadOnlyList&lt;string&gt; ConvertClToNcFiles(string relNcFileTemplate = &quot;Output/[NcName].nc&quot;)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relNcFileTemplate</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Output path template; <code>[NcName]</code>
is replaced by the source file name.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist-1">IReadOnlyList</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_SessionShellController_Diff_" data-uid="Hi.MachiningProcs.SessionShellController.Diff*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_Diff_System_Double_" data-uid="Hi.MachiningProcs.SessionShellController.Diff(System.Double)">
@@ -2814,7 +2827,8 @@ public void EndSelection(string key, AnchorMode anchorMode = AnchorMode.LineEnd,
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.MachiningProcs.SessionShell.html#Hi_MachiningProcs_SessionShell_EndSession">EndSession()</a></p>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.MachiningProcs.SessionShell.html#Hi_MachiningProcs_SessionShell_EndSession">EndSession()</a>. Callable without an active session (a no-op when
none is active); routes straight to <span class="xref">Hi.MachiningProcs.SessionShellController.LocalProjectService</span>.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -2870,6 +2884,80 @@ public void ErrorMessage(string message)</code></pre>
<a id="Hi_MachiningProcs_SessionShellController_ExportMeshedGeomToStl_" data-uid="Hi.MachiningProcs.SessionShellController.ExportMeshedGeomToStl*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_ExportMeshedGeomToStl_System_String_System_Double_" data-uid="Hi.MachiningProcs.SessionShellController.ExportMeshedGeomToStl(System.String,System.Double)">
ExportMeshedGeomToStl(string, double)
</h3>
<div class="markdown level1 summary"><p>Exports the current meshed geometry to an STL file.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;ExportMeshedGeomToStl($1\&quot;dstFile\&quot;,$2resolution_mm)&quot;)]
[HttpPost]
public void ExportMeshedGeomToStl(string relFile, double resolution_mm = 0)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Relative path to the output STL file</p>
</dd>
<dt><code>resolution_mm</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd><p>Resolution in millimeters (0 for default)</p>
</dd>
</dl>
<a id="Hi_MachiningProcs_SessionShellController_ExportRuntimeGeomToStl_" data-uid="Hi.MachiningProcs.SessionShellController.ExportRuntimeGeomToStl*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_ExportRuntimeGeomToStl_System_String_System_Double_" data-uid="Hi.MachiningProcs.SessionShellController.ExportRuntimeGeomToStl(System.String,System.Double)">
ExportRuntimeGeomToStl(string, double)
</h3>
<div class="markdown level1 summary"><p>Legacy script alias of <a class="xref" href="Hi.MachiningProcs.SessionShellController.html#Hi_MachiningProcs_SessionShellController_ExportMeshedGeomToStl_System_String_System_Double_">ExportMeshedGeomToStl(string, double)</a>; kept so old player scripts keep working.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Obsolete(&quot;Legacy alias; use ExportMeshedGeomToStl instead.&quot;)]
[HttpPost]
public void ExportRuntimeGeomToStl(string relFile, double resolution_mm = 0)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
<dt><code>resolution_mm</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_SessionShellController_FixedPace_" data-uid="Hi.MachiningProcs.SessionShellController.FixedPace*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_FixedPace_System_Double_System_Double_" data-uid="Hi.MachiningProcs.SessionShellController.FixedPace(System.Double,System.Double)">
@@ -2996,21 +3084,22 @@ public double GetStickMachiningToolObservationHeight_mm(int toolId)</code></pre>
<a id="Hi_MachiningProcs_SessionShellController_GetUniformContourTrayShiftAngle_deg_" data-uid="Hi.MachiningProcs.SessionShellController.GetUniformContourTrayShiftAngle_deg*"></a>
<a id="Hi_MachiningProcs_SessionShellController_GetUniformFlutingShiftAngle_deg_" data-uid="Hi.MachiningProcs.SessionShellController.GetUniformFlutingShiftAngle_deg*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_GetUniformContourTrayShiftAngle_deg_System_Int32_" data-uid="Hi.MachiningProcs.SessionShellController.GetUniformContourTrayShiftAngle_deg(System.Int32)">
GetUniformContourTrayShiftAngle_deg(int)
<h3 id="Hi_MachiningProcs_SessionShellController_GetUniformFlutingShiftAngle_deg_System_Int32_" data-uid="Hi.MachiningProcs.SessionShellController.GetUniformFlutingShiftAngle_deg(System.Int32)">
GetUniformFlutingShiftAngle_deg(int)
</h3>
<div class="markdown level1 summary"><p>Gets the shift angle in degrees for the uniform contour tray of the specified tool.</p>
<div class="markdown level1 summary"><p>Gets the shift angle in degrees for the uniform fluting of the specified tool,
that is, for a cutter whose flutes all share one baseline flute contour.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;GetUniformContourTrayShiftAngle_deg($1toolId)&quot;)]
<pre><code class="lang-csharp hljs">[JsAce(&quot;GetUniformFlutingShiftAngle_deg($1toolId)&quot;)]
[HttpGet]
public double GetUniformContourTrayShiftAngle_deg(int toolId)</code></pre>
public double GetUniformFlutingShiftAngle_deg(int toolId)</code></pre>
</div>
<h4 class="section">Parameters</h4>
@@ -3085,8 +3174,8 @@ public void LineSelection(string key, AnchorMode beginAnchorMode = AnchorMode.Li
<a id="Hi_MachiningProcs_SessionShellController_Map_" data-uid="Hi.MachiningProcs.SessionShellController.Map*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_Map_System_String_Hi_Mappings_FileTimeSection_System_Nullable_Hi_Mapping_StepTimeShotUtil_CycleSamplingMode__" data-uid="Hi.MachiningProcs.SessionShellController.Map(System.String,Hi.Mappings.FileTimeSection,System.Nullable{Hi.Mapping.StepTimeShotUtil.CycleSamplingMode})">
Map(string, FileTimeSection, CycleSamplingMode?)
<h3 id="Hi_MachiningProcs_SessionShellController_Map_System_String_Hi_Mappings_IFileTimeSection_System_Nullable_Hi_Mapping_StepTimeShotUtil_CycleSamplingMode__" data-uid="Hi.MachiningProcs.SessionShellController.Map(System.String,Hi.Mappings.IFileTimeSection,System.Nullable{Hi.Mapping.StepTimeShotUtil.CycleSamplingMode})">
Map(string, IFileTimeSection, CycleSamplingMode?)
</h3>
@@ -3096,7 +3185,7 @@ public void LineSelection(string key, AnchorMode beginAnchorMode = AnchorMode.Li
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[HttpPost]
public Task Map(string key, FileTimeSection fileTimeSection = null, StepTimeShotUtil.CycleSamplingMode? cycleSamplingMode = CycleSamplingMode.SpindleCycle)</code></pre>
public Task Map(string key, IFileTimeSection fileTimeSection = null, StepTimeShotUtil.CycleSamplingMode? cycleSamplingMode = null)</code></pre>
</div>
<h4 class="section">Parameters</h4>
@@ -3104,7 +3193,7 @@ public Task Map(string key, FileTimeSection fileTimeSection = null, StepTimeShot
<dt><code>key</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Identifier key for the selection</p>
</dd>
<dt><code>fileTimeSection</code> <a class="xref" href="Hi.Mappings.FileTimeSection.html">FileTimeSection</a></dt>
<dt><code>fileTimeSection</code> <a class="xref" href="Hi.Mappings.IFileTimeSection.html">IFileTimeSection</a></dt>
<dd><p>File time section, or null to use the one associated with the key</p>
</dd>
<dt><code>cycleSamplingMode</code> <a class="xref" href="Hi.Mapping.StepTimeShotUtil.html">StepTimeShotUtil</a>.<a class="xref" href="Hi.Mapping.StepTimeShotUtil.CycleSamplingMode.html">CycleSamplingMode</a>?</dt>
@@ -3259,26 +3348,26 @@ public void Pause()</code></pre>
<a id="Hi_MachiningProcs_SessionShellController_PlayAct_" data-uid="Hi.MachiningProcs.SessionShellController.PlayAct*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_PlayAct_Hi_Numerical_Acts_IAct_Hi_NcParsers_IGetSentence_System_Nullable_System_Threading_CancellationToken__" data-uid="Hi.MachiningProcs.SessionShellController.PlayAct(Hi.Numerical.Acts.IAct,Hi.NcParsers.IGetSentence,System.Nullable{System.Threading.CancellationToken})">
PlayAct(IAct, IGetSentence, CancellationToken?)
<h3 id="Hi_MachiningProcs_SessionShellController_PlayAct_Hi_Numerical_Acts_IAct_Hi_NcParsers_ISentenceCarrier_System_Nullable_System_Threading_CancellationToken__" data-uid="Hi.MachiningProcs.SessionShellController.PlayAct(Hi.Numerical.Acts.IAct,Hi.NcParsers.ISentenceCarrier,System.Nullable{System.Threading.CancellationToken})">
PlayAct(IAct, ISentenceCarrier, CancellationToken?)
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.MachiningProcs.SessionShell.html#Hi_MachiningProcs_SessionShell_PlayAct_Hi_Numerical_Acts_IAct_Hi_NcParsers_IGetSentence_System_Nullable_System_Threading_CancellationToken__">PlayAct(IAct, IGetSentence, CancellationToken?)</a></p>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.MachiningProcs.SessionShell.html#Hi_MachiningProcs_SessionShell_PlayAct_Hi_Numerical_Acts_IAct_Hi_NcParsers_ISentenceCarrier_System_Nullable_System_Threading_CancellationToken__">PlayAct(IAct, ISentenceCarrier, CancellationToken?)</a></p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce]
[NonAction]
public void PlayAct(IAct act, IGetSentence sourceCommand = null, CancellationToken? cancellationToken = null)</code></pre>
public void PlayAct(IAct act, ISentenceCarrier sourceCommand = null, CancellationToken? cancellationToken = null)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>act</code> <a class="xref" href="Hi.Numerical.Acts.IAct.html">IAct</a></dt>
<dd></dd>
<dt><code>sourceCommand</code> <a class="xref" href="Hi.NcParsers.IGetSentence.html">IGetSentence</a></dt>
<dt><code>sourceCommand</code> <a class="xref" href="Hi.NcParsers.ISentenceCarrier.html">ISentenceCarrier</a></dt>
<dd></dd>
<dt><code>cancellationToken</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken">CancellationToken</a>?</dt>
<dd></dd>
@@ -3295,6 +3384,77 @@ public void PlayAct(IAct act, IGetSentence sourceCommand = null, CancellationTok
<a id="Hi_MachiningProcs_SessionShellController_PlayBrandNcFile_" data-uid="Hi.MachiningProcs.SessionShellController.PlayBrandNcFile*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_PlayBrandNcFile_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.PlayBrandNcFile(System.String)">
PlayBrandNcFile(string)
</h3>
<div class="markdown level1 summary"><p>Plays a famous-brand NC code file with the specified relative path
(no kind dispatch — always the brand runner).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;PlayBrandNcFile($1\&quot;ncFile\&quot;);&quot;)]
[HttpPost]
public void PlayBrandNcFile(string relNcFilePath)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relNcFilePath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Relative path to the NC file</p>
</dd>
</dl>
<a id="Hi_MachiningProcs_SessionShellController_PlayClFile_" data-uid="Hi.MachiningProcs.SessionShellController.PlayClFile*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_PlayClFile_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.PlayClFile(System.String)">
PlayClFile(string)
</h3>
<div class="markdown level1 summary"><p>Plays an NX-CL (CLSF) file with the specified relative path.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;PlayClFile($1\&quot;clFile\&quot;);&quot;)]
[HttpPost]
public void PlayClFile(string relFilePath)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relFilePath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Relative path to the CLSF file</p>
</dd>
</dl>
<a id="Hi_MachiningProcs_SessionShellController_PlayClTeleport_" data-uid="Hi.MachiningProcs.SessionShellController.PlayClTeleport*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_PlayClTeleport_System_Double_System_Double_System_Double_System_Double_System_Double_System_Double_" data-uid="Hi.MachiningProcs.SessionShellController.PlayClTeleport(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
@@ -3414,25 +3574,31 @@ public void PlayNc(string ncText, string fileNameAlternative = &quot;--&quot;)</
<a id="Hi_MachiningProcs_SessionShellController_PlayNcFile_" data-uid="Hi.MachiningProcs.SessionShellController.PlayNcFile*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_PlayNcFile_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.PlayNcFile(System.String)">
PlayNcFile(string)
<h3 id="Hi_MachiningProcs_SessionShellController_PlayNcFile_System_String_Hi_MachiningProcs_NcKind_" data-uid="Hi.MachiningProcs.SessionShellController.PlayNcFile(System.String,Hi.MachiningProcs.NcKind)">
PlayNcFile(string, NcKind)
</h3>
<div class="markdown level1 summary"><p>Plays an NC file with the specified relative path.</p>
<div class="markdown level1 summary"><p>Plays an NC program file with the specified relative path, the runner
picked by <code class="paramref">kind</code> (<code>Auto</code> = by file extension:
<code>.cl</code>/<code>.cls</code>/<code>.clsf</code> play as CL, <code>.csv</code> as CSV,
anything else as brand NC).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;PlayNcFile($1\&quot;ncFile\&quot;);&quot;)]
[HttpPost]
public void PlayNcFile(string relNcFilePath)</code></pre>
public void PlayNcFile(string relNcFilePath, NcKind kind = NcKind.Auto)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relNcFilePath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Relative path to the NC file</p>
<dd><p>Relative path to the NC program file</p>
</dd>
<dt><code>kind</code> <a class="xref" href="Hi.MachiningProcs.NcKind.html">NcKind</a></dt>
<dd><p>Which runner plays the file; Auto detects by extension.</p>
</dd>
</dl>
@@ -3586,21 +3752,21 @@ public void ReTrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double
<a id="Hi_MachiningProcs_SessionShellController_ReadRuntimeGeom_" data-uid="Hi.MachiningProcs.SessionShellController.ReadRuntimeGeom*"></a>
<a id="Hi_MachiningProcs_SessionShellController_ReadMeshedGeom_" data-uid="Hi.MachiningProcs.SessionShellController.ReadMeshedGeom*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_ReadRuntimeGeom_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.ReadRuntimeGeom(System.String)">
ReadRuntimeGeom(string)
<h3 id="Hi_MachiningProcs_SessionShellController_ReadMeshedGeom_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.ReadMeshedGeom(System.String)">
ReadMeshedGeom(string)
</h3>
<div class="markdown level1 summary"><p>Reads runtime geometry from a file.</p>
<div class="markdown level1 summary"><p>Reads meshed geometry from a file.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;ReadRuntimeGeom($1\&quot;srcFile\&quot;)&quot;)]
<pre><code class="lang-csharp hljs">[JsAce(&quot;ReadMeshedGeom($1\&quot;srcFile\&quot;)&quot;)]
[HttpPost]
public void ReadRuntimeGeom(string relFile)</code></pre>
public void ReadMeshedGeom(string relFile)</code></pre>
</div>
<h4 class="section">Parameters</h4>
@@ -3621,6 +3787,40 @@ public void ReadRuntimeGeom(string relFile)</code></pre>
<a id="Hi_MachiningProcs_SessionShellController_ReadRuntimeGeom_" data-uid="Hi.MachiningProcs.SessionShellController.ReadRuntimeGeom*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_ReadRuntimeGeom_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.ReadRuntimeGeom(System.String)">
ReadRuntimeGeom(string)
</h3>
<div class="markdown level1 summary"><p>Legacy script alias of <a class="xref" href="Hi.MachiningProcs.SessionShellController.html#Hi_MachiningProcs_SessionShellController_ReadMeshedGeom_System_String_">ReadMeshedGeom(string)</a>; kept so old player scripts keep working.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Obsolete(&quot;Legacy alias; use ReadMeshedGeom instead.&quot;)]
[HttpPost]
public void ReadRuntimeGeom(string relFile)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_SessionShellController_RegisterStepVariable_" data-uid="Hi.MachiningProcs.SessionShellController.RegisterStepVariable*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_RegisterStepVariable_System_String_System_String_System_String_System_String_System_Func_Hi_MachiningSteps_MachiningStep_System_Object__" data-uid="Hi.MachiningProcs.SessionShellController.RegisterStepVariable(System.String,System.String,System.String,System.String,System.Func{Hi.MachiningSteps.MachiningStep,System.Object})">
@@ -3755,6 +3955,48 @@ public void ResetRuntime()</code></pre>
<a id="Hi_MachiningProcs_SessionShellController_RunBrandNcFile_" data-uid="Hi.MachiningProcs.SessionShellController.RunBrandNcFile*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_RunBrandNcFile_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.RunBrandNcFile(System.String)">
RunBrandNcFile(string)
</h3>
<div class="markdown level1 summary"><p>Runs a famous-brand NC code file with the specified relative path
(no kind dispatch — always the brand runner).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;RunBrandNcFile($1\&quot;ncFile\&quot;);&quot;)]
[NonAction]
public IEnumerable&lt;Action&gt; RunBrandNcFile(string relNcFilePath)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relNcFilePath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Relative path to the NC file</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.action">Action</a>&gt;</dt>
<dd><p>Enumerable sequence of actions to be executed</p>
</dd>
</dl>
<a id="Hi_MachiningProcs_SessionShellController_RunNc_" data-uid="Hi.MachiningProcs.SessionShellController.RunNc*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_RunNc_System_String_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.RunNc(System.String,System.String)">
@@ -3801,25 +4043,29 @@ public IEnumerable&lt;Action&gt; RunNc(string ncText, string fileNameAlternative
<a id="Hi_MachiningProcs_SessionShellController_RunNcFile_" data-uid="Hi.MachiningProcs.SessionShellController.RunNcFile*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_RunNcFile_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.RunNcFile(System.String)">
RunNcFile(string)
<h3 id="Hi_MachiningProcs_SessionShellController_RunNcFile_System_String_Hi_MachiningProcs_NcKind_" data-uid="Hi.MachiningProcs.SessionShellController.RunNcFile(System.String,Hi.MachiningProcs.NcKind)">
RunNcFile(string, NcKind)
</h3>
<div class="markdown level1 summary"><p>Runs an NC file with the specified relative path.</p>
<div class="markdown level1 summary"><p>Runs an NC program file with the specified relative path, the runner
picked by <code class="paramref">kind</code> (<code>Auto</code> = by file extension).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;RunNcFile($1\&quot;ncFile\&quot;);&quot;)]
[NonAction]
public IEnumerable&lt;Action&gt; RunNcFile(string relNcFilePath)</code></pre>
public IEnumerable&lt;Action&gt; RunNcFile(string relNcFilePath, NcKind kind = NcKind.Auto)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relNcFilePath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Relative path to the NC file</p>
<dd><p>Relative path to the NC program file</p>
</dd>
<dt><code>kind</code> <a class="xref" href="Hi.MachiningProcs.NcKind.html">NcKind</a></dt>
<dd><p>Which runner runs the file; Auto detects by extension.</p>
</dd>
</dl>
@@ -3971,21 +4217,22 @@ public void SetStickMachiningToolObservationHeight_mm(int toolId, double height)
<a id="Hi_MachiningProcs_SessionShellController_SetUniformContourTrayShiftAngle_deg_" data-uid="Hi.MachiningProcs.SessionShellController.SetUniformContourTrayShiftAngle_deg*"></a>
<a id="Hi_MachiningProcs_SessionShellController_SetUniformFlutingShiftAngle_deg_" data-uid="Hi.MachiningProcs.SessionShellController.SetUniformFlutingShiftAngle_deg*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_SetUniformContourTrayShiftAngle_deg_System_Int32_System_Double_" data-uid="Hi.MachiningProcs.SessionShellController.SetUniformContourTrayShiftAngle_deg(System.Int32,System.Double)">
SetUniformContourTrayShiftAngle_deg(int, double)
<h3 id="Hi_MachiningProcs_SessionShellController_SetUniformFlutingShiftAngle_deg_System_Int32_System_Double_" data-uid="Hi.MachiningProcs.SessionShellController.SetUniformFlutingShiftAngle_deg(System.Int32,System.Double)">
SetUniformFlutingShiftAngle_deg(int, double)
</h3>
<div class="markdown level1 summary"><p>Sets the shift angle in degrees for the uniform contour tray of the specified tool.</p>
<div class="markdown level1 summary"><p>Sets the shift angle in degrees for the uniform fluting of the specified tool,
that is, for a cutter whose flutes all share one baseline flute contour.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;SetUniformContourTrayShiftAngle_deg($1toolId,$2angle_deg)&quot;)]
<pre><code class="lang-csharp hljs">[JsAce(&quot;SetUniformFlutingShiftAngle_deg($1toolId,$2angle_deg)&quot;)]
[HttpPost]
public void SetUniformContourTrayShiftAngle_deg(int toolId, double angle_deg)</code></pre>
public void SetUniformFlutingShiftAngle_deg(int toolId, double angle_deg)</code></pre>
</div>
<h4 class="section">Parameters</h4>
@@ -4165,21 +4412,21 @@ public void WarningMessage(string message)</code></pre>
<a id="Hi_MachiningProcs_SessionShellController_WriteRuntimeGeom_" data-uid="Hi.MachiningProcs.SessionShellController.WriteRuntimeGeom*"></a>
<a id="Hi_MachiningProcs_SessionShellController_WriteMeshedGeom_" data-uid="Hi.MachiningProcs.SessionShellController.WriteMeshedGeom*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_WriteRuntimeGeom_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.WriteRuntimeGeom(System.String)">
WriteRuntimeGeom(string)
<h3 id="Hi_MachiningProcs_SessionShellController_WriteMeshedGeom_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.WriteMeshedGeom(System.String)">
WriteMeshedGeom(string)
</h3>
<div class="markdown level1 summary"><p>Writes the current runtime geometry to a file.</p>
<div class="markdown level1 summary"><p>Writes the current meshed geometry to a file.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;WriteRuntimeGeom($1\&quot;dstFile\&quot;)&quot;)]
<pre><code class="lang-csharp hljs">[JsAce(&quot;WriteMeshedGeom($1\&quot;dstFile\&quot;)&quot;)]
[HttpPost]
public void WriteRuntimeGeom(string relFile)</code></pre>
public void WriteMeshedGeom(string relFile)</code></pre>
</div>
<h4 class="section">Parameters</h4>
@@ -4200,31 +4447,27 @@ public void WriteRuntimeGeom(string relFile)</code></pre>
<a id="Hi_MachiningProcs_SessionShellController_WriteRuntimeGeomToStl_" data-uid="Hi.MachiningProcs.SessionShellController.WriteRuntimeGeomToStl*"></a>
<a id="Hi_MachiningProcs_SessionShellController_WriteRuntimeGeom_" data-uid="Hi.MachiningProcs.SessionShellController.WriteRuntimeGeom*"></a>
<h3 id="Hi_MachiningProcs_SessionShellController_WriteRuntimeGeomToStl_System_String_System_Double_" data-uid="Hi.MachiningProcs.SessionShellController.WriteRuntimeGeomToStl(System.String,System.Double)">
WriteRuntimeGeomToStl(string, double)
<h3 id="Hi_MachiningProcs_SessionShellController_WriteRuntimeGeom_System_String_" data-uid="Hi.MachiningProcs.SessionShellController.WriteRuntimeGeom(System.String)">
WriteRuntimeGeom(string)
</h3>
<div class="markdown level1 summary"><p>Writes the current runtime geometry to an STL file.</p>
<div class="markdown level1 summary"><p>Legacy script alias of <a class="xref" href="Hi.MachiningProcs.SessionShellController.html#Hi_MachiningProcs_SessionShellController_WriteMeshedGeom_System_String_">WriteMeshedGeom(string)</a>; kept so old player scripts keep working.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[JsAce(&quot;WriteRuntimeGeomToStl($1\&quot;dstFile\&quot;,$2resolution_mm)&quot;)]
<pre><code class="lang-csharp hljs">[Obsolete(&quot;Legacy alias; use WriteMeshedGeom instead.&quot;)]
[HttpPost]
public void WriteRuntimeGeomToStl(string relFile, double resolution_mm = 0)</code></pre>
public void WriteRuntimeGeom(string relFile)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Relative path to the output STL file</p>
</dd>
<dt><code>resolution_mm</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd><p>Resolution in millimeters (0 for default)</p>
</dd>
<dd></dd>
</dl>