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

This commit is contained in:
2026-08-27 14:51:37 +08:00
parent 1fc510af5e
commit 2a98ae7556
1468 changed files with 182837 additions and 18888 deletions
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class CoolantHeatCondition | HiAPI-C# 2025 ">
<meta name="description" content="Represents the heat condition parameters for coolant in machining operations. Provides effective convection-coefficient lookups keyed by — Flood uses the configured baseline ; Mist scales it by ; Off falls back to (natural/forced air).">
<meta name="description" content="Represents the heat condition parameters for coolant in machining operations. Provides effective convection-coefficient lookups keyed by — Flood uses the configured baseline ; Mist scales it by ; Off falls back to (natural/forced air). Named standard presets (, , ) bundle all coefficients so end users can pick a cooling type by name instead of entering convection coefficients; maps a configured instance back to the preset it equals.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
@@ -102,12 +102,17 @@ Provides effective convection-coefficient lookups keyed by
<a class="xref" href="Hi.Numerical.CoolantMode.html">CoolantMode</a> — Flood uses the configured baseline
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_CoolantConvectionCoefficient_Wdm2K">CoolantConvectionCoefficient_Wdm2K</a>; Mist scales it by
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_MistFloodConvectionRatio">MistFloodConvectionRatio</a>; Off falls back to
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_OffConvectionCoefficient_Wdm2K">OffConvectionCoefficient_Wdm2K</a> (natural/forced air).</p>
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_OffConvectionCoefficient_Wdm2K">OffConvectionCoefficient_Wdm2K</a> (natural/forced air).
Named standard presets (<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_StandardForcedAir">StandardForcedAir</a>,
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_StandardWaterSolubleCoolant">StandardWaterSolubleCoolant</a>, <a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_StandardOilBasedCoolant">StandardOilBasedCoolant</a>)
bundle all coefficients so end users can pick a cooling type by name instead
of entering convection coefficients; <a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_MatchStandardPreset">MatchStandardPreset()</a> maps a
configured instance back to the preset it equals.</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class CoolantHeatCondition : IMakeXmlSource</code></pre>
<pre><code class="lang-csharp hljs">public class CoolantHeatCondition : IMakeXmlSource, INameNote, IPreferredFileName</code></pre>
</div>
@@ -125,6 +130,8 @@ Provides effective convection-coefficient lookups keyed by
<dt>Implements</dt>
<dd>
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
<div><a class="xref" href="Hi.Common.INameNote.html">INameNote</a></div>
<div><a class="xref" href="Hi.Common.IPreferredFileName.html">IPreferredFileName</a></div>
</dd>
</dl>
@@ -249,6 +256,42 @@ Provides effective convection-coefficient lookups keyed by
<h2 class="section" id="fields">Fields
</h2>
<h3 id="Hi_Physics_CoolantHeatCondition_CustomName" data-uid="Hi.Physics.CoolantHeatCondition.CustomName">
CustomName
</h3>
<div class="markdown level1 summary"><p>Reserved <a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_Name">Name</a> marking an explicitly customized condition;
see <a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_MatchStandardPreset">MatchStandardPreset()</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string CustomName = &quot;Custom&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="properties">Properties
</h2>
@@ -421,20 +464,85 @@ coolant. Applied multiplicatively to
<h4 class="section" id="Hi_Physics_CoolantHeatCondition_MistFloodConvectionRatio_remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>Default <code>0.5</code>. Industry handbooks place MQL at roughly half the
heat removal of flood coolant — UNIST MQL Handbook: &ldquo;actual heat
removal is generally about half of that removed by a flood coolant&rdquo;.
Empirical milling / turning measurements on AISI 1045 steel give
ΔT_flood ≈ 230 °C vs ΔT_mist ≈ 170 °C relative to dry (Mist ≈ 0.74
of flood), while tool-life / surface-finish studies on aluminium and
titanium range 0.4–0.8. The single-number <code>0.5</code> default is the
conservative midpoint; projects that characterise their own MQL
system should override via XML.</p>
<div class="markdown level1 remarks"><p>Default <code>0.5</code>. Mist (MQL) systems typically remove noticeably
less heat than flood coolant, and the effective ratio varies with the
process, fluid and delivery system (commonly reported in the
0.4–0.8 range). Projects that characterise their own MQL system
should override this value via XML.</p>
</div>
<a id="Hi_Physics_CoolantHeatCondition_Name_" data-uid="Hi.Physics.CoolantHeatCondition.Name*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_Name" data-uid="Hi.Physics.CoolantHeatCondition.Name">
Name
</h3>
<div class="markdown level1 summary"><p>Gets or sets the name of the coolant condition. Standard presets carry
their preset name (e.g. <code>&ldquo;StandardWaterSolubleCoolant&rdquo;</code>); set to
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_CustomName">CustomName</a> to mark the condition as explicitly customized
(which makes <a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_MatchStandardPreset">MatchStandardPreset()</a> return <code>null</code> even
when the coefficients happen to equal a preset). <code>null</code>/empty on
legacy projects that predate naming.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string Name { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_Physics_CoolantHeatCondition_Note_" data-uid="Hi.Physics.CoolantHeatCondition.Note*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_Note" data-uid="Hi.Physics.CoolantHeatCondition.Note">
Note
</h3>
<div class="markdown level1 summary"><p>Gets or sets additional notes about the coolant condition.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string Note { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_Physics_CoolantHeatCondition_OffConvectionCoefficient_Wdm2K_" data-uid="Hi.Physics.CoolantHeatCondition.OffConvectionCoefficient_Wdm2K*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_OffConvectionCoefficient_Wdm2K" data-uid="Hi.Physics.CoolantHeatCondition.OffConvectionCoefficient_Wdm2K">
@@ -474,6 +582,189 @@ typical of a running machine enclosure.</p>
<a id="Hi_Physics_CoolantHeatCondition_PreferredFileName_" data-uid="Hi.Physics.CoolantHeatCondition.PreferredFileName*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_PreferredFileName" data-uid="Hi.Physics.CoolantHeatCondition.PreferredFileName">
PreferredFileName
</h3>
<div class="markdown level1 summary"><p>Gets or sets the preferred file name for this object when generating or saving files.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string PreferredFileName { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_Physics_CoolantHeatCondition_StandardForcedAir_" data-uid="Hi.Physics.CoolantHeatCondition.StandardForcedAir*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_StandardForcedAir" data-uid="Hi.Physics.CoolantHeatCondition.StandardForcedAir">
StandardForcedAir
</h3>
<div class="markdown level1 summary"><p>Forced-air / dry cutting: air blast only, no liquid coolant. Even when
the NC program turns coolant on (M07/M08), the machine only blows air,
so the flood baseline is an air-blast coefficient.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CoolantHeatCondition StandardForcedAir { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Physics.CoolantHeatCondition.html">CoolantHeatCondition</a></dt>
<dd></dd>
</dl>
<h4 class="section" id="Hi_Physics_CoolantHeatCondition_StandardForcedAir_remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>Coefficients are engineering estimates from the ranges documented on
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_CoolantConvectionCoefficient_Wdm2K">CoolantConvectionCoefficient_Wdm2K</a> and
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_OffConvectionCoefficient_Wdm2K">OffConvectionCoefficient_Wdm2K</a> (forced air 10–500
W/(m²·K)); override via XML when characterised data is available.</p>
</div>
<a id="Hi_Physics_CoolantHeatCondition_StandardOilBasedCoolant_" data-uid="Hi.Physics.CoolantHeatCondition.StandardOilBasedCoolant*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_StandardOilBasedCoolant" data-uid="Hi.Physics.CoolantHeatCondition.StandardOilBasedCoolant">
StandardOilBasedCoolant
</h3>
<div class="markdown level1 summary"><p>Oil-based (neat oil) cutting fluid: better lubrication, noticeably
lower heat removal than water-based emulsion.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CoolantHeatCondition StandardOilBasedCoolant { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Physics.CoolantHeatCondition.html">CoolantHeatCondition</a></dt>
<dd></dd>
</dl>
<h4 class="section" id="Hi_Physics_CoolantHeatCondition_StandardOilBasedCoolant_remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>Flood baseline 300 W/(m²·K) sits in the documented straight-oil range
(roughly 100–500 W/(m²·K)); override via XML when characterised data is
available.</p>
</div>
<a id="Hi_Physics_CoolantHeatCondition_StandardPresets_" data-uid="Hi.Physics.CoolantHeatCondition.StandardPresets*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_StandardPresets" data-uid="Hi.Physics.CoolantHeatCondition.StandardPresets">
StandardPresets
</h3>
<div class="markdown level1 summary"><p>The named standard presets, in menu order. Each access returns fresh
instances (same as <a class="xref" href="Hi.Physics.WorkpieceMaterial.html#Hi_Physics_WorkpieceMaterial_Al6061T6">Al6061T6</a>), so callers
may mutate the result freely.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IReadOnlyList&lt;CoolantHeatCondition&gt; StandardPresets { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist-1">IReadOnlyList</a>&lt;<a class="xref" href="Hi.Physics.CoolantHeatCondition.html">CoolantHeatCondition</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Physics_CoolantHeatCondition_StandardWaterSolubleCoolant_" data-uid="Hi.Physics.CoolantHeatCondition.StandardWaterSolubleCoolant*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_StandardWaterSolubleCoolant" data-uid="Hi.Physics.CoolantHeatCondition.StandardWaterSolubleCoolant">
StandardWaterSolubleCoolant
</h3>
<div class="markdown level1 summary"><p>Water-soluble (water-based emulsion) cutting fluid — the common flood
coolant. Matches this class's field defaults, so an unconfigured
condition reads as this preset.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CoolantHeatCondition StandardWaterSolubleCoolant { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Physics.CoolantHeatCondition.html">CoolantHeatCondition</a></dt>
<dd></dd>
</dl>
<h4 class="section" id="Hi_Physics_CoolantHeatCondition_StandardWaterSolubleCoolant_remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>Flood baseline 1000 W/(m²·K) is the literature-backed default (see
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_CoolantConvectionCoefficient_Wdm2K">CoolantConvectionCoefficient_Wdm2K</a>; water-based emulsion
spans roughly 1000–3000).</p>
</div>
<a id="Hi_Physics_CoolantHeatCondition_XName_" data-uid="Hi.Physics.CoolantHeatCondition.XName*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_XName" data-uid="Hi.Physics.CoolantHeatCondition.XName">
@@ -510,6 +801,81 @@ typical of a running machine enclosure.</p>
</h2>
<a id="Hi_Physics_CoolantHeatCondition_ApplyPreset_" data-uid="Hi.Physics.CoolantHeatCondition.ApplyPreset*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_ApplyPreset_Hi_Physics_CoolantHeatCondition_" data-uid="Hi.Physics.CoolantHeatCondition.ApplyPreset(Hi.Physics.CoolantHeatCondition)">
ApplyPreset(CoolantHeatCondition)
</h3>
<div class="markdown level1 summary"><p>Copies all values (name, note, temperature and the three convection
values) from <code class="paramref">preset</code> into this instance, in place —
existing references (e.g. a live
<code>MachiningEquipment.CoolantHeatCondition</code>) keep observing the
updated condition.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void ApplyPreset(CoolantHeatCondition preset)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>preset</code> <a class="xref" href="Hi.Physics.CoolantHeatCondition.html">CoolantHeatCondition</a></dt>
<dd></dd>
</dl>
<a id="Hi_Physics_CoolantHeatCondition_FindStandardPreset_" data-uid="Hi.Physics.CoolantHeatCondition.FindStandardPreset*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_FindStandardPreset_System_String_" data-uid="Hi.Physics.CoolantHeatCondition.FindStandardPreset(System.String)">
FindStandardPreset(string)
</h3>
<div class="markdown level1 summary"><p>Finds the standard preset with the given <a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_Name">Name</a>, or
<code>null</code> when the name is not a standard preset name (including
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_CustomName">CustomName</a> and <code>null</code>).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static CoolantHeatCondition FindStandardPreset(string name)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>name</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Physics.CoolantHeatCondition.html">CoolantHeatCondition</a></dt>
<dd></dd>
</dl>
<a id="Hi_Physics_CoolantHeatCondition_GetEffectiveConvectionCoefficient_Wdm2K_" data-uid="Hi.Physics.CoolantHeatCondition.GetEffectiveConvectionCoefficient_Wdm2K*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_GetEffectiveConvectionCoefficient_Wdm2K_Hi_Numerical_CoolantMode_" data-uid="Hi.Physics.CoolantHeatCondition.GetEffectiveConvectionCoefficient_Wdm2K(Hi.Numerical.CoolantMode)">
@@ -639,6 +1005,45 @@ Since the folder can be moving with the configuration file.</p>
<a id="Hi_Physics_CoolantHeatCondition_MatchStandardPreset_" data-uid="Hi.Physics.CoolantHeatCondition.MatchStandardPreset*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_MatchStandardPreset" data-uid="Hi.Physics.CoolantHeatCondition.MatchStandardPreset">
MatchStandardPreset()
</h3>
<div class="markdown level1 summary"><p>Returns the standard preset whose three convection values
(<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_CoolantConvectionCoefficient_Wdm2K">CoolantConvectionCoefficient_Wdm2K</a>,
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_MistFloodConvectionRatio">MistFloodConvectionRatio</a>,
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_OffConvectionCoefficient_Wdm2K">OffConvectionCoefficient_Wdm2K</a>) exactly equal this
instance's, or <code>null</code> when none matches or <a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_Name">Name</a> is
<a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_CustomName">CustomName</a>. <a class="xref" href="Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_CoolantTemperature_C">CoolantTemperature_C</a> is
intentionally excluded — temperature is an independent setting that a
user may tune without leaving the preset.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CoolantHeatCondition MatchStandardPreset()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Physics.CoolantHeatCondition.html">CoolantHeatCondition</a></dt>
<dd></dd>
</dl>
<a id="Hi_Physics_CoolantHeatCondition_Reg_" data-uid="Hi.Physics.CoolantHeatCondition.Reg*"></a>
<h3 id="Hi_Physics_CoolantHeatCondition_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.Physics.CoolantHeatCondition.Reg(Hi.Common.XmlUtils.XFactory)">