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
@@ -340,6 +340,48 @@ The order of z values should be from small to large in general case.</p>
<h2 class="section" id="fields">Fields
</h2>
<h3 id="Hi_Geom_Cylindroid_ProfileTolerance_mm" data-uid="Hi.Geom.Cylindroid.ProfileTolerance_mm">
ProfileTolerance_mm
</h3>
<div class="markdown level1 summary"><p>Profile snapping tolerance (mm) used by <a class="xref" href="Hi.Geom.Cylindroid.html#Hi_Geom_Cylindroid_GenStl_Hi_Geom_Resolution_IPolarResolution2d_">GenStl(IPolarResolution2d)</a>: a radius
within it is the axis, and a point within it of the previous kept point
is a duplicate. Authoring tools emit such points — e.g. a chamfer tip
stored as <code>(0, 0), (0, 4.4e-16)</code> — and a duplicate would revolve
into a ring of zero-area triangles. The exact-arithmetic sweep in
the native core cannot orient a zero-area triangle (its cross
product reduces to the zero vector) and aborts the process, so the
mesh must never carry one.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const double ProfileTolerance_mm = 1E-09</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="properties">Properties
</h2>
@@ -638,7 +680,9 @@ This function is usually used to compute the bounding box of elements.</p>
</h3>
<div class="markdown level1 summary"><p>Gets the STL geometry data.</p>
<div class="markdown level1 summary"><p>Gets the STL mesh at <a class="xref" href="Hi.Geom.Cylindroid.html#Hi_Geom_Cylindroid_DefaultPolarResolution2d">DefaultPolarResolution2d</a>.
Resolution-aware callers pass their value through
<a class="xref" href="Hi.Geom.Cylindroid.html#Hi_Geom_Cylindroid_GenStl_Hi_Geom_Resolution_IPolarResolution2d_">GenStl(IPolarResolution2d)</a> instead.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -650,7 +694,7 @@ This function is usually used to compute the bounding box of elements.</p>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Stl.html">Stl</a></dt>
<dd><p>The STL geometry object</p>
<dd><p>The STL mesh at the default resolution.</p>
</dd>
</dl>
@@ -788,6 +832,45 @@ Since the folder can be moving with the configuration file.</p>
<a id="Hi_Geom_Cylindroid_NormalizeProfile_" data-uid="Hi.Geom.Cylindroid.NormalizeProfile*"></a>
<h3 id="Hi_Geom_Cylindroid_NormalizeProfile_System_Collections_Generic_IEnumerable_Hi_Geom_PairZr__" data-uid="Hi.Geom.Cylindroid.NormalizeProfile(System.Collections.Generic.IEnumerable{Hi.Geom.PairZr})">
NormalizeProfile(IEnumerable&lt;PairZr&gt;)
</h3>
<div class="markdown level1 summary"><p>Returns <code class="paramref">src</code> with radii within
<a class="xref" href="Hi.Geom.Cylindroid.html#Hi_Geom_Cylindroid_ProfileTolerance_mm">ProfileTolerance_mm</a> of the axis snapped to 0 and
consecutive points within that tolerance of each other merged.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static List&lt;PairZr&gt; NormalizeProfile(IEnumerable&lt;PairZr&gt; src)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>src</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;<a class="xref" href="Hi.Geom.PairZr.html">PairZr</a>&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a>&lt;<a class="xref" href="Hi.Geom.PairZr.html">PairZr</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Cylindroid_Reg_" data-uid="Hi.Geom.Cylindroid.Reg*"></a>
<h3 id="Hi_Geom_Cylindroid_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.Geom.Cylindroid.Reg(Hi.Common.XmlUtils.XFactory)">