HiNC-2025-win-desktop-Deploy/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningSession.html

1054 lines
33 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class MachiningSession | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class MachiningSession | HiAPI-C# 2025 ">
<meta name="description" content="Represents a machining session that manages the execution and optimization of machining operations. Provides functionality for controlling the machining process, handling optimization options, and managing session state. Implements to clean up on session end.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
<meta name="docfx:navrel" content="../toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="docfx:rel" content="../">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="Hi.MachiningProcs.MachiningSession">
<h1 id="Hi_MachiningProcs_MachiningSession" data-uid="Hi.MachiningProcs.MachiningSession" class="text-break">
Class MachiningSession
</h1>
<div class="facts text-secondary">
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.MachiningProcs.html">MachiningProcs</a></dd></dl>
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
</div>
<div class="markdown summary"><p>Represents a machining session that manages the execution and optimization of machining operations.
Provides functionality for controlling the machining process, handling optimization options,
and managing session state. Implements <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a> to clean up
<a class="xref" href="Hi.MachiningProcs.MachiningSession.html#Hi_MachiningProcs_MachiningSession_SessionWriters">SessionWriters</a> on session end.</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class MachiningSession : IDisposable</code></pre>
</div>
<dl class="typelist inheritance">
<dt>Inheritance</dt>
<dd>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
<div><span class="xref">MachiningSession</span></div>
</dd>
</dl>
<dl class="typelist implements">
<dt>Implements</dt>
<dd>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
</dd>
</dl>
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
</div>
</dd></dl>
<dl class="typelist extensionMethods">
<dt>Extension Methods</dt>
<dd>
<div>
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate&lt;TSelf&gt;(TSelf, params object[])</a>
</div>
<div>
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke&lt;TSrc&gt;(TSrc, Action&lt;TSrc&gt;)</a>
</div>
<div>
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke&lt;TSrc, TDst&gt;(TSrc, Func&lt;TSrc, TDst&gt;)</a>
</div>
<div>
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
</div>
<div>
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
</div>
<div>
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
</div>
<div>
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
</div>
</dd></dl>
<h2 class="section" id="properties">Properties
</h2>
<a id="Hi_MachiningProcs_MachiningSession_CurrentSourceCommand_" data-uid="Hi.MachiningProcs.MachiningSession.CurrentSourceCommand*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_CurrentSourceCommand" data-uid="Hi.MachiningProcs.MachiningSession.CurrentSourceCommand">
CurrentSourceCommand
</h3>
<div class="markdown level1 summary"><p>Gets or sets the current source command being processed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IIndexedFileLine CurrentSourceCommand { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Common.FileLines.IIndexedFileLine.html">IIndexedFileLine</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_Data_" data-uid="Hi.MachiningProcs.MachiningSession.Data*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_Data" data-uid="Hi.MachiningProcs.MachiningSession.Data">
Data
</h3>
<div class="markdown level1 summary"><p>Gets or sets the data dictionary for the player session.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;object, object&gt; Data { 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.collections.generic.dictionary-2">Dictionary</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_FileIndexOnRunCommand_" data-uid="Hi.MachiningProcs.MachiningSession.FileIndexOnRunCommand*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_FileIndexOnRunCommand" data-uid="Hi.MachiningProcs.MachiningSession.FileIndexOnRunCommand">
FileIndexOnRunCommand
</h3>
<div class="markdown level1 summary"><p>File index counter, auto-incremented per <a class="xref" href="Hi.Numerical.IControlRunner.html#Hi_Numerical_IControlRunner_RunControlLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_SessionProgress_System_Threading_CancellationToken_">RunControlLines(string, IEnumerable&lt;string&gt;, MachiningSession, SessionProgress, CancellationToken)</a>
call within this session. Replaces the previous per-runner counter so that file
indices are scoped to a session and reset naturally when a new session begins.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int FileIndexOnRunCommand { 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.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_IsNcOptOptionListUpdatedByStep_" data-uid="Hi.MachiningProcs.MachiningSession.IsNcOptOptionListUpdatedByStep*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_IsNcOptOptionListUpdatedByStep" data-uid="Hi.MachiningProcs.MachiningSession.IsNcOptOptionListUpdatedByStep">
IsNcOptOptionListUpdatedByStep
</h3>
<div class="markdown level1 summary"><p>Internal Use Only.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsNcOptOptionListUpdatedByStep { 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_MachiningSession_NcOptOption_" data-uid="Hi.MachiningProcs.MachiningSession.NcOptOption*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_NcOptOption" data-uid="Hi.MachiningProcs.MachiningSession.NcOptOption">
NcOptOption
</h3>
<div class="markdown level1 summary"><p>Gets or sets the NC optimization options for UI operations.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public NcOptOption NcOptOption { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcOpt.NcOptOption.html">NcOptOption</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_NcRunnerSessionState_" data-uid="Hi.MachiningProcs.MachiningSession.NcRunnerSessionState*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_NcRunnerSessionState" data-uid="Hi.MachiningProcs.MachiningSession.NcRunnerSessionState">
NcRunnerSessionState
</h3>
<div class="markdown level1 summary"><p>Per-session NC pipeline state shared across <a class="xref" href="Hi.Numerical.IControlRunner.html#Hi_Numerical_IControlRunner_RunControlLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_SessionProgress_System_Threading_CancellationToken_">RunControlLines(string, IEnumerable&lt;string&gt;, MachiningSession, SessionProgress, CancellationToken)</a>
calls. Holds lazy-initialized <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a> and the per-layer
<a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html">LazyLinkedList&lt;T&gt;</a> chain used for cross-file modal continuity.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public NcRunnerSessionState NcRunnerSessionState { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.MachiningProcs.NcRunnerSessionState.html">NcRunnerSessionState</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_PacePlayee_" data-uid="Hi.MachiningProcs.MachiningSession.PacePlayee*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_PacePlayee" data-uid="Hi.MachiningProcs.MachiningSession.PacePlayee">
PacePlayee
</h3>
<div class="markdown level1 summary"><p>Internal set only.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public PacePlayee PacePlayee { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Common.PacePlayee.html">PacePlayee</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_PostBlockScripts_" data-uid="Hi.MachiningProcs.MachiningSession.PostBlockScripts*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_PostBlockScripts" data-uid="Hi.MachiningProcs.MachiningSession.PostBlockScripts">
PostBlockScripts
</h3>
<div class="markdown level1 summary"><p>Per-line scripts injected externally (without modifying NC files).
Key: <a class="xref" href="Hi.Common.FileLines.FileLineIndex.html">FileLineIndex</a> of the NC block.
Value: C# script text to execute <b>after</b> the NC block.
Consumed by <a class="xref" href="Hi.NcParsers.Semantics.CsScriptEndSemantic.html">CsScriptEndSemantic</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;FileLineIndex, string&gt; PostBlockScripts { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2">Dictionary</a>&lt;<a class="xref" href="Hi.Common.FileLines.FileLineIndex.html">FileLineIndex</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_PreBlockScripts_" data-uid="Hi.MachiningProcs.MachiningSession.PreBlockScripts*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_PreBlockScripts" data-uid="Hi.MachiningProcs.MachiningSession.PreBlockScripts">
PreBlockScripts
</h3>
<div class="markdown level1 summary"><p>Per-line scripts injected externally (without modifying NC files).
Key: <a class="xref" href="Hi.Common.FileLines.FileLineIndex.html">FileLineIndex</a> of the NC block.
Value: C# script text to execute <b>before</b> the NC block.
Consumed by <a class="xref" href="Hi.NcParsers.Semantics.CsScriptBeginSemantic.html">CsScriptBeginSemantic</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;FileLineIndex, string&gt; PreBlockScripts { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2">Dictionary</a>&lt;<a class="xref" href="Hi.Common.FileLines.FileLineIndex.html">FileLineIndex</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_SessionWriters_" data-uid="Hi.MachiningProcs.MachiningSession.SessionWriters*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_SessionWriters" data-uid="Hi.MachiningProcs.MachiningSession.SessionWriters">
SessionWriters
</h3>
<div class="markdown level1 summary"><p>StreamWriters registered during the session (e.g. by diagnostic output methods).
Key: relative output file path. Disposed automatically when the session ends.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;string, StreamWriter&gt; SessionWriters { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2">Dictionary</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.io.streamwriter">StreamWriter</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_StepIndexToNcOptOptionSortedList_" data-uid="Hi.MachiningProcs.MachiningSession.StepIndexToNcOptOptionSortedList*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_StepIndexToNcOptOptionSortedList" data-uid="Hi.MachiningProcs.MachiningSession.StepIndexToNcOptOptionSortedList">
StepIndexToNcOptOptionSortedList
</h3>
<div class="markdown level1 summary"><p>Gets or sets the mapping of step indices to NC optimization options.
For internal use only.
Takes effect during internal optimization process.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public SortedList&lt;int, NcOptOption&gt; StepIndexToNcOptOptionSortedList { 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.collections.generic.sortedlist-2">SortedList</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a>, <a class="xref" href="Hi.NcOpt.NcOptOption.html">NcOptOption</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_StepTaskBundle_" data-uid="Hi.MachiningProcs.MachiningSession.StepTaskBundle*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_StepTaskBundle" data-uid="Hi.MachiningProcs.MachiningSession.StepTaskBundle">
StepTaskBundle
</h3>
<div class="markdown level1 summary"><p>Gets or sets the current step task bundle.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public MachiningParallelProc.StepTaskBundle StepTaskBundle { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.MachiningProcs.MachiningParallelProc.html">MachiningParallelProc</a>.<a class="xref" href="Hi.MachiningProcs.MachiningParallelProc.StepTaskBundle.html">StepTaskBundle</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="methods">Methods
</h2>
<a id="Hi_MachiningProcs_MachiningSession_BeginPreserve_" data-uid="Hi.MachiningProcs.MachiningSession.BeginPreserve*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_BeginPreserve" data-uid="Hi.MachiningProcs.MachiningSession.BeginPreserve">
BeginPreserve()
</h3>
<div class="markdown level1 summary"><p>Begins a preserve section in the optimization process.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void BeginPreserve()</code></pre>
</div>
<a id="Hi_MachiningProcs_MachiningSession_Dispose_" data-uid="Hi.MachiningProcs.MachiningSession.Dispose*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_Dispose" data-uid="Hi.MachiningProcs.MachiningSession.Dispose">
Dispose()
</h3>
<div class="markdown level1 summary"><p>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
</div>
<a id="Hi_MachiningProcs_MachiningSession_EndPreserve_" data-uid="Hi.MachiningProcs.MachiningSession.EndPreserve*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_EndPreserve" data-uid="Hi.MachiningProcs.MachiningSession.EndPreserve">
EndPreserve()
</h3>
<div class="markdown level1 summary"><p>Ends a preserve section in the optimization process.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void EndPreserve()</code></pre>
</div>
<a id="Hi_MachiningProcs_MachiningSession_Preserve_" data-uid="Hi.MachiningProcs.MachiningSession.Preserve*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_Preserve" data-uid="Hi.MachiningProcs.MachiningSession.Preserve">
Preserve()
</h3>
<div class="markdown level1 summary"><p>Preserves one line of NC code in the optimization process.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void Preserve()</code></pre>
</div>
<a id="Hi_MachiningProcs_MachiningSession_RunMachiningStepBuilt_" data-uid="Hi.MachiningProcs.MachiningSession.RunMachiningStepBuilt*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_RunMachiningStepBuilt_Hi_MachiningSteps_MachiningStep_Hi_MachiningSteps_MachiningStep_" data-uid="Hi.MachiningProcs.MachiningSession.RunMachiningStepBuilt(Hi.MachiningSteps.MachiningStep,Hi.MachiningSteps.MachiningStep)">
RunMachiningStepBuilt(MachiningStep, MachiningStep)
</h3>
<div class="markdown level1 summary"><p>Internal use only. Invokes <a class="xref" href="Hi.MachiningProcs.MachiningSession.html#Hi_MachiningProcs_MachiningSession_MachiningStepBuilt">MachiningStepBuilt</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void RunMachiningStepBuilt(MachiningStep preStep, MachiningStep curStep)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>preStep</code> <a class="xref" href="Hi.MachiningSteps.MachiningStep.html">MachiningStep</a></dt>
<dd></dd>
<dt><code>curStep</code> <a class="xref" href="Hi.MachiningSteps.MachiningStep.html">MachiningStep</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_RunMachiningStepSelected_" data-uid="Hi.MachiningProcs.MachiningSession.RunMachiningStepSelected*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_RunMachiningStepSelected_Hi_MachiningSteps_MachiningStep_" data-uid="Hi.MachiningProcs.MachiningSession.RunMachiningStepSelected(Hi.MachiningSteps.MachiningStep)">
RunMachiningStepSelected(MachiningStep)
</h3>
<div class="markdown level1 summary"><p>Internal use only. Invokes <a class="xref" href="Hi.MachiningProcs.MachiningSession.html#Hi_MachiningProcs_MachiningSession_MachiningStepSelected">MachiningStepSelected</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void RunMachiningStepSelected(MachiningStep machiningStep)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>machiningStep</code> <a class="xref" href="Hi.MachiningSteps.MachiningStep.html">MachiningStep</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_RunSourcedActEntry_" data-uid="Hi.MachiningProcs.MachiningSession.RunSourcedActEntry*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_RunSourcedActEntry_Hi_Numerical_SourcedActEntry_" data-uid="Hi.MachiningProcs.MachiningSession.RunSourcedActEntry(Hi.Numerical.SourcedActEntry)">
RunSourcedActEntry(SourcedActEntry)
</h3>
<div class="markdown level1 summary"><p>Internal use only. Invokes <a class="xref" href="Hi.MachiningProcs.MachiningSession.html#Hi_MachiningProcs_MachiningSession_SourcedActEntry">SourcedActEntry</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void RunSourcedActEntry(SourcedActEntry entry)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>entry</code> <a class="xref" href="Hi.Numerical.SourcedActEntry.html">SourcedActEntry</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_RunSyntaxPieceRan_" data-uid="Hi.MachiningProcs.MachiningSession.RunSyntaxPieceRan*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_RunSyntaxPieceRan_Hi_NcParsers_Syntaxs_SyntaxPiece_" data-uid="Hi.MachiningProcs.MachiningSession.RunSyntaxPieceRan(Hi.NcParsers.Syntaxs.SyntaxPiece)">
RunSyntaxPieceRan(SyntaxPiece)
</h3>
<div class="markdown level1 summary"><p>Internal use only. Invokes <a class="xref" href="Hi.MachiningProcs.MachiningSession.html#Hi_MachiningProcs_MachiningSession_SyntaxPieceRan">SyntaxPieceRan</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void RunSyntaxPieceRan(SyntaxPiece syntaxPiece)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>syntaxPiece</code> <a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningProcs_MachiningSession_UpdateNcOptOptionMapIfNeeded_" data-uid="Hi.MachiningProcs.MachiningSession.UpdateNcOptOptionMapIfNeeded*"></a>
<h3 id="Hi_MachiningProcs_MachiningSession_UpdateNcOptOptionMapIfNeeded_System_Int32_" data-uid="Hi.MachiningProcs.MachiningSession.UpdateNcOptOptionMapIfNeeded(System.Int32)">
UpdateNcOptOptionMapIfNeeded(int)
</h3>
<div class="markdown level1 summary"><p>Updates the NC optimization option map if needed.
Internal use only.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool UpdateNcOptOptionMapIfNeeded(int stepIndex)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>stepIndex</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>The index of the step to update.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd><p>True if the map was updated; otherwise, false.</p>
</dd>
</dl>
<h2 class="section" id="events">Events
</h2>
<h3 id="Hi_MachiningProcs_MachiningSession_MachiningStepBuilt" data-uid="Hi.MachiningProcs.MachiningSession.MachiningStepBuilt">
MachiningStepBuilt
</h3>
<div class="markdown level1 summary"><p>Event triggered when a machining step is built.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt</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_MachiningSession_MachiningStepSelected" data-uid="Hi.MachiningProcs.MachiningSession.MachiningStepSelected">
MachiningStepSelected
</h3>
<div class="markdown level1 summary"><p>Event triggered when a machining step is selected.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public event Action&lt;MachiningStep&gt; MachiningStepSelected</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_MachiningSession_OnCurrentLineEnd" data-uid="Hi.MachiningProcs.MachiningSession.OnCurrentLineEnd">
OnCurrentLineEnd
</h3>
<div class="markdown level1 summary"><p>Event raised when the current line ends.
The event buffer is cleared on every line change.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public event Action&lt;CancellationToken&gt; OnCurrentLineEnd</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="https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken">CancellationToken</a>&gt;</dt>
<dd></dd>
</dl>
<h3 id="Hi_MachiningProcs_MachiningSession_SourcedActEntry" data-uid="Hi.MachiningProcs.MachiningSession.SourcedActEntry">
SourcedActEntry
</h3>
<div class="markdown level1 summary"><p>Event triggered for each <a class="xref" href="Hi.MachiningProcs.MachiningSession.html#Hi_MachiningProcs_MachiningSession_SourcedActEntry">SourcedActEntry</a> produced during NC/CSV execution.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public event Action&lt;SourcedActEntry&gt; SourcedActEntry</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_MachiningSession_SyntaxPieceRan" data-uid="Hi.MachiningProcs.MachiningSession.SyntaxPieceRan">
SyntaxPieceRan
</h3>
<div class="markdown level1 summary"><p>Event triggered when a syntax piece has been executed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">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">
</div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
</div>
</div>
</footer>
</body>
</html>