This commit is contained in:
2026-09-09 17:35:23 +08:00
parent 2a98ae7556
commit 161af68fe3
1271 changed files with 58251 additions and 98639 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

@@ -0,0 +1,146 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Cutting Force Anomaly Cases | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Cutting Force Anomaly Cases | 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="Technique-AnomalyCases">
<h1 id="cutting-force-anomaly-cases">Cutting Force Anomaly Cases</h1>
<p>Both cases below cost a customer yield, and in both the cause was invisible on the machine and
unmistakable in simulation. They are worth reading together, because they fail the same way: an
intermittent force spike far outside normal cutting, at a location that moves.</p>
<h2 id="case-i--face-milling-into-a-thin-workpiece">Case I — Face Milling Into a Thin Workpiece</h2>
<p>A face milling operation, not fully entering from the side, produced forces <strong>10 to 30 times</strong>
normal cutting.</p>
<p><img src="anomaly-cases-img/face-milling-thin-workpiece.jpg" alt="Abnormal face milling on a thin workpiece"></p>
<p>The engineers first suspected the clamping setup. The cause was in the NC: one face milling
operation, inside an extensive program, moved straight down in a way that let the flute rotate
into the workpiece at a critical moment. Because the impact depended on rotational phase, some
runs completed cleanly, which is exactly what made the clamping hypothesis look plausible. The
result was severe clamping instability and significant yield loss, and the impact was too brief
to catch by watching.</p>
<h2 id="case-ii--impeller-medium-milling">Case II — Impeller, Medium Milling</h2>
<p>A toolpath interference where the front and back blades connect produced <strong>40 times</strong> normal
cutting force, and a high probability of tool breakage.</p>
<p><img src="anomaly-cases-img/impeller-medium-milling.jpg" alt="Anomaly in impeller medium milling"></p>
<p>Here too the root cause resisted diagnosis on the floor: the error occurred at inconsistent
locations, so no single operation looked guilty.</p>
<h2 id="why-simulation-finds-them">Why Simulation Finds Them</h2>
<p>The forces involved — tens of times average — are an order of magnitude outside the 10%–25%
error band the simulation carries between tool types. That gap is what makes these detectable
rather than debatable: nothing about model accuracy could produce a 40× reading.</p>
<p>The pattern to recognise, in both cases: <strong>intermittent, phase-dependent, and located where a
person is not looking</strong>. Those are precisely the properties that make a problem survive on a
shop floor, and precisely the ones a per-step simulation is indifferent to.</p>
<h2 id="see-also">See Also</h2>
<ul>
<li><a href="cutting-force.html">Cutting Force and Torque Validation</a> — the error ranges these forces sit far outside</li>
<li><a class="xref" href="../milling-physics/machinability.html">Evaluating Process Machinability</a> — the ratios that flag a step like these before it runs</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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 KiB

@@ -0,0 +1,165 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Cutting Force and Torque Validation | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Cutting Force and Torque Validation | 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="Technique-ValidationCuttingForce">
<h1 id="cutting-force-and-torque-validation">Cutting Force and Torque Validation</h1>
<p>Cutting force is the quantity everything else is derived from — torque, power, deflection, heat,
wear — so it is the one whose agreement with measurement matters most. The comparisons below are
against dynamometer data on real cuts.</p>
<h2 id="correlation-against-measurement">Correlation Against Measurement</h2>
<p>For a <strong>new tool</strong>, the correlation coefficient between simulated and measured force typically
falls between <strong>0.90 and 0.999</strong>. Homogeneous brittle materials sit at the high end, usually
above 0.95, because there is less in the material itself to disagree about.</p>
<p><img src="cutting-force-img/force-moment-correlation.png" alt="Simulated against measured force and moment"></p>
<p>Two error ranges are worth carrying into a decision:</p>
<ul>
<li><strong>Across tool types on the same material</strong>, expect <strong>10%–25%</strong> error — a ball mill and an end
mill trained on the same material do not land equally close. A different hone radius produces
a similar range, though in rare cases it reaches <strong>40%</strong>.</li>
<li><strong>Abnormal cutting</strong>, of the kind that loses yield on the floor, produces forces on the order
of <strong>tens of times</strong> the average. That is far outside any of the error ranges above, which is
what makes it detectable rather than arguable — see <a href="anomaly-cases.html">Cutting Force Anomaly Cases</a>.</li>
</ul>
<p>The waveform agrees as well as the magnitude. In the run below the machine shows Y-axis vibration
that does not diverge, and the simulated waveform stays correlated with the measurement through it.</p>
<p><img src="cutting-force-img/force-moment-waveform.png" alt="Simulated against measured force waveform under Y-axis vibration"></p>
<h2 id="what-torque-predicts-about-the-surface">What Torque Predicts About the Surface</h2>
<p>Torque is not only a load figure — its <strong>gradient along the surface</strong> predicts visible tool marks.
When torque changes abruptly, spindle output power lags the power needed to hold speed, and the
resulting speed dip leaves a mark. Cutting force deflecting the tool leaves marks by a second,
independent route.</p>
<p><img src="cutting-force-img/torque-gradient-tool-mark.png" alt="Tool marks against spindle torque gradient"></p>
<p>Reading the figure, where blue through red is low through high:</p>
<ul>
<li><strong>A</strong> — a high torque gradient across the surface; the tool mark is obvious.</li>
<li><strong>B</strong> — marks on both sides.</li>
<li><strong>C</strong> — a low torque gradient; the mark is faint.</li>
</ul>
<p>The same physics detects the failure before it happens. Torque overload — the spindle unable to
supply the demanded load — is reported per step, alongside the marks it will leave.</p>
<p><img src="cutting-force-img/torque-overload-detection.png" alt="Torque overload detection"></p>
<h2 id="a-worked-maximum-feed-rate">A Worked Maximum Feed Rate</h2>
<p>The minimum tool-breakage stress follows from the cutting parameters, and a maximum feed rate
follows from that. For FDAC at HRC 41–44, a 6 mm four-flute cutter, a full slot at 3 mm depth,
6000 rpm and a <strong>safety factor of 2</strong>, the maximum feed rate works out at <strong>880 mm/min</strong>.</p>
<p><img src="cutting-force-img/fdac-local-slot.jpg" alt="FDAC local slot"></p>
<p>The safety factor is doing real work in that number: it is where the condition of the specific
machine enters — see
<a href="../machine-capability/machine-condition.html">Machine Condition and Safety Factors</a>.</p>
<h2 id="see-also">See Also</h2>
<ul>
<li><a href="anomaly-cases.html">Cutting Force Anomaly Cases</a> — what forces tens of times the average look like in production</li>
<li><a href="temperature-and-wear.html">Temperature and Wear</a> — the quantities derived from the force validated here</li>
<li><a class="xref" href="../milling-physics/machinability.html">Evaluating Process Machinability</a> — the ratios these forces are turned into</li>
<li><a href="../machine-capability/machine-condition.html">Machine Condition and Safety Factors</a> — the factor that turns the worked feed rate above into a value for a particular machine</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,135 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Validation | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Validation | 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="validation">Validation</h1>
<p>What has been checked against measurement, how closely it agreed, and where the agreement stops.
A simulation is only worth acting on to the extent someone has held it against a real cut, so
these pages are the record of those comparisons rather than a claim about accuracy in general.</p>
<p>Ordered from the quantity that everything else is derived from, outward to the results a
customer sees.</p>
<ul>
<li><a href="cutting-force.html">Cutting Force and Torque</a> — The correlation against dynamometer measurement, the error ranges to expect by tool type, and the two things torque predicts about the finished surface</li>
<li><a href="temperature-and-wear.html">Temperature and Wear</a> — Simulated cutter and chip temperature against thermal imaging, and the wear model behind the depth figures</li>
<li><a href="anomaly-cases.html">Cutting Force Anomaly Cases</a> — Two production failures whose cause was invisible on the floor and obvious in simulation</li>
<li><a href="optimization-results.html">Optimization Results</a> — Measured before-and-after on a hardened mould and a five-axis titanium roughing job</li>
</ul>
<p>Spindle power has its own validation page under Machine Capability —
<a href="../machine-capability/spindle-power-evaluation.html">Spindle Power Evaluation</a> holds the
comparison against Fanuc ServoGuide TCMD data, because what it validates is the spindle model
rather than the cut.</p>
<h2 id="see-also">See Also</h2>
<ul>
<li><a href="../milling-physics/index.html">Milling Physics</a> — the model these comparisons are testing</li>
<li><a href="../machine-capability/index.html">Machine Capability</a> — the equipment ceilings the same measurements calibrate</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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

@@ -0,0 +1,221 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Optimization Results | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Optimization Results | 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="Technique-OptimizationResults">
<h1 id="optimization-results">Optimization Results</h1>
<p>Two measured before-and-after comparisons. Both were run on real machines with the same cutter
and the same geometry, changing only the feed rates in the NC program.</p>
<h2 id="hardened-mould-3-axis--fdac">Hardened Mould, 3-Axis — FDAC</h2>
<p><img src="optimization-results-img/fdac-mold-sim.jpg" alt="FDAC mould simulation"></p>
<p><strong>Bull nose cutter</strong></p>
<table>
<thead>
<tr>
<th></th>
<th>Fixed feed</th>
<th>Optimized feed</th>
</tr>
</thead>
<tbody>
<tr>
<td>Feed rate</td>
<td>120 mm/min</td>
<td>variable</td>
</tr>
<tr>
<td>Expected machining time</td>
<td>303 min</td>
<td>95 min (31%)</td>
</tr>
<tr>
<td>Tool breakage</td>
<td>at 217 min</td>
<td>none</td>
</tr>
</tbody>
</table>
<p>The time figure is the headline, but the breakage row is the result worth having: the fixed-feed
run did not complete. An optimized program that finishes is not comparable to an unoptimized one
that does not.</p>
<p><strong>Ball cutter</strong></p>
<table>
<thead>
<tr>
<th></th>
<th>Fixed feed</th>
<th>Optimized feed</th>
</tr>
</thead>
<tbody>
<tr>
<td>Feed rate</td>
<td>220 mm/min</td>
<td>variable</td>
</tr>
<tr>
<td>Machining time</td>
<td>125 min</td>
<td>74 min (59%)</td>
</tr>
<tr>
<td>Measured wear depth</td>
<td>50 µm</td>
<td>20 µm (40%)</td>
</tr>
</tbody>
</table>
<p>The wear depth here is <strong>measured on the cutter</strong>, not simulated:</p>
<p><img src="optimization-results-img/fixed-feed-cutter-wear.png" alt="Wear after the fixed-feed run">
Fixed feed</p>
<p><img src="optimization-results-img/opt-feed-cutter-wear.png" alt="Wear after the optimized run">
Optimized feed</p>
<h2 id="free-form-roughing-5-axis--ti6al4v">Free-Form Roughing, 5-Axis — Ti6Al4V</h2>
<p>Simulated comparison on a five-axis free-form roughing program in titanium:</p>
<table>
<thead>
<tr>
<th></th>
<th>Original NC</th>
<th>Optimized NC</th>
</tr>
</thead>
<tbody>
<tr>
<td>Machining time</td>
<td>181 s</td>
<td>79 s (56% reduction)</td>
</tr>
<tr>
<td>Tool wear</td>
<td>13.1 µm</td>
<td>8.9 µm (32% reduction)</td>
</tr>
<tr>
<td>Breakage risk</td>
<td>high, from overcut; low yield</td>
<td>overcut breakage eliminated</td>
</tr>
</tbody>
</table>
<p>Both figures here are simulated rather than measured, and should be read as such — the
comparison is sound because both sides come from the same model, which is the same argument that
applies to the quoted times.</p>
<h2 id="reading-these-numbers">Reading These Numbers</h2>
<p>The times are ideal-feed estimates and omit controller dynamics on both sides of every
comparison, so the <strong>ratio</strong> is the trustworthy part and the absolute is not — see
<a href="../nc-optimization/machining-time-estimation.html">Machining Time Estimation</a>.</p>
<h2 id="see-also">See Also</h2>
<ul>
<li><a href="../nc-optimization/nc-optimization-principles.html">NC Optimization Principles</a> — what the optimizer changed to produce these reductions</li>
<li><a href="../nc-optimization/machining-time-estimation.html">Machining Time Estimation</a> — why the ratio in these tables is sounder than the absolute</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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 705 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

@@ -0,0 +1,151 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Temperature and Wear Validation | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Temperature and Wear Validation | 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="Technique-ValidationTemperature">
<h1 id="temperature-and-wear-validation">Temperature and Wear Validation</h1>
<p>Temperature and wear sit two steps downstream of cutting force, so their agreement with
measurement is a test of the whole chain rather than of one model. Both have been checked against
instruments rather than against expectation.</p>
<h2 id="temperature-against-thermal-imaging">Temperature, Against Thermal Imaging</h2>
<p>Infrared thermography (IRT) of a running cut was compared against the simulated temperatures.</p>
<p><img src="temperature-and-wear-img/irt-temperature-validation.png" alt="IRT measurement against simulated temperature"></p>
<p>Three things the comparison establishes:</p>
<ul>
<li><strong>A</strong> — the IRT-measured temperature aligns with the simulated <strong>cutter</strong> temperature at 0.5 mm
depth. That depth matters: the surface reading and the body reading are different numbers, and
the simulation reports both.</li>
<li><strong>B</strong> — the high temperature on the blur is an <strong>unescaped chip</strong>, and the IRT reading there
matches the simulated <strong>chip</strong> temperature. What looks like a hot cutter is often a hot chip
that has not left.</li>
<li><strong>C</strong> — the temperature peak in the trace originates from that blur, not from the cutting edge.</li>
</ul>
<p>The practical consequence: a thermal measurement of a cut is not automatically a measurement of
the tool. Chip evacuation has to be accounted for before an IRT reading and a simulated cutter
temperature can be compared at all.</p>
<h2 id="wear-from-the-same-thermal-model">Wear, From the Same Thermal Model</h2>
<p>Wear per revolution is computed from temperature, pressure, friction length and hardness:</p>
<div class="math">
\[
W(T)=k(T)\frac{L P}{H(T)}
\]</div>
<p>Both the temperature and the hardness terms are temperature-dependent, which is why the wear
figure is only as good as the thermal chain above it.</p>
<p><img src="temperature-and-wear-img/wear-evaluation-snapshot.jpg" alt="Wear evaluation"></p>
<p>Measured against a real cutter, the depth figures hold up well enough to be used as a comparison
between two programs — the 50 µm against 20 µm result in
<a href="optimization-results.html">Optimization Results</a> is a measured wear depth, not a simulated one.</p>
<h2 id="see-also">See Also</h2>
<ul>
<li><a href="cutting-force.html">Cutting Force and Torque Validation</a> — the quantity this chain is derived from</li>
<li><a class="xref" href="../milling-physics/wear.html">Tool Life &amp; Wear</a> — the wear model itself, its three reported quantities, and where flank-wear width stops being valid</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,34 @@
<div id="sidetoggle">
<div>
<div class="sidefilter">
<form class="toc-filter">
<span class="glyphicon glyphicon-filter filter-icon"></span>
<span class="glyphicon glyphicon-remove clear-icon" id="toc_filter_clear"></span>
<input type="text" id="toc_filter_input" placeholder="Filter by title" onkeypress="if(event.keyCode==13) {return false;}">
</form>
</div>
<div class="sidetoc">
<div class="toc" id="toc">
<ul class="nav level1">
<li>
<a href="index.html" name="" title="Overview">Overview</a>
</li>
<li>
<a href="cutting-force.html" name="" title="Cutting Force and Torque">Cutting Force and Torque</a>
</li>
<li>
<a href="temperature-and-wear.html" name="" title="Temperature and Wear">Temperature and Wear</a>
</li>
<li>
<a href="anomaly-cases.html" name="" title="Cutting Force Anomaly Cases">Cutting Force Anomaly Cases</a>
</li>
<li>
<a href="optimization-results.html" name="" title="Optimization Results">Optimization Results</a>
</li>
</ul>
</div>
</div>
</div>
</div>
@@ -0,0 +1,2 @@
{"items":[{"name":"Overview","href":"index.html","topicHref":"index.html"},{"name":"Cutting Force and Torque","href":"cutting-force.html","topicHref":"cutting-force.html"},{"name":"Temperature and Wear","href":"temperature-and-wear.html","topicHref":"temperature-and-wear.html"},{"name":"Cutting Force Anomaly Cases","href":"anomaly-cases.html","topicHref":"anomaly-cases.html"},{"name":"Optimization Results","href":"optimization-results.html","topicHref":"optimization-results.html"}]}