This commit is contained in:
2025-12-05 16:33:37 +08:00
parent dbbe3303b3
commit 9de88d2db0
163 changed files with 5633 additions and 2293 deletions
@@ -0,0 +1,182 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>動作操作 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="動作操作 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-ActOperations">
<h1 id="動作操作">動作操作</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> 提供了多個方法來執行特定的加工動作。</p>
<h2 id="playact">PlayAct</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_PlayAct_">PlayAct</a><small>(API)</small> 執行一個動作物件,並在執行過程中控制步調。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">PlayAct(&lt;動作物件&gt;, &lt;來源指令&gt;, &lt;取消令牌&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 執行自訂動作
var act = new CustomAct();
PlayAct(act);
</code></pre>
</div>
<h2 id="playtoolingteleport">PlayToolingTeleport</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_PlayToolingTeleport_">PlayToolingTeleport</a><small>(API)</small> 執行刀具傳送操作,將指定刀具傳送到新位置。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">PlayToolingTeleport(&lt;刀具ID&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 傳送刀具1
PlayToolingTeleport(1);
</code></pre>
</div>
<h2 id="playclteleport">PlayClTeleport</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_PlayClTeleport_">PlayClTeleport</a><small>(API)</small> 執行刀具位置(CL)傳送操作,將刀具傳送到指定的位置和方向。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">PlayClTeleport(&lt;X&gt;, &lt;Y&gt;, &lt;Z&gt;, &lt;I&gt;, &lt;J&gt;, &lt;K&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 傳送刀具到指定位置和方向
PlayClTeleport(10.0, 20.0, 30.0, 0.0, 0.0, 1.0);
</code></pre>
</div>
<h2 id="參數說明">參數說明</h2>
<h3 id="playtoolingteleport-1">PlayToolingTeleport</h3>
<ul>
<li><code>&lt;刀具ID&gt;</code>: 要傳送的刀具編號</li>
</ul>
<h3 id="playclteleport-1">PlayClTeleport</h3>
<ul>
<li><code>&lt;X&gt;, &lt;Y&gt;, &lt;Z&gt;</code>: 刀具位置座標(單位:mm</li>
<li><code>&lt;I&gt;, &lt;J&gt;, &lt;K&gt;</code>: 刀具方向向量</li>
</ul>
<h2 id="使用場景">使用場景</h2>
<ul>
<li><strong>PlayAct</strong>: 用於執行自訂的動作物件</li>
<li><strong>PlayToolingTeleport</strong>: 用於快速移動刀具到新位置</li>
<li><strong>PlayClTeleport</strong>: 用於精確控制刀具的位置和方向</li>
</ul>
<div class="NOTE">
<h5>Note</h5>
<p>這些操作通常用於特殊情況或測試場景。在正常加工流程中,通常使用 <a class="xref" href="../PlayNcFile/index.html">執行NC檔</a><a class="xref" href="../PlayNc/index.html">執行NC碼字串</a> 來執行NC碼。</p>
</div>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -84,12 +84,12 @@
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<article data-uid="Cmd-Collision">
<h1 id="碰撞檢測">碰撞檢測</h1>
<ul>
<li><code>EnableCollisionDetection</code>:啟用碰撞檢測。</li>
<li><code>EnablePauseOnCollision</code>:啟用碰撞發生時暫停。</li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EnableCollisionDetection">EnableCollisionDetection</a><small>(API)</small>:啟用碰撞檢測。</li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EnablePauseOnCollision">EnablePauseOnCollision</a><small>(API)</small>:啟用碰撞發生時暫停。</li>
</ul>
<div class="NOTE">
<h5>Note</h5>
@@ -84,7 +84,7 @@
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<article data-uid="Doc-Task">
<h1 id="腳本">腳本</h1>
<p><strong>任務</strong>(Task)頁面會依照順序執行腳本,頁面排版順序為由左至右,再由上至下。</p>
@@ -94,7 +94,7 @@
<p><a id="Script"></a></p>
<h2 id="語法與功能">語法與功能</h2>
<p><strong>腳本</strong> (Script) 中的<strong>標題</strong> (Title) 的功能僅為註記,無其他功能,腳本的內容與標題不一定要匹配。</p>
<p>腳本使用原生C#語言。</p>
<p>腳本使用原生C#語言,可直接引用<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small>的成員屬性及成員函數</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>基本 C# 語法</strong></p>
@@ -0,0 +1,170 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>事件處理 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="事件處理 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-Events">
<h1 id="事件處理">事件處理</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> 提供了多個事件,允許在加工過程中執行自訂邏輯。</p>
<h2 id="machiningstepbuilt">MachiningStepBuilt</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningStepBuilt">MachiningStepBuilt</a><small>(API)</small> 當加工步階建立時觸發的事件。可用於在每個步階建立時進行配置或修改。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">MachiningStepBuilt += (preStep, curStep) =&gt; {
// 自訂邏輯
};
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 在每個步階建立時記錄資訊
MachiningStepBuilt += (preStep, curStep) =&gt; {
if (curStep != null)
{
Message($&quot;Step created: ToolId={curStep.ToolId}, Feedrate={curStep.Feedrate_mmdmin}&quot;);
}
};
PlayNcFile(&quot;NC/file1.nc&quot;);
</code></pre>
<p>相關 API<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Message_">Message</a><small>(API)</small><a class="xref" href="../PlayNcFile/index.html">執行NC檔</a></p>
</div>
<h2 id="machiningstepselected">MachiningStepSelected</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningStepSelected">MachiningStepSelected</a><small>(API)</small> 當加工步階被選取時觸發的事件。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">MachiningStepSelected += (millingStep) =&gt; {
// 自訂邏輯
};
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 當步階被選取時執行特定操作
MachiningStepSelected += (step) =&gt; {
if (step != null &amp;&amp; step.ToolId == 1)
{
ProgressMessage($&quot;Tool 1 step selected at line {step.LineNo}&quot;);
}
};
</code></pre>
<p>相關 API<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ProgressMessage_">ProgressMessage</a><small>(API)</small></p>
</div>
<h2 id="事件清除">事件清除</h2>
<p>事件會在呼叫 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ResetRuntime_">ResetRuntime</a><small>(API)</small> 時自動清除。</p>
<div class="NOTE">
<h5>Note</h5>
<p>事件處理器會在腳本執行期間保持有效,直到明確清除或重置運行時。</p>
</div>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -84,10 +84,10 @@
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<article data-uid="Cmd-RemoveFlyPiece">
<h1 id="移除離料">移除離料</h1>
<p>在五軸切削過程中可能出現懸浮留料,使用<code>RemoveFlyPiece</code>指令清除。</p>
<p>在五軸切削過程中可能出現懸浮留料,使用<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_RemoveFlyPiece_">RemoveFlyPiece</a><small>(API)</small>指令清除。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -84,10 +84,10 @@
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<article data-uid="Cmd-GeomDiff">
<h1 id="幾何比對">幾何比對</h1>
<p>幾何比對指令 <code>Diff</code> 用於比對工件目標形狀(Target Shape)與仿真後形狀。</p>
<p>幾何比對指令 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Diff_">Diff</a><small>(API)</small> 用於比對工件目標形狀(Target Shape)與仿真後形狀。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -0,0 +1,144 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>載入切削參數 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="載入切削參數 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-LoadCuttingParaByFile">
<h1 id="載入切削參數">載入切削參數</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_LoadCuttingParaByFile_">LoadCuttingParaByFile</a><small>(API)</small> 從檔案載入切削參數到工件。</p>
<p>切削參數為計算銑削力的必須參數。可以使用<a href="../MillingTraining/index.html">訓練與校正銑削係數</a>訓練或校正銑削係數,然後使用本指令載入到工件中。</p>
<h2 id="指令格式">指令格式</h2>
<pre><code class="lang-csharp">LoadCuttingParaByFile(&lt;檔案路徑&gt;);
</code></pre>
<h2 id="參數說明">參數說明</h2>
<ul>
<li><code>&lt;檔案路徑&gt;</code>: 切削參數檔案的路徑(相對於專案目錄)</li>
</ul>
<h2 id="指令範例">指令範例</h2>
<pre><code class="lang-csharp">// 載入已訓練的切削參數
LoadCuttingParaByFile(&quot;StainlessSteel.mp&quot;);
// 在訓練後立即載入
TrainMillingPara(Fx|Fy|Fz, &quot;StainlessSteel.mp&quot;);
LoadCuttingParaByFile(&quot;StainlessSteel.mp&quot;);
PlayNcFile(&quot;NC/file1.nc&quot;);
</code></pre>
<h2 id="注意事項">注意事項</h2>
<ul>
<li>載入前必須先設定工件(Workpiece),否則會顯示錯誤訊息</li>
<li>載入成功後會顯示成功訊息,並更新工件的切削參數</li>
<li>切削參數檔案路徑會自動儲存到工件的<code>CuttingParaFile</code>屬性中</li>
</ul>
<h2 id="參考">參考</h2>
<ul>
<li><a href="../MillingTraining/index.html">訓練與校正銑削係數</a> - 訓練與校正銑削係數</li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Workpiece_">Workpiece</a><small>(API)</small> - 工件屬性</li>
</ul>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -84,7 +84,7 @@
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<article data-uid="Cmd-Mapping">
<h1 id="資料映射">資料映射</h1>
<p>資料映射指,將外部資料對應於仿真路徑,使得仿真步(<a class="xref" href="../../output/simulation-step-output.html">仿真步輸出資訊(Simulation Step Output</a>)可以索引外部資料。</p>
@@ -94,25 +94,58 @@
<p>依據資料大小、應用情境不同,資料映射有多種形式。
資料映射可以一對一與一對多。</p>
<p>以資料量區分,<strong>仿真步</strong>對應<strong>外部資料</strong>可以一對一與一對多。</p>
<p>一對一的資料映射方式見<a class="xref" href="../PlayCsvFile/play-csv-file.html">執行CSV檔</a>,適用控制器資料。<a class="xref" href="../PlayCsvFile/play-csv-file.html">執行CSV檔</a>可以與一對多的資料映射協同使用。</p>
<p>一對多的形式則由本章節說明,適用智慧刀把、加速規、測力計等高採樣率資料,齊資料量皆數十倍於仿真步數量</p>
<h3 id="一對一映射">一對一映射</h3>
<p>一對一映射指每個仿真步對應一個外部資料點,資料量與仿真步數量相同或相近</p>
<p>一對一的資料映射方式:</p>
<ul>
<li><a class="xref" href="../PlayCsvFile/play-csv-file.html">執行CSV檔</a>:適用控制器資料,每個步階對應一個CSV資料行</li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ReadCsvByTimeInterpolation_">ReadCsvByTimeInterpolation</a><small>(API)</small>:使用時間插值將CSV資料映射到加工步階</li>
</ul>
<h3 id="一對多映射">一對多映射</h3>
<p>一對多映射指每個仿真步對應多個外部資料點,外部資料量遠大於仿真步數量(通常數十倍以上)。</p>
<p>一對多的形式適用智慧刀把、加速規、測力計等高採樣率資料。</p>
<p>一對多的資料映射可以直接<a href="#%E5%B0%8D%E6%87%89%E7%9C%9F%E5%AF%A6%E5%8A%A0%E5%B7%A5%E6%99%82%E9%96%93%E5%85%A8%E5%B1%80%E6%98%A0%E5%B0%84">對應真實加工時間全局映射</a>,也可以對<a href="#%E6%8C%87%E5%AE%9A%E6%95%B8%E6%8E%A7%E8%B7%AF%E5%BE%91%E5%8F%8A%E6%99%82%E9%96%93%E5%B1%80%E9%83%A8%E6%98%A0%E5%B0%84">指定數控路徑及時間局部映射</a></p>
<p>一對多的資料映射的格式見<a href="#%E5%A4%96%E9%83%A8%E8%B3%87%E6%96%99%E6%AA%94%E6%A1%88%E6%A0%BC%E5%BC%8F">外部資料檔案格式</a></p>
<h2 id="對應真實加工時間全局映射">對應真實加工時間全局映射</h2>
<p>需使用<a class="xref" href="../PlayCsvFile/play-csv-file.html">執行CSV檔</a>作為前置,以獲取真實加工時間,csv檔案中須包含<code>ActualTime</code>欄位(<a class="xref" href="../../../../../api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_ActualTime">ActualTime</a>)。然後使用<code>MapByActualTime</code>(<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MapByActualTime_">MapByActualTime</a>)映射外部資料</p>
<h2 id="一對一映射-1">一對一映射</h2>
<h3 id="playcsvfile">PlayCsvFile</h3>
<p><a class="xref" href="../PlayCsvFile/play-csv-file.html">執行CSV檔</a> 可以與一對多的資料映射協同使用,詳見 <a class="xref" href="../PlayCsvFile/play-csv-file.html">執行CSV檔</a></p>
<h3 id="readcsvbytimeinterpolation">ReadCsvByTimeInterpolation</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ReadCsvByTimeInterpolation_">ReadCsvByTimeInterpolation</a><small>(API)</small> 讀取CSV檔案並使用時間插值將資料映射到加工步階。每個仿真步對應一個外部資料點(透過時間插值計算)。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">ReadCsvByTimeInterpolation(&lt;CSV檔案路徑&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 讀取CSV檔案並映射到步階
PlayNcFile(&quot;NC/file1.nc&quot;);
ReadCsvByTimeInterpolation(&quot;Data/sensor.csv&quot;);
</code></pre>
</div>
<div class="NOTE">
<h5>Note</h5>
<p>此方法使用時間插值方式將CSV資料映射到加工步階,適用於需要將外部感測器資料對應到仿真步階的場景。每個仿真步會對應一個透過時間插值計算的外部資料點。</p>
</div>
<h2 id="一對多映射-1">一對多映射</h2>
<h3 id="對應真實加工時間全局映射">對應真實加工時間全局映射</h3>
<p>需使用<a class="xref" href="../PlayCsvFile/play-csv-file.html">執行CSV檔</a>作為前置,以獲取真實加工時間,csv檔案中須包含<code>ActualTime</code>欄位(<a class="xref" href="../../../../../api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_ActualTime">ActualTime</a><small>(API)</small>)。然後使用<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MapByActualTime_">MapByActualTime</a><small>(API)</small>映射外部資料。</p>
<p>此方法為一對多映射,每個仿真步會對應多個外部資料點。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code>MapByActualTime(&lt;檔案名&gt;);
</code></pre>
</div>
<h2 id="指定數控路徑及時間局部映射">指定數控路徑及時間局部映射</h2>
<h3 id="指定數控路徑及時間局部映射">指定數控路徑及時間局部映射</h3>
<p>資料映射需設定:指定輸入資料、指定NC路徑。</p>
<p>此方法為一對多映射,每個仿真步會對應多個外部資料點。</p>
<figure class="alert text-bg-light">
<img src="Mapping%20Overview%20Example.png" alt="Mapping Overview Example">
<figcaption>資料映射圖例</figcaption>
</figure>
<h3 id="指定輸入資料">指定輸入資料</h3>
<h4 id="指定輸入資料">指定輸入資料</h4>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -137,7 +170,7 @@ AddTimeDataByFile( &quot;lineB&quot;, &quot;Mapping/sensor1.csv&quot;, &quot;18:
PlayNcFile(&quot;NC/file1.nc&quot;)
</code></pre>
</div>
<h3 id="指定nc路徑">指定NC路徑</h3>
<h4 id="指定nc路徑">指定NC路徑</h4>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -282,6 +315,36 @@ X25. F10 (;@LineSelection(&quot;lineB&quot;, FirstTouch, null, LastTouch, null);
...
</code></pre>
</div>
<h2 id="其他設置">其他設置</h2>
<h3 id="自動映射設定">自動映射設定</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EnableAutoMapOnSelectionEnd">EnableAutoMapOnSelectionEnd</a><small>(API)</small> 設定是否在選擇結束時自動執行映射。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">EnableAutoMapOnSelectionEnd = true; // 或 false
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 啟用自動映射
EnableAutoMapOnSelectionEnd = true;
BeginSelection(&quot;region1&quot;);
// ... NC 代碼 ...
EndSelection(&quot;region1&quot;); // 自動執行映射
// 停用自動映射
EnableAutoMapOnSelectionEnd = false;
BeginSelection(&quot;region2&quot;);
// ... NC 代碼 ...
EndSelection(&quot;region2&quot;); // 不自動執行映射
Map(&quot;region2&quot;); // 手動執行映射
</code></pre>
</div>
<div class="NOTE">
<h5>Note</h5>
<p>預設值為 <code>true</code>。當設為 <code>true</code> 時,<code>EndSelection</code> 會自動執行對應的 <code>Map</code> 操作。</p>
</div>
</article>
@@ -1,291 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>資料映射 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="資料映射 | HiAPI-C# 2025 ">
<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="">
<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="">
<h1 id="資料映射">資料映射</h1>
<p>外部資料包含智慧刀把、動力計,可依時間線性映射至指定刀具路徑及加工區域。</p>
<p>映射資料可用於檢視加工狀態、訓練銑削係數、校正銑削係數。</p>
<p>所以資料映射需指定映射之兩部:指定輸入資料、指定NC路徑。</p>
<figure class="alert text-bg-light">
<img src="Mapping%20Overview%20Example.png" alt="Mapping Overview Example">
<figcaption>資料映射圖例</figcaption>
</figure>
<h2 id="指定輸入資料">指定輸入資料</h2>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code>AddTimeDataByFile(&lt;映射名&gt;, &lt;輸入檔案路徑&gt;, &lt;映射起點時間&gt;, &lt;映射終點時間&gt;);
</code></pre>
</div>
<p>&lt;映射名&gt;為自訂之標記名稱,對應於指定<strong>NC路徑</strong>中的映射名。</p>
<p>時間資料格式為<code>&lt;&gt;:&lt;&gt;:&lt;&gt;.&lt;小數點後秒&gt;</code>;其餘資料格式為實數。</p>
<p>注意映射資料不會因撥放器重置而被清空。可以使用<code>ClearTimeMappingData</code>指令清空。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code>ClearTimeMappingData();
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code>ClearTimeMappingData();
AddTimeDataByFile( &quot;lineA&quot;, &quot;Mapping/sensor1.csv&quot;, &quot;18:25:51.7100&quot;, &quot;18:26:12.9910&quot;);
AddTimeDataByFile( &quot;lineB&quot;, &quot;Mapping/sensor1.csv&quot;, &quot;18:26:30.5750&quot;, &quot;18:27:12.2880&quot;);
PlayNcFile(&quot;NC/file1.nc&quot;)
</code></pre>
</div>
<p>輸入檔案格式為csv,須包含時間資訊,其餘資訊可選擇包含或不包含。</p>
<p>csv檔案需有標題列,欄位標題需用特定指示詞標示。
部分欄位指示詞為方便性是多擇一。</p>
<ul>
<li>時間:
<ul>
<li><code>TimeTag</code></li>
<li><code>Timetag</code></li>
<li><code>Time</code></li>
<li><code>t</code></li>
</ul>
</li>
<li>動力計:
<ul>
<li>X方向力:
<ul>
<li><code>Fx</code></li>
<li><code>Workpiece.Fx</code></li>
</ul>
</li>
<li>Y方向力:
<ul>
<li><code>Fy</code></li>
<li><code>Workpiece.Fy</code></li>
</ul>
</li>
<li>Z方向力:
<ul>
<li><code>Fz</code></li>
<li><code>Workpiece.Fz</code></li>
</ul>
</li>
</ul>
</li>
<li>智慧刀把:
<ul>
<li>X方向力矩:
<ul>
<li><code>Mx</code></li>
<li><code>Spindle.Mx</code></li>
</ul>
</li>
<li>Y方向力矩:
<ul>
<li><code>My</code></li>
<li><code>Spindle.My</code></li>
</ul>
</li>
<li>Z方向力矩:
<ul>
<li><code>Mz</code></li>
<li><code>Spindle.Mz</code></li>
</ul>
</li>
</ul>
</li>
<li>加速規(可選)
<ul>
<li><code>Ax</code></li>
<li><code>Ay</code></li>
<li><code>Az</code></li>
</ul>
</li>
</ul>
<p>欄位可以包含其他外部資訊,如下例之<code>CH1</code><code>CH2</code></p>
<div class="TIP">
<h5>Tip</h5>
<p><strong>檔案範例</strong></p>
<pre><code>TimeTag,CH1,CH2,Mx,My,Mz
18:23:54.703,-0.00398,-0.00034,-0.02923,0.10733,0.00409
18:23:54.704,-0.00194,0.00285,0.04155,-0.04457,0.00448
...
</code></pre>
</div>
<h2 id="指定nc路徑">指定NC路徑</h2>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code>//範圍(多行)資料映射
BeginSelection(&lt;映射名&gt;, &lt;起點映射錨點旗標&gt;, &lt;起點偏置物件&gt;);
EndSelection(&lt;映射名&gt;, &lt;終點映射錨點旗標&gt;, &lt;終點偏置物件&gt;);
//單行資料映射
LineSelection(&lt;映射名&gt;, &lt;起點映射錨點旗標&gt;, &lt;起點偏置物件&gt;, &lt;終點映射錨點旗標&gt;, &lt;終點偏置物件&gt;);
</code></pre>
</div>
<p>&lt;映射名&gt;為自訂之標記名稱,對應於指定<strong>輸入資料</strong>中的映射名。</p>
<ul>
<li>可以使用<code>BeginSelection</code><code>EndSelection</code>作範圍(多行)資料映射:
<ul>
<li><code>BeginSelection</code>設置映射起點。</li>
<li><code>EndSelection</code>設置映射終點。</li>
</ul>
</li>
<li>或是使用<code>LineSelection</code>作單行資料映射。</li>
</ul>
<p>&lt;映射錨點旗標&gt;可以使用:</p>
<ul>
<li><code>LineBegin</code>
以該行運動起點為映射錨點。</li>
<li><code>LineEnd</code>
以該行運動終點為映射錨點。</li>
<li><code>FirstTouch</code>
以該行第一次接觸工件的位置為映射錨點。</li>
<li><code>LastTouch</code>
以該行最後接觸工件的位置為映射錨點。</li>
</ul>
<blockquote>
<p><img src="markRegionOnTouch.png" alt="markRegionOnTouch.png"></p>
</blockquote>
<p>&lt;偏置物件&gt;是相對於錨點的偏移,可以使用:</p>
<ul>
<li><code>null</code>
無偏移。</li>
<li><code>ShiftTime_s</code>
單位秒。正值為往後時間;負值為往前時間。</li>
<li><code>ShiftDistance_mm</code>
單位mm。正值為往後位移;負值為往前位移。</li>
</ul>
<p>指定NC路徑命令需在NC碼註解中執行,前置<code>;@</code>符號。</p>
<div class="TIP">
<h5>Tip</h5>
<p><strong>NC檔案範例</strong></p>
<pre><code>...
G00 G90 X-6. Y10.
G17 G01 Z-1. F600.
S50 M03
X13. F20 ;@LineSelection(&quot;lineA&quot;, FirstTouch, ShiftTime_s(2), LineEnd, ShiftDistance_mm(-1));
X25. F10 ;@LineSelection(&quot;lineB&quot;, FirstTouch, null, LastTouch, null);
...
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>NC檔案範例2</strong></p>
<p>如果控制器不支援<code>;</code>符號作為註解,如FANUC控制器,則需將其引入註解範圍內。</p>
<pre><code>...
G00 G90 X-6. Y10.
G17 G01 Z-1. F600.
S50 M03
X13. F20 (;@LineSelection(&quot;lineA&quot;, FirstTouch, ShiftTime_s(2), LineEnd, ShiftDistance_mm(-1));)
X25. F10 (;@LineSelection(&quot;lineB&quot;, FirstTouch, null, LastTouch, null);)
...
</code></pre>
</div>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -0,0 +1,223 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>訊息處理 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="訊息處理 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-Messages">
<h1 id="訊息處理">訊息處理</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> 提供了多個方法來顯示和管理訊息。</p>
<h2 id="message">Message</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Message_">Message</a><small>(API)</small> 顯示一般訊息。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">Message(&lt;訊息字串&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">Message(&quot;開始執行NC檔案&quot;);
PlayNcFile(&quot;NC/file1.nc&quot;);
Message(&quot;NC檔案執行完成&quot;);
</code></pre>
</div>
<h2 id="progressmessage">ProgressMessage</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ProgressMessage_">ProgressMessage</a><small>(API)</small> 顯示進度訊息。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">ProgressMessage(&lt;訊息字串&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">ProgressMessage(&quot;正在載入工件...&quot;);
ReadRuntimeGeom(&quot;Cache/workpiece.wct&quot;);
ProgressMessage(&quot;工件載入完成&quot;);
</code></pre>
<p>相關指令:<a class="xref" href="../RuntimeGeom/index.html">程序幾何</a></p>
</div>
<h2 id="warningmessage">WarningMessage</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_WarningMessage_">WarningMessage</a><small>(API)</small> 顯示警告訊息。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">WarningMessage(&lt;訊息字串&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">if (StepCount == 0)
{
WarningMessage(&quot;沒有執行任何步階&quot;);
}
</code></pre>
</div>
<h2 id="errormessage">ErrorMessage</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ErrorMessage_">ErrorMessage</a><small>(API)</small> 顯示錯誤訊息。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">ErrorMessage(&lt;訊息字串&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">if (Workpiece == null)
{
ErrorMessage(&quot;工件不存在&quot;);
return;
}
</code></pre>
</div>
<h2 id="appendmessagestofile">AppendMessagesToFile</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_AppendMessagesToFile_">AppendMessagesToFile</a><small>(API)</small> 將訊息附加到檔案,可選擇性地依標籤過濾。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">AppendMessagesToFile(&lt;目標檔案路徑&gt;, &lt;標籤1&gt;, &lt;標籤2&gt;, ...);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">PlayNcFile(&quot;NC/file1.nc&quot;);
// 將所有訊息寫入檔案
AppendMessagesToFile(&quot;Output/messages.txt&quot;);
// 只將帶有特定標籤的訊息寫入檔案
AppendMessagesToFile(&quot;Output/errors.txt&quot;, &quot;Error&quot;, &quot;Warning&quot;);
</code></pre>
</div>
<h2 id="sessionmessagehost">SessionMessageHost</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_SessionMessageHost">SessionMessageHost</a><small>(API)</small> 取得會話訊息主機物件,用於進階訊息操作。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">var messageHost = SessionMessageHost;
</code></pre>
</div>
<h2 id="訊息類型">訊息類型</h2>
<ul>
<li><strong>Message</strong>: 一般資訊訊息</li>
<li><strong>ProgressMessage</strong>: 進度相關訊息(通常顯示在進度列)</li>
<li><strong>WarningMessage</strong>: 警告訊息(不會中斷執行)</li>
<li><strong>ErrorMessage</strong>: 錯誤訊息(可能影響執行)</li>
</ul>
<div class="NOTE">
<h5>Note</h5>
<p>所有訊息都會記錄在會話訊息主機中,可以在介面中查看,也可以使用 <code>AppendMessagesToFile</code> 匯出到檔案。</p>
</div>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -84,13 +84,13 @@
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<article data-uid="Cmd-MillingTraining">
<h1 id="訓練與校正銑削係數">訓練與校正銑削係數</h1>
<p>銑削係數為計算銑削力的必須參數。</p>
<p>訓練與校正銑削係數需先完成<a href="../Mapping/index.html">資料映射</a></p>
<p><code>TrainMillingPara</code>訓練銑削係數,不需先設定工件銑削係數,輸出的新係數也與原工件銑削係數無關。</p>
<p><code>ReTrainMillingPara</code>校正銑削係數,需基於已設定之工件銑削係數,才可輸出校正後係數。校正時原係數的權重10%、從資訊映射而得的樣本權重90%。</p>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_TrainMillingPara_">TrainMillingPara</a><small>(API)</small>訓練銑削係數,不需先設定工件銑削係數,輸出的新係數也與原工件銑削係數無關。</p>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ReTrainMillingPara_">ReTrainMillingPara</a><small>(API)</small>校正銑削係數,需基於已設定之工件銑削係數,才可輸出校正後係數。校正時原係數的權重10%、從資訊映射而得的樣本權重90%。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -108,39 +108,39 @@ OptPreferedForce_N = &lt;實數&gt;;
</code></pre>
</div>
<ul>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableFeedrate">OptEnableFeedrate</a>:啟用順序式(Sequential)進給率優化。</p>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableFeedrate">OptEnableFeedrate</a><small>(API)</small>:啟用順序式(Sequential)進給率優化。</p>
<p>順序式係指該功能從下指令開始作用。與其相對的設定在刀具端,刀具端也能設定進給率優化,但是在裝刀時才會發揮作用。</p>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableFeedrate">OptEnableFeedrate</a>與所有其他啟用進給率優化的指令需同時為真,進給率優化才會啟用。
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableFeedrate">OptEnableFeedrate</a><small>(API)</small>與所有其他啟用進給率優化的指令需同時為真,進給率優化才會啟用。
即與刀具設定端必須同時為真(true),進給率優化才會啟用。</p>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableFeedrate">OptEnableFeedrate</a>預設值為真。</p>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableFeedrate">OptEnableFeedrate</a><small>(API)</small>預設值為真。</p>
</li>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableInterpolation">OptEnableInterpolation</a>:優化程序用重新插補。</p>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableInterpolation">OptEnableInterpolation</a><small>(API)</small>:優化程序用重新插補。</p>
</li>
</ul>
<p>重新插捕後NC碼會增加,可以更好地控制加減速。</p>
<ul>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptFeedrateAssignmentRatio">OptFeedrateAssignmentRatio</a>:進給賦值倍率。</li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptFeedrateAssignmentRatio">OptFeedrateAssignmentRatio</a><small>(API)</small>:進給賦值倍率。</li>
</ul>
<p>當優化程序用重新插補並且進給率變化超過進給賦值倍率時,系統會依據<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxAcceleration_mmds2">OptMaxAcceleration_mmds2</a>插入附帶進給率指令的NC碼。</p>
<p>當優化程序用重新插補並且進給率變化超過進給賦值倍率時,系統會依據<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxAcceleration_mmds2">OptMaxAcceleration_mmds2</a><small>(API)</small>插入附帶進給率指令的NC碼。</p>
<p>進給賦值倍率越小,插補點越密集。進給賦值倍率越大,則偏離優化標的的程度越大。</p>
<p>在改進給賦值倍率的同時也要對應加大安全係數。
進給賦值倍率若是0.01,就是1%,每變更1%進給率就會給個新的插補點。
如果改大,比方說10%,可能會變成該處理論值應該是F100,可是優化後卻是F110,所以要配合安全係數修改。</p>
<ul>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptRapidFeed_mmdmin">OptRapidFeed_mmdmin</a>:優化程序中的無切削區域進給率。單位mm/min。</li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptRapidFeed_mmdmin">OptRapidFeed_mmdmin</a><small>(API)</small>:優化程序中的無切削區域進給率。單位mm/min。</li>
</ul>
<p>沒有切到工件的NC路徑,為無切削區域。優化後該路徑將採用無切削區域進給率。</p>
<ul>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMinFeedrate_mmdmin">OptMinFeedrate_mmdmin</a>:優化程序中的有切削區域最小進給。單位mm/min。</li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxFeedrate_mmdmin">OptMaxFeedrate_mmdmin</a>:優化程序中的有切削區域最大進給。單位mm/min。</li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMinFeedrate_mmdmin">OptMinFeedrate_mmdmin</a><small>(API)</small>:優化程序中的有切削區域最小進給。單位mm/min。</li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxFeedrate_mmdmin">OptMaxFeedrate_mmdmin</a><small>(API)</small>:優化程序中的有切削區域最大進給。單位mm/min。</li>
</ul>
<p>有切到工件的NC路徑,為有切削區域。有切削區域的最大最小進給的設定通常依據經驗法則。</p>
<ul>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxAcceleration_mmds2">OptMaxAcceleration_mmds2</a>:優化程序中的加減速限制。優化後NC碼的F值變化在該限制之內。單位 <span class="math">\(mm/s^2\)</span></p>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxAcceleration_mmds2">OptMaxAcceleration_mmds2</a><small>(API)</small>:優化程序中的加減速限制。優化後NC碼的F值變化在該限制之內。單位 <span class="math">\(mm/s^2\)</span></p>
</li>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptExtendedPreDistance_mm">OptExtendedPreDistance_mm</a>:優化程序中的有切削區域等效計算的前長度。單位mm。</p>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptExtendedPreDistance_mm">OptExtendedPreDistance_mm</a><small>(API)</small>:優化程序中的有切削區域等效計算的前長度。單位mm。</p>
</li>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptExtendedPostDistance_mm">OptExtendedPostDistance_mm</a>:優化程序中的有切削區域等效計算的後長度。單位mm。</p>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptExtendedPostDistance_mm">OptExtendedPostDistance_mm</a><small>(API)</small>:優化程序中的有切削區域等效計算的後長度。單位mm。</p>
</li>
</ul>
<figure>
@@ -148,15 +148,15 @@ OptPreferedForce_N = &lt;實數&gt;;
<figcaption>優化程序中的有切削區域等效計算的長度</figcaption>
</figure>
<ul>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindlePowerSafetyFactor">OptSpindlePowerSafetyFactor</a>:主軸功率安全係數。</p>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindlePowerSafetyFactor">OptSpindlePowerSafetyFactor</a><small>(API)</small>:主軸功率安全係數。</p>
<p>於優化後的NC碼,主軸功率將盡可能趨近於目標值。</p>
<p>設為0則忽略此限制。</p>
</li>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindleTorqueSafetyFactor">OptSpindleTorqueSafetyFactor</a>:主軸扭力安全係數。</p>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindleTorqueSafetyFactor">OptSpindleTorqueSafetyFactor</a><small>(API)</small>:主軸扭力安全係數。</p>
<p>優化後的NC碼,主軸扭力將盡可能趨近於目標值。</p>
<p>設為0則忽略此限制。</p>
</li>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptThermalYieldSafetyFactor">OptThermalYieldSafetyFactor</a>:刀刃熱降伏安全係數。</p>
<li><p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptThermalYieldSafetyFactor">OptThermalYieldSafetyFactor</a><small>(API)</small>:刀刃熱降伏安全係數。</p>
<p>刀刃表面溫度超過一定值時,刀刃表面會因溫差產生的壓力造成塑性變形。</p>
<p>優化後的NC碼,刀刃表面度將盡可能趨近於目標值。</p>
<p>設為0則忽略此限制。</p>
@@ -168,19 +168,19 @@ OptPreferedForce_N = &lt;實數&gt;;
<p>目標值 = 100% / 安全係數</p>
</div>
<ul>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptPreferedForce_N">OptPreferedForce_N</a>:優化程中的目標力。單位N。
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptPreferedForce_N">OptPreferedForce_N</a><small>(API)</small>:優化程中的目標力。單位N。
在符合所有限制的條件下,優化程序中的加工路徑產生的力會盡可能的趨近目標力。</li>
</ul>
<h2 id="限制的優先序">限制的優先序</h2>
<p>在有切削區域中:</p>
<p><strong>進給率的直接限制</strong> 優先於 <strong>加減速限制</strong>(<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxAcceleration_mmds2">OptMaxAcceleration_mmds2</a>) 優先於 <strong>基於物理特性算出的限制</strong></p>
<p><strong>進給率的直接限制</strong> 優先於 <strong>加減速限制</strong>(<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxAcceleration_mmds2">OptMaxAcceleration_mmds2</a><small>(API)</small>) 優先於 <strong>基於物理特性算出的限制</strong></p>
<ul>
<li><p><strong>進給率的直接限制</strong> 包含</p>
<ul>
<li>腳本指令
<ul>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMinFeedrate_mmdmin">OptMinFeedrate_mmdmin</a></li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxFeedrate_mmdmin">OptMaxFeedrate_mmdmin</a></li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMinFeedrate_mmdmin">OptMinFeedrate_mmdmin</a><small>(API)</small></li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxFeedrate_mmdmin">OptMaxFeedrate_mmdmin</a><small>(API)</small></li>
</ul>
</li>
<li>刀具設定
@@ -195,10 +195,10 @@ OptPreferedForce_N = &lt;實數&gt;;
<ul>
<li>腳本指令
<ul>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindlePowerSafetyFactor">OptSpindlePowerSafetyFactor</a></li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindleTorqueSafetyFactor">OptSpindleTorqueSafetyFactor</a></li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptThermalYieldSafetyFactor">OptThermalYieldSafetyFactor</a></li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptPreferedForce_N">OptPreferedForce_N</a></li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindlePowerSafetyFactor">OptSpindlePowerSafetyFactor</a><small>(API)</small></li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindleTorqueSafetyFactor">OptSpindleTorqueSafetyFactor</a><small>(API)</small></li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptThermalYieldSafetyFactor">OptThermalYieldSafetyFactor</a><small>(API)</small></li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptPreferedForce_N">OptPreferedForce_N</a><small>(API)</small></li>
</ul>
</li>
<li>刀具設定
@@ -212,7 +212,7 @@ OptPreferedForce_N = &lt;實數&gt;;
<p>若同級項目中的限制有衝突,則採取其中的最低進給率。</p>
<h2 id="nc碼中的優化腳本指令">NC碼中的優化腳本指令</h2>
<h3 id="於指定nc行不啟用優化">於指定NC行不啟用優化</h3>
<p>在執行 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Preserve_">Preserve</a>() 的NC行中,不啟用優化。</p>
<p>在執行 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Preserve_">Preserve</a><small>(API)</small>() 的NC行中,不啟用優化。</p>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
@@ -225,7 +225,7 @@ N0150 G01 X-3.068 Y40.776
</code></pre>
</div>
<h3 id="於指定nc範圍不啟用優化">於指定NC範圍不啟用優化</h3>
<p>使用<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_BeginPreserve_">BeginPreserve</a>()的NC行及<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EndPreserve_">EndPreserve</a>()的NC行及包含的NC範圍,不啟用優化。</p>
<p>使用<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_BeginPreserve_">BeginPreserve</a><small>(API)</small>()的NC行及<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EndPreserve_">EndPreserve</a><small>(API)</small>()的NC行及包含的NC範圍,不啟用優化。</p>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
@@ -240,7 +240,7 @@ N0170 X-4.125 Y45.875
</code></pre>
</div>
<h2 id="輸出優化nc檔">輸出優化NC檔</h2>
<p>使用 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptimizeToFiles_">OptimizeToFiles</a> 方法輸出優化後的NC檔。</p>
<p>使用 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptimizeToFiles_">OptimizeToFiles</a><small>(API)</small> 方法輸出優化後的NC檔。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -0,0 +1,224 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>物理仿真設定 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="物理仿真設定 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-Physics">
<h1 id="物理仿真設定">物理仿真設定</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> 提供了多個屬性來配置物理仿真的行為。</p>
<h2 id="enablephysics">EnablePhysics</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EnablePhysics">EnablePhysics</a><small>(API)</small> 啟用或停用銑削力評估。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">EnablePhysics = true; // 或 false
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 啟用物理仿真
EnablePhysics = true;
PlayNcFile(&quot;NC/file1.nc&quot;);
// 停用物理仿真(僅幾何仿真)
EnablePhysics = false;
PlayNcFile(&quot;NC/file2.nc&quot;);
</code></pre>
</div>
<h2 id="enableweareffect">EnableWearEffect</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EnableWearEffect">EnableWearEffect</a><small>(API)</small> 啟用或停用刀具磨耗效應。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">EnableWearEffect = true; // 或 false
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 啟用磨耗效應
EnableWearEffect = true;
PlayNcFile(&quot;NC/file1.nc&quot;);
// 停用磨耗效應
EnableWearEffect = false;
PlayNcFile(&quot;NC/file2.nc&quot;);
</code></pre>
</div>
<h2 id="millingforcecycledivisionnum">MillingForceCycleDivisionNum</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MillingForceCycleDivisionNum">MillingForceCycleDivisionNum</a><small>(API)</small> 設定銑削力計算的每轉分割數。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">MillingForceCycleDivisionNum = &lt;分割數&gt;;
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 設定每轉分割數為360(每度一個計算點)
MillingForceCycleDivisionNum = 360;
// 此設定應在執行 TrainMillingPara 之前設定
PlayNcFile(&quot;NC/file1.nc&quot;);
TrainMillingPara(Fx|Fy|Fz, &quot;output.mp&quot;);
</code></pre>
</div>
<div class="NOTE">
<h5>Note</h5>
<p>此屬性應在執行 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_TrainMillingPara_">TrainMillingPara</a><small>(API)</small> 之前設定,以確保訓練過程使用正確的分割數。</p>
</div>
<h2 id="initspindletemperature_c">InitSpindleTemperature_C</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_InitSpindleTemperature_C">InitSpindleTemperature_C</a><small>(API)</small> 設定初始主軸溫度(攝氏度)。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">InitSpindleTemperature_C = &lt;溫度&gt;;
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 設定初始主軸溫度為25度
InitSpindleTemperature_C = 25.0;
PlayNcFile(&quot;NC/file1.nc&quot;);
</code></pre>
</div>
<h2 id="enablepauseonfailure">EnablePauseOnFailure</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_EnablePauseOnFailure">EnablePauseOnFailure</a><small>(API)</small> 啟用或停用在失敗時暫停執行。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">EnablePauseOnFailure = true; // 或 false
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 啟用失敗時暫停
EnablePauseOnFailure = true;
EnableCollisionDetection = true;
PlayNcFile(&quot;NC/file1.nc&quot;); // 如果發生碰撞,會暫停執行
</code></pre>
</div>
<h2 id="使用建議">使用建議</h2>
<ul>
<li><strong>EnablePhysics</strong>: 需要計算銑削力時啟用,會增加計算時間</li>
<li><strong>EnableWearEffect</strong>: 需要模擬刀具磨耗時啟用</li>
<li><strong>MillingForceCycleDivisionNum</strong>: 數值越大,計算越精確但速度越慢</li>
<li><strong>InitSpindleTemperature_C</strong>: 用於熱仿真,影響刀具溫度計算</li>
<li><strong>EnablePauseOnFailure</strong>: 用於除錯,當發生錯誤(如碰撞)時暫停執行</li>
</ul>
<div class="NOTE">
<h5>Note</h5>
<p>物理仿真會增加計算時間,但可以提供更準確的加工力、溫度等資訊。</p>
</div>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -88,7 +88,7 @@
<h1 id="執行csv檔">執行CSV檔</h1>
<p>以CSV格式檔案驅動仿真。</p>
<p>執行NC檔指令為 <code>PlayCsvFile</code> &lt;檔案路徑&gt; 的根目錄為專案目錄。</p>
<p>執行NC檔指令為 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_PlayCsvFile_">PlayCsvFile</a><small>(API)</small>&lt;檔案路徑&gt; 的根目錄為專案目錄。</p>
<p>指令格式:</p>
<pre><code class="lang-csharp">PlayCsvFile(&lt;檔案路徑&gt;);
</code></pre>
@@ -115,11 +115,12 @@
<h3 id="時間欄位">時間欄位</h3>
<ul>
<li>實際加工時間 <code>ActualTime</code>
如已有<code>StepDuration</code>,本欄位可略過,系統將自動計算步時長。</li>
如已有<code>StepDuration</code>,本欄位可略過,系統將自動計算步時長。
如僅有<code>ActualTime</code>而無<code>StepDuration</code>,系統會自動從連續的實際時間計算步時長。</li>
<li>步時長 <code>StepDuration</code>
如已有<code>ActualTime</code>,本欄位可略過。</li>
</ul>
<p>實際加工時間與步時長欄位可同時存在。</p>
<p>實際加工時間與步時長欄位可同時存在。系統會優先使用<code>StepDuration</code>,若無則從<code>ActualTime</code>自動計算。</p>
<h2 id="自訂欄位">自訂欄位</h2>
<p>其他資料如感測器、事後分析資料等也可放入CSV檔中,系統支援該資料的工件顏色梯度圖、時間序列圖、點選追蹤功能。</p>
<div class="TIP">
@@ -0,0 +1,147 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>執行NC碼字串 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="執行NC碼字串 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-PlayNc">
<h1 id="執行nc碼字串">執行NC碼字串</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_PlayNc_">PlayNc</a><small>(API)</small> 允許直接執行NC碼字串,無需從檔案讀取。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">PlayNc(&lt;NC碼字串&gt;, &lt;檔案名稱替代&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">PlayNc(&quot;G01 X10 Y20 F100&quot;, &quot;Direct Command&quot;);
</code></pre>
</div>
<h2 id="參數說明">參數說明</h2>
<ul>
<li><code>&lt;NC碼字串&gt;</code>: 要執行的NC碼內容</li>
<li><code>&lt;檔案名稱替代&gt;</code>: 在日誌中顯示的名稱(可選,預設為 &quot;&ndash;&quot;</li>
</ul>
<div class="TIP">
<h5>Tip</h5>
<p><strong>動態生成NC碼範例</strong></p>
<pre><code class="lang-csharp">double x = 10.0;
double y = 20.0;
double feedrate = 100.0;
PlayNc($&quot;G01 X{x} Y{y} F{feedrate}&quot;, &quot;Generated Command&quot;);
</code></pre>
</div>
<h2 id="與-playncfile-的差異">與 PlayNcFile 的差異</h2>
<ul>
<li><a class="xref" href="../PlayNcFile/index.html">執行NC檔</a>: 從檔案讀取並執行NC碼</li>
<li><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_PlayNc_">PlayNc</a><small>(API)</small>: 直接執行字串形式的NC碼</li>
</ul>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -84,10 +84,10 @@
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<article data-uid="Cmd-PlayNcFile">
<h1 id="執行nc檔">執行NC檔</h1>
<p>執行NC檔指令為 <code>PlayNcFile</code> &lt;檔案路徑&gt; 的根目錄為專案目錄。</p>
<p>執行NC檔指令為 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_PlayNcFile_">PlayNcFile</a><small>(API)</small>&lt;檔案路徑&gt; 的根目錄為專案目錄。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -0,0 +1,178 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>播放器控制 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="播放器控制 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-PlayerControl">
<h1 id="播放器控制">播放器控制</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> 提供了多個方法來控制加工模擬的播放器行為。</p>
<h2 id="pace">Pace</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Pace_">Pace</a><small>(API)</small> 是播放過程中的可暫停標記點。此函數使 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Pause_">Pause</a><small>(API)</small> 能夠生效。執行時會等待播放器發出下一個步調信號。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">Pace();
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 在執行NC檔案時插入可暫停標記點
var actions = RunNcFile(&quot;NC/file1.nc&quot;);
foreach (var action in actions)
{
action();
Pace(); // 插入可暫停標記點,使 Pause() 能夠在此處生效
}
</code></pre>
<p>相關 API<a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_RunNcFile_">RunNcFile</a><small>(API)</small></p>
</div>
<h2 id="pause">Pause</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Pause_">Pause</a><small>(API)</small> 暫停播放器執行。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">Pause();
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">PlayNcFile(&quot;NC/file1.nc&quot;);
// 在某個條件下暫停
if (someCondition)
{
Pause();
}
</code></pre>
</div>
<h2 id="reset">Reset</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Reset_">Reset</a><small>(API)</small> 重置播放器狀態。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">Reset();
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 重置播放器並重新開始
Reset();
PlayNcFile(&quot;NC/file1.nc&quot;);
</code></pre>
</div>
<h2 id="使用場景">使用場景</h2>
<ul>
<li><strong>Pace</strong>: 用於在執行過程中插入可暫停標記點,使 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Pause_">Pause</a><small>(API)</small> 能夠生效,例如與 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_RunNcFile_">RunNcFile</a><small>(API)</small><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_RunNc_">RunNc</a><small>(API)</small> 配合使用</li>
<li><strong>Pause</strong>: 用於在特定條件下暫停執行</li>
<li><strong>Reset</strong>: 用於重置播放器狀態,準備重新執行</li>
</ul>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -0,0 +1,164 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>屬性設定 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="屬性設定 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-Properties">
<h1 id="屬性設定">屬性設定</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> 提供了多個屬性用於配置加工參數和行為。</p>
<h2 id="系統屬性">系統屬性</h2>
<h3 id="global">Global</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Global">Global</a><small>(API)</small> 全域變數字典,用於在腳本執行期間儲存和共享資料。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">Global[&quot;key&quot;] = value;
var value = Global[&quot;key&quot;];
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 儲存全域變數
Global[&quot;workpieceMaterial&quot;] = &quot;Steel&quot;;
Global[&quot;cuttingSpeed&quot;] = 100.0;
// 讀取全域變數
var material = Global[&quot;workpieceMaterial&quot;];
</code></pre>
</div>
<h3 id="machiningsession">MachiningSession</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningSession">MachiningSession</a><small>(API)</small> 取得當前的加工會話物件。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">var session = MachiningSession;
</code></pre>
</div>
<h2 id="工件與夾具">工件與夾具</h2>
<h3 id="workpiece">Workpiece</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Workpiece">Workpiece</a><small>(API)</small> 取得或設定工件物件。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">var workpiece = Workpiece;
Workpiece = newWorkpiece;
</code></pre>
</div>
<h3 id="fixture">Fixture</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_Fixture">Fixture</a><small>(API)</small> 取得或設定夾具物件。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">var fixture = Fixture;
Fixture = newFixture;
</code></pre>
</div>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -89,6 +89,7 @@
<p>仿真解析度可分為<a href="../RuntimeGeom/index.html">程序幾何</a><strong>實體解析度</strong>、程序幾何的<strong>顯示解析度</strong><strong>加工運動解析度</strong></p>
<h2 id="程序幾何實體解析度">程序幾何實體解析度</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningResolution_mm">MachiningResolution_mm</a><small>(API)</small> 設定程序幾何實體解析度。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -106,6 +107,7 @@
<p>工件實體解析度越高,切削時計算量越大、仿真速度越慢。</p>
<p>工件實體解析度每增加一倍,需要至多8倍的材料移除演算時間與RAM記憶體空間。</p>
<h2 id="工件顯示暫存組態">工件顯示暫存組態</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_DispCache_Mb">DispCache_Mb</a><small>(API)</small> 設定工件顯示暫存組態。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -123,7 +125,7 @@
<p>數值設置越大,顯示延遲越長,建議數值不超過1000Mb。</p>
<h2 id="加工運動解析度">加工運動解析度</h2>
<p><a id="MotionResolution"></a></p>
<p><strong>加工運動解析度</strong>(Machining Motion Resolution)決定仿真的每步間隔。
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_MachiningMotionResolution">MachiningMotionResolution</a><small>(API)</small> 設定加工運動解析度,決定仿真的每步間隔。
有以下項目可選擇,預設值為<strong>每刃進給</strong></p>
<ul>
<li><strong>每轉進給</strong>(Feed Per Cycle)
@@ -84,7 +84,7 @@
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<article data-uid="Cmd-RuntimeGeom">
<h1 id="程序幾何">程序幾何</h1>
<p>程序幾何(RuntimeGeom)是工件幾何在HiNC仿真運作期間的資料格式,由大小不一的正立方線架構網格組成。</p>
@@ -97,8 +97,8 @@
<figcaption>程序幾何的正立方線架構網格</figcaption>
</figure>
<h2 id="讀寫程序幾何">讀寫程序幾何</h2>
<p><code>ReadRuntimeGeom</code><code>WriteRuntimeGeom</code>可以讀寫程序幾何至檔案。</p>
<p><code>WriteRuntimeGeomToStl</code>可以將程序幾何轉換為STL並寫入檔案。</p>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ReadRuntimeGeom_">ReadRuntimeGeom</a><small>(API)</small><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_WriteRuntimeGeom_">WriteRuntimeGeom</a><small>(API)</small>可以讀寫程序幾何至檔案。</p>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_WriteRuntimeGeomToStl_">WriteRuntimeGeomToStl</a><small>(API)</small>可以將程序幾何轉換為STL並寫入檔案。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -0,0 +1,152 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>運行時管理 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="運行時管理 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-RuntimeManagement">
<h1 id="運行時管理">運行時管理</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> 提供了多個方法來管理加工仿真的運行時狀態。</p>
<h2 id="resetruntime">ResetRuntime</h2>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_ResetRuntime_">ResetRuntime</a><small>(API)</small> 清除內部緩衝區和運行時狀態。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">ResetRuntime();
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 執行第一個NC檔案
PlayNcFile(&quot;NC/file1.nc&quot;);
WriteStepFiles(&quot;Output/file1.step.csv&quot;);
// 重置運行時狀態
ResetRuntime();
// 執行第二個NC檔案(從乾淨狀態開始)
PlayNcFile(&quot;NC/file2.nc&quot;);
WriteStepFiles(&quot;Output/file2.step.csv&quot;);
</code></pre>
</div>
<div class="NOTE">
<h5>Note</h5>
<p><code>ResetRuntime()</code> 會清除:</p>
<ul>
<li>事件處理器(<code>MachiningStepBuilt</code><code>MachiningStepSelected</code></li>
<li>內部緩衝區</li>
<li>運行時狀態</li>
</ul>
</div>
<h2 id="使用場景">使用場景</h2>
<ul>
<li><strong>ResetRuntime</strong>: 用於在多個NC檔案之間重置狀態,確保每個檔案從乾淨狀態開始執行</li>
</ul>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -0,0 +1,220 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>步階變數 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="步階變數 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-StepVariables">
<h1 id="步階變數">步階變數</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> 提供了多個方法來處理和存取加工步階的變數。</p>
<h2 id="預設步階輸出資訊">預設步階輸出資訊</h2>
<p>每個加工步階都包含豐富的預設輸出資訊,涵蓋來源行、運動學、載荷、力/力矩、功率、熱與磨耗等。</p>
<p>完整的預設步階輸出資訊說明,請參考 <a class="xref" href="../../output/simulation-step-output.html">仿真步輸出資訊(Simulation Step Output</a></p>
<div class="TIP">
<h5>Tip</h5>
<p><strong>存取預設步階資訊範例</strong></p>
<pre><code class="lang-csharp">PlayNcFile(&quot;NC/file1.nc&quot;);
// 取得步階並存取預設資訊
var step = GetMillingStep(100); // 見下方「存取步階資訊」
if (step != null)
{
// 存取預設的步階資訊
Message($&quot;ToolId: {step.ToolId}&quot;);
Message($&quot;Feedrate: {step.Feedrate_mmdmin} mm/min&quot;);
Message($&quot;ChipVolume: {step.ChipVolume_mm3} mm³&quot;);
Message($&quot;MaxAbsForce: {step.MaxAbsForce_N} N&quot;);
}
</code></pre>
</div>
<h2 id="註冊步階變數">註冊步階變數</h2>
<p>除了預設的步階輸出資訊外,您可以使用 <a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_RegisterStepVariable_">RegisterStepVariable</a><small>(API)</small> 註冊自訂的步階變數,用於追蹤特定的計算結果或資料。</p>
<h3 id="registerstepvariable">RegisterStepVariable</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_RegisterStepVariable_">RegisterStepVariable</a><small>(API)</small> 註冊一個步階變數,用於在執行過程中追蹤特定資料。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">RegisterStepVariable(&lt;鍵值&gt;, &lt;名稱&gt;, &lt;單位&gt;, &lt;格式字串&gt;, &lt;變數函數&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 註冊一個計算切削體積的步階變數
RegisterStepVariable(
&quot;ChipVolume&quot;,
&quot;Chip Volume&quot;,
&quot;mm3&quot;,
&quot;F2&quot;,
(step) =&gt; step.ChipVolume_mm3
);
PlayNcFile(&quot;NC/file1.nc&quot;);
</code></pre>
</div>
<h3 id="參數說明">參數說明</h3>
<ul>
<li><code>&lt;鍵值&gt;</code>: 變數的唯一識別碼</li>
<li><code>&lt;名稱&gt;</code>: 變數的顯示名稱</li>
<li><code>&lt;單位&gt;</code>: 變數的物理單位(可為 null</li>
<li><code>&lt;格式字串&gt;</code>: 數值格式化字串(可為 null</li>
<li><code>&lt;變數函數&gt;</code>: 從步階計算變數值的函數(可為 null)</li>
</ul>
<div class="NOTE">
<h5>Note</h5>
<p>註冊的步階變數可以在輸出檔案(如 <a class="xref" href="../WriteStepFiles/index.html">輸出步資料檔案</a>)中使用,並在介面中顯示。</p>
</div>
<h2 id="存取步階資訊">存取步階資訊</h2>
<h3 id="getmillingstep">GetMillingStep</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_GetMillingStep_">GetMillingStep</a><small>(API)</small> 取得指定索引的加工步階。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">var step = GetMillingStep(&lt;步階索引&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">PlayNcFile(&quot;NC/file1.nc&quot;);
// 取得第100個步階
var step = GetMillingStep(100);
if (step != null)
{
Message($&quot;Step 100: ToolId={step.ToolId}, Feedrate={step.Feedrate_mmdmin}&quot;);
}
</code></pre>
</div>
<h3 id="stepcount">StepCount</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_StepCount">StepCount</a><small>(API)</small> 取得總步階數量。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">var count = StepCount;
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">PlayNcFile(&quot;NC/file1.nc&quot;);
// 取得總步階數
var totalSteps = StepCount;
Message($&quot;Total steps: {totalSteps}&quot;);
// 遍歷所有步階
for (int i = 0; i &lt; StepCount; i++)
{
var step = GetMillingStep(i);
// 處理步階...
}
</code></pre>
</div>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -0,0 +1,197 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>刀具與智慧刀把設置 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="刀具與智慧刀把設置 | HiAPI-C# 2025 ">
<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="">
<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="Cmd-ToolSetup">
<h1 id="刀具與智慧刀把設置">刀具與智慧刀把設置</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> 提供了多個方法來設定和查詢刀具安裝參數及智慧刀把觀察位置。</p>
<h2 id="刀具輪廓偏移角度">刀具輪廓偏移角度</h2>
<h3 id="getuniformcontourtrayshiftangle_deg">GetUniformContourTrayShiftAngle_deg</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_GetUniformContourTrayShiftAngle_deg_">GetUniformContourTrayShiftAngle_deg</a><small>(API)</small> 取得指定刀具的輪廓偏移角度(度)。此角度用於調整刀具安裝時的初始角度位置。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">var angle = GetUniformContourTrayShiftAngle_deg(&lt;刀具ID&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 查詢刀具1的輪廓偏移角度
var angle = GetUniformContourTrayShiftAngle_deg(1);
Message($&quot;刀具1的輪廓偏移角度: {angle} 度&quot;);
</code></pre>
</div>
<h3 id="setuniformcontourtrayshiftangle_deg">SetUniformContourTrayShiftAngle_deg</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_SetUniformContourTrayShiftAngle_deg_">SetUniformContourTrayShiftAngle_deg</a><small>(API)</small> 設定指定刀具的輪廓偏移角度(度)。當刀具安裝角度與預設值不同時,可使用此方法調整。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">SetUniformContourTrayShiftAngle_deg(&lt;刀具ID&gt;, &lt;角度&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 設定刀具1的輪廓偏移角度為10度
SetUniformContourTrayShiftAngle_deg(1, 10.0);
PlayNcFile(&quot;NC/file1.nc&quot;);
</code></pre>
</div>
<h2 id="智慧刀把觀察高度">智慧刀把觀察高度</h2>
<h3 id="getstickmachiningtoolobservationheight_mm">GetStickMachiningToolObservationHeight_mm</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_GetStickMachiningToolObservationHeight_mm_">GetStickMachiningToolObservationHeight_mm</a><small>(API)</small> 取得指定智慧刀把的觀察高度(毫米)。觀察高度是指智慧刀把感測器相對於安裝錨點的高度位置。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">var height = GetStickMachiningToolObservationHeight_mm(&lt;刀具ID&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 查詢智慧刀把1的觀察高度
var height = GetStickMachiningToolObservationHeight_mm(1);
Message($&quot;智慧刀把1的觀察高度: {height} 毫米&quot;);
</code></pre>
</div>
<h3 id="setstickmachiningtoolobservationheight_mm">SetStickMachiningToolObservationHeight_mm</h3>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_SetStickMachiningToolObservationHeight_mm_">SetStickMachiningToolObservationHeight_mm</a><small>(API)</small> 設定指定智慧刀把的觀察高度(毫米)。當智慧刀把安裝位置與預設值不同時,可使用此方法調整觀察高度。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
<pre><code class="lang-csharp">SetStickMachiningToolObservationHeight_mm(&lt;刀具ID&gt;, &lt;高度&gt;);
</code></pre>
</div>
<div class="TIP">
<h5>Tip</h5>
<p><strong>指令範例</strong></p>
<pre><code class="lang-csharp">// 設定智慧刀把1的觀察高度為50毫米
SetStickMachiningToolObservationHeight_mm(1, 50.0);
PlayNcFile(&quot;NC/file1.nc&quot;);
</code></pre>
</div>
<h2 id="使用說明">使用說明</h2>
<p>這些設置功能用於:</p>
<ul>
<li><strong>刀具安裝角度調整</strong>:當刀具實際安裝角度與刀具檔案中的預設角度不同時,可透過設定輪廓偏移角度來校正</li>
<li><strong>智慧刀把安裝位置調整</strong>:當智慧刀把的感測器安裝高度與預設值不同時,可透過設定觀察高度來校正</li>
<li><strong>動態配置</strong>:在腳本執行過程中根據實際安裝情況動態調整參數</li>
</ul>
<div class="NOTE">
<h5>Note</h5>
<p>這些參數通常應在刀具設定檔案中配置。只有在需要根據實際安裝情況動態調整時,才使用這些腳本指令。</p>
</div>
<div class="WARNING">
<h5>Warning</h5>
<p>如果指定的刀具不存在或不是支援的類型(如非銑刀或非智慧刀把),這些方法會拋出異常。</p>
</div>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>
@@ -84,9 +84,10 @@
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<article data-uid="Cmd-WriteShotFiles">
<h1 id="輸出波形資料檔案">輸出波形資料檔案</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_WriteShotFiles_">WriteShotFiles</a><small>(API)</small> 輸出波形資料檔案。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -87,6 +87,7 @@
<article data-uid="Cmd-WriteStepFiles">
<h1 id="輸出步資料檔案">輸出步資料檔案</h1>
<p><a class="xref" href="../../../../../api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_WriteStepFiles_">WriteStepFiles</a><small>(API)</small> 輸出步資料檔案。</p>
<div class="NOTE">
<h5>Note</h5>
<p><strong>指令格式</strong></p>
@@ -0,0 +1,183 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>腳本命令 | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="腳本命令 | HiAPI-C# 2025 ">
<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="">
<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="Doc-Script">
<h1 id="腳本命令">腳本命令</h1>
<p>腳本命令是 HiNC 中執行加工仿真的核心功能。腳本使用 C# 語言編寫,可以直接調用 <a class="xref" href="../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> 的成員屬性和成員函數。</p>
<h2 id="快速開始">快速開始</h2>
<p>如果您是第一次使用腳本功能,建議先閱讀:</p>
<ol>
<li><strong><a href="Doc-Task/index.html">文件任務</a></strong> - 了解腳本的基本語法、執行順序和檔案路徑樣板</li>
<li><strong><a href="PlayNcFile/index.html">執行NC檔案</a></strong> - 學習如何執行 NC 檔案進行仿真</li>
</ol>
<h2 id="命令分類">命令分類</h2>
<h3 id="執行與控制">執行與控制</h3>
<ul>
<li><strong><a href="Doc-Task/index.html">文件任務</a></strong> - 腳本語法、執行順序、檔案路徑樣板</li>
<li><strong><a href="PlayNcFile/index.html">執行NC檔案</a></strong> - 執行 NC 檔案進行仿真</li>
<li><strong><a href="PlayNc/index.html">執行NC碼字串</a></strong> - 直接執行 NC 碼字串</li>
<li><strong><a href="PlayCsvFile/play-csv-file.html">執行CSV檔案</a></strong> - 以 CSV 格式檔案驅動仿真</li>
<li><strong><a href="PlayerControl/index.html">播放器控制</a></strong> - 控制播放器的執行速度、暫停和重置</li>
</ul>
<h3 id="事件與訊息">事件與訊息</h3>
<ul>
<li><strong><a href="Events/index.html">事件處理</a></strong> - 在加工過程中執行自訂邏輯</li>
<li><strong><a href="Messages/index.html">訊息處理</a></strong> - 顯示和管理訊息</li>
</ul>
<h3 id="屬性與變數">屬性與變數</h3>
<ul>
<li><strong><a href="Properties/index.html">屬性設定</a></strong> - 配置加工參數和行為</li>
<li><strong><a href="StepVariables/index.html">步階變數</a></strong> - 處理和存取加工步階的變數</li>
</ul>
<h3 id="動作與操作">動作與操作</h3>
<ul>
<li><strong><a href="RuntimeManagement/index.html">運行時管理</a></strong> - 管理加工仿真的運行時狀態</li>
<li><strong><a href="ActOperations/index.html">動作操作</a></strong> - 執行特定的加工動作</li>
<li><strong><a href="RuntimeGeom/index.html">運行時幾何</a></strong> - 讀寫程序幾何檔案</li>
<li><strong><a href="FlyPiece/index.html">離料</a></strong> - 移除五軸切削過程中的懸浮留料</li>
</ul>
<h3 id="幾何">幾何</h3>
<ul>
<li><strong><a href="Resolution/index.html">解析度</a></strong> - 設定仿真解析度(實體解析度、顯示解析度、加工運動解析度)</li>
<li><strong><a href="Collision/index.html">碰撞檢測</a></strong> - 啟用碰撞檢測功能</li>
<li><strong><a href="GeomDiff/index.html">幾何差異</a></strong> - 比對工件目標形狀與仿真後形狀</li>
</ul>
<h3 id="物理">物理</h3>
<ul>
<li><strong><a href="Physics/index.html">物理仿真設定</a></strong> - 配置物理仿真的行為</li>
<li><strong><a href="LoadCuttingPara/index.html">載入切削參數</a></strong> - 從檔案載入切削參數到工件</li>
</ul>
<h3 id="外部資料與模型訓練">外部資料與模型訓練</h3>
<ul>
<li><strong><a href="Mapping/index.html">映射</a></strong> - 將外部資料對應於仿真路徑</li>
<li><strong><a href="MillingTraining/index.html">銑削訓練</a></strong> - 訓練與校正銑削係數</li>
</ul>
<h3 id="優化">優化</h3>
<ul>
<li><strong><a href="NcOptimization/index.html">NC優化</a></strong> - NC 碼優化設定與輸出</li>
</ul>
<h3 id="輸出">輸出</h3>
<ul>
<li><strong><a href="WriteShotFiles/index.html">輸出Shot檔案</a></strong> - 輸出波形資料檔案</li>
<li><strong><a href="WriteStepFiles/index.html">輸出Step檔案</a></strong> - 輸出步資料檔案</li>
</ul>
<h3 id="工具設定">工具設定</h3>
<ul>
<li><strong><a href="ToolSetup/index.html">刀具與智慧刀把設置</a></strong> - 設定刀具安裝參數及智慧刀把觀察位置</li>
</ul>
<h2 id="相關資源">相關資源</h2>
<ul>
<li><a class="xref" href="../../../../api/Hi.MachiningProcs.RuntimeApi.html">RuntimeApi</a><small>(API)</small> - 完整的 API 參考文件</li>
<li><a href="../output/simulation-step-output.html">模擬步階輸出資訊</a> - 了解步階輸出的詳細資訊</li>
<li><a href="../theory-and-technique/milling-physics-coordinates.html">銑削物理座標系</a> - 了解座標系定義</li>
</ul>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></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>