2026-01-31 17:18:04 +08:00

161 lines
8.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="NcOptimization">
<h1 id="nc優化">NC優化</h1>
<p>可同時參考閱讀腳本指令<a class="xref" href="../script/NcOptimization/index.html">NC優化</a></p>
<h2 id="優化目標">優化目標</h2>
<p>優化是期望將加工中的物理量盡可能等於目標量。</p>
<p>由於優化進給採用保守策略優化後的NC碼的物理量會盡可能<strong>等於或小於</strong>目標量。</p>
<h3 id="優化進給率的決定因素">優化進給率的決定因素</h3>
<p>優化進給率由以下兩者決定:</p>
<ol>
<li><strong>個別<a class="xref" href="../concepts/step.html"></a>的物理量限制</strong>:各步基於目標力、降伏應力、主軸扭力等計算的進給率限制</li>
<li><strong>步間的平滑化</strong>:加減速限制、延伸長度等交互影響</li>
</ol>
<h2 id="優化後模擬結果的差異">優化後模擬結果的差異</h2>
<p>進給率更改後的模擬,插補點與更改前不同,會造成:</p>
<ol>
<li>不同的模擬網格誤差</li>
<li>表粗等級的表面形貌更改</li>
</ol>
<p>所以優化後的模擬物理量不一定與目標量相等或以下,也有可能比目標量稍高。</p>
<p>插補點密度在圓角轉角處對表面形貌的影響較直線大,所以這種情況在圓角轉角可能更明顯。</p>
<div class="TIP">
<h5>Tip</h5>
<p>關於轉角處優化進給率異常偏低的現象,請參閱<a href="../theory-and-technique/corner-behavior/index.html">轉角進給率優化</a></p>
</div>
<h2 id="速度平滑化">速度平滑化</h2>
<p>平滑範圍會中止於巨集指令或無法解譯路徑的行指令。</p>
<p><em>速度平滑化</em>會根據當行指令行經路徑長度做加減速限制。
所以<em>速度平滑化</em><em>可重新插補</em>的區域有效;
但是對不可重新插補的區域,雖然仍有加減速限制,但可能因為單行行經路徑過長,使得實際應用上難以發揮作用。</p>
<h2 id="幾何誤差的影響">幾何誤差的影響</h2>
<p>目前的NC優化是基於理想的幾何模型如果工件為鑄件或有工件安裝誤差則需以保守方式設定較大的工件幾何於系統內避免系統將有切削區域誤判為無切削區域從而造成撞刀。</p>
<h2 id="斷刀解決方案">斷刀解決方案</h2>
<p>更改加工路徑降低切寬深 或 以HiNC優化功能調整進給率<strong>降伏應力比</strong><strong>主軸最大扭矩比</strong><strong>主軸最大功率比</strong>降至100%以下。</p>
<h2 id="熱崩刃解決方案">熱崩刃解決方案</h2>
<p>在解決斷刀問題的前提下,降低轉速,讓刀刃有充足時間散熱。</p>
<p>注意冷卻液是否對準刀刃影響甚大。</p>
<h2 id="追蹤個別步的物理量限制">追蹤個別步的物理量限制</h2>
<p>如需了解個別步的進給率是被哪個物理量所限制,可以先將平滑化相關設定為不作用,然後啟用日誌:</p>
<pre><code class="lang-csharp">OptMaxAcceleration_mmds2 = double.PositiveInfinity;
OptFeedrateAssignmentRatio = 0;
OptExtendedPreDistance_mm = 0;
OptExtendedPostDistance_mm = 0;
EnableIndividualStepAdjustmentLog = true;
EmbeddedLogMode = NcOptimizationEmbeddedLogMode.FullLog;
</code></pre>
<p>執行優化後,檢視 <code>.IndependentStepAdjustment.log</code> 檔案,即可查看各步階的獨立優化計算結果,了解是哪個物理量限制了進給率。</p>
<p>日誌檔案的詳細欄位說明請參閱腳本指令<a class="xref" href="../script/NcOptimization/index.html">NC優化</a>中的<a href="../script/NcOptimization/index.html#%E5%84%AA%E5%8C%96%E9%81%8E%E7%A8%8B%E6%97%A5%E8%AA%8C%E6%AA%94">優化過程日誌檔</a>章節。</p>
</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>