tune
This commit is contained in:
@@ -0,0 +1,234 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoCylindroid | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoCylindroid | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates the creation and visualization of objects. Includes examples of building a programmatically with points and serializing/deserializing via XML.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Disp.DemoCylindroid">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Disp_DemoCylindroid" data-uid="Sample.Disp.DemoCylindroid" class="text-break">
|
||||
Class DemoCylindroid
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.Wpf.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates the creation and visualization of <a class="xref" href="../../api/Hi.Geom.Cylindroid.html">Cylindroid</a> objects.
|
||||
Includes examples of building a <a class="xref" href="../../api/Hi.Geom.Cylindroid.html">Cylindroid</a> programmatically with
|
||||
<a class="xref" href="../../api/Hi.Geom.PairZr.html">PairZr</a> points and serializing/deserializing via XML.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoCylindroid</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoCylindroid</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Disp_DemoCylindroid_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Disp;
|
||||
using Hi.Geom;
|
||||
using System;
|
||||
|
||||
namespace Sample.Disp
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates the creation and visualization of <see cref="Cylindroid"/> objects.
|
||||
/// Includes examples of building a <see cref="Cylindroid"/> programmatically with
|
||||
/// <see cref="PairZr"/> points and serializing/deserializing via XML.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Disp/DemoCylindroid.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoCylindroid
|
||||
{
|
||||
internal static void BuildCylindorid()
|
||||
{
|
||||
Cylindroid cylindroid = new Cylindroid(24,
|
||||
new PairZr(0, 1),
|
||||
new PairZr(1, 1),
|
||||
new PairZr(1, 2),
|
||||
new PairZr(2, 2),
|
||||
new PairZr(8, 3));
|
||||
|
||||
DispEngine.Init();
|
||||
DemoUtil.RunApplication("BuildCylindorid", cylindroid.ToFaceDrawing());
|
||||
}
|
||||
|
||||
internal static void TestCylindoridXml()
|
||||
{
|
||||
Cylindroid cylindroid = new Cylindroid(24,
|
||||
new PairZr(0, 1),
|
||||
new PairZr(1, 1),
|
||||
new PairZr(1, 2),
|
||||
new PairZr(2, 2),
|
||||
new PairZr(4, 3));
|
||||
var xmlElement = cylindroid.MakeXmlSource(null, null);
|
||||
Console.WriteLine("XML:" + xmlElement);
|
||||
|
||||
cylindroid = new Cylindroid(xmlElement);
|
||||
DispEngine.Init();
|
||||
DemoUtil.RunApplication("BuildCylindorid", cylindroid.ToFaceDrawing());
|
||||
}
|
||||
|
||||
static void Main()
|
||||
{
|
||||
BuildCylindorid();
|
||||
//TestCylindoridXml();
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,304 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoDiscreteRgb | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoDiscreteRgb | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates the use of discrete RGB colors for rendering multiple objects. Shows how to apply different colors to similar geometric shapes using the method from class.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Disp.DemoDiscreteRgb">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Disp_DemoDiscreteRgb" data-uid="Sample.Disp.DemoDiscreteRgb" class="text-break">
|
||||
Class DemoDiscreteRgb
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.Wpf.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates the use of discrete RGB colors for rendering multiple objects.
|
||||
Shows how to apply different colors to similar geometric shapes using the
|
||||
<a class="xref" href="../../api/Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetDiscreteRGB_Env_System_Double_System_Double_">GetDiscreteRGB_Env(double, double)</a> method from <a class="xref" href="../../api/Hi.Coloring.ColorUtil.html">ColorUtil</a> class.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public class DemoDiscreteRgb : IDisplayee, IExpandToBox3d</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoDiscreteRgb</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl class="typelist implements">
|
||||
<dt>Implements</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="../../api/Hi.Disp.IDisplayee.html">IDisplayee</a></div>
|
||||
<div><a class="xref" href="../../api/Hi.Geom.IExpandToBox3d.html">IExpandToBox3d</a></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Disp_DemoDiscreteRgb_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Disp;
|
||||
using Hi.Disp.Flag;
|
||||
using Hi.Geom;
|
||||
using Hi.Coloring;
|
||||
|
||||
namespace Sample.Disp
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates the use of discrete RGB colors for rendering multiple objects.
|
||||
/// Shows how to apply different colors to similar geometric shapes using the
|
||||
/// <see cref="ColorUtil.GetDiscreteRGB_Env"/> method from <see cref="ColorUtil"/> class.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Disp/DemoDiscreteRgb.cs)]
|
||||
/// </remarks>
|
||||
public class DemoDiscreteRgb : IDisplayee
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public void Display(Bind bind)
|
||||
{
|
||||
bind.RGB = ColorUtil.GetDiscreteRGB_Env();
|
||||
new Box3d(0, 0, 0, 1, 1, 1).ToDraw_Face().Display(bind);
|
||||
|
||||
bind.RGB = ColorUtil.GetDiscreteRGB_Env();
|
||||
new Box3d(1, 0, 0, 2, 1, 1).ToDraw_Face().Display(bind);
|
||||
|
||||
bind.RGB = ColorUtil.GetDiscreteRGB_Env();
|
||||
new Box3d(2, 0, 0, 3, 1, 1).ToDraw_Face().Display(bind);
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public void ExpandToBox3d(Box3d dst)
|
||||
{
|
||||
dst.Expand(new Vec3d(0, 0, 0));
|
||||
dst.Expand(new Vec3d(3, 1, 1));
|
||||
}
|
||||
|
||||
static void Main()
|
||||
{
|
||||
DemoUtil.RunApplication("Demo Discrete I",
|
||||
new DispList(new CoordinateDrawing(), new DemoDiscreteRgb()));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoDiscreteRgb_Display_" data-uid="Sample.Disp.DemoDiscreteRgb.Display*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoDiscreteRgb_Display_Hi_Disp_Bind_" data-uid="Sample.Disp.DemoDiscreteRgb.Display(Hi.Disp.Bind)">
|
||||
Display(Bind)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Display function called in <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a> rendering loop.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Display(Bind bind)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>bind</code> <a class="xref" href="../../api/Hi.Disp.Bind.html">Bind</a></dt>
|
||||
<dd><p>Bind with <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a>. See <a class="xref" href="../../api/Hi.Disp.Bind.html">Bind</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoDiscreteRgb_ExpandToBox3d_" data-uid="Sample.Disp.DemoDiscreteRgb.ExpandToBox3d*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoDiscreteRgb_ExpandToBox3d_Hi_Geom_Box3d_" data-uid="Sample.Disp.DemoDiscreteRgb.ExpandToBox3d(Hi.Geom.Box3d)">
|
||||
ExpandToBox3d(Box3d)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Expands the destination box.
|
||||
This function is usually used to compute the bounding box of elements.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void ExpandToBox3d(Box3d dst)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>dst</code> <a class="xref" href="../../api/Hi.Geom.Box3d.html">Box3d</a></dt>
|
||||
<dd><p>Destination box</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,501 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoDrawing | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoDrawing | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates various drawing techniques using the HiAPI graphics system. Provides examples of primitive drawing, attribute specification, and rendering options. Includes methods for drawing lines, points, triangles, and other geometric primitives.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Disp.DemoDrawing">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Disp_DemoDrawing" data-uid="Sample.Disp.DemoDrawing" class="text-break">
|
||||
Class DemoDrawing
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.Wpf.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates various drawing techniques using the HiAPI graphics system.
|
||||
Provides examples of primitive drawing, attribute specification, and rendering options.
|
||||
Includes methods for drawing lines, points, triangles, and other geometric primitives.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoDrawing</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoDrawing</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Disp_DemoDrawing_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Geom;
|
||||
using Hi.Disp;
|
||||
using System.Collections.Generic;
|
||||
using Hi.Disp.Treat;
|
||||
using Hi.Coloring;
|
||||
|
||||
namespace Sample.Disp
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates various drawing techniques using the HiAPI graphics system.
|
||||
/// Provides examples of primitive drawing, attribute specification, and rendering options.
|
||||
/// Includes methods for drawing lines, points, triangles, and other geometric primitives.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Disp/DemoDrawing.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoDrawing
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates simple line drawing using raw vertex coordinates.
|
||||
/// Creates a basic line strip from three vertices and displays it using DemoUtil.
|
||||
/// </summary>
|
||||
public static void FreeDrawing()
|
||||
{
|
||||
#region DocSite.FreeDrawing
|
||||
double[] vs =
|
||||
{0,0,0
|
||||
,1,0,0
|
||||
,0,0,1};
|
||||
DemoUtil.RunApplication("EasyDraw"
|
||||
, new Drawing(vs, Stamp.V, GL.GL_LINE_STRIP));
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Demonstrates various types of line drawing techniques.
|
||||
/// Shows how to create points, line strips, line strips with normals, and colored line strips.
|
||||
/// Illustrates different ways to specify vertex attributes like position, color, and normal.
|
||||
/// </summary>
|
||||
public static void DrawLines()
|
||||
{
|
||||
List<Vec3d> ps;
|
||||
double[] vs;
|
||||
int n = 10; //vertex num
|
||||
|
||||
////create drawPoints
|
||||
ps = new List<Vec3d>(n);
|
||||
for (int i = 0; i < n; i++)
|
||||
ps.Add(new Vec3d(i, 0, 0));
|
||||
vs = new double[ps.Count * 3];
|
||||
for (int i = 0; i < ps.Count; i++)
|
||||
{
|
||||
vs[3 * i] = ps[i].x;
|
||||
vs[3 * i + 1] = ps[i].y;
|
||||
vs[3 * i + 2] = ps[i].z;
|
||||
}
|
||||
|
||||
//V means Vertex
|
||||
Drawing drawPoints = new Drawing(vs, Stamp.V, GL.GL_POINTS);
|
||||
|
||||
////create drawLineStrip
|
||||
vs = new double[ps.Count * 3];
|
||||
for (int i = 0; i < ps.Count; i++)
|
||||
{
|
||||
vs[3 * i] = i;
|
||||
vs[3 * i + 1] = 0;
|
||||
vs[3 * i + 2] = 1;
|
||||
}
|
||||
Drawing drawLineStrip = new Drawing(vs, Stamp.V, GL.GL_LINE_STRIP);
|
||||
|
||||
////create drawLineStripWithNormal
|
||||
//the content of vs is Nx,Ny,Nz,Vx,Vy,Vz, Nx,Ny,Nz,Vx,Vy,Vz, ...
|
||||
vs = new double[n * 6];
|
||||
for (int i = 0; i < n; i++)
|
||||
{
|
||||
//nx,ny,nz
|
||||
vs[6 * i] = 1;
|
||||
vs[6 * i + 1] = 0;
|
||||
vs[6 * i + 2] = 0;
|
||||
//x,y,z
|
||||
vs[6 * i + 3] = i;
|
||||
vs[6 * i + 4] = 0;
|
||||
vs[6 * i + 5] = 2;
|
||||
}
|
||||
//V means Vertex; N means Normal
|
||||
Drawing drawLineStripWithNormal =
|
||||
new Drawing(vs, Stamp.NV, GL.GL_LINE_STRIP);
|
||||
|
||||
////create drawColorLines
|
||||
vs = new double[n * 6];
|
||||
for (int i = 0; i < n; i++)
|
||||
{
|
||||
//the rgb values set casually.
|
||||
//r,g,b
|
||||
vs[6 * i] = i % 3 / 2D;
|
||||
vs[6 * i + 1] = i % 5 / 4D;
|
||||
vs[6 * i + 2] = i % 7 / 6D;
|
||||
//x,y,z
|
||||
vs[6 * i + 3] = i;
|
||||
vs[6 * i + 4] = 0;
|
||||
vs[6 * i + 5] = 3;
|
||||
}
|
||||
//V means Vertex; C means Color
|
||||
Drawing drawLineStripWithColor = new Drawing(vs, Stamp.CV, GL.GL_LINE_STRIP);
|
||||
|
||||
DemoUtil.RunApplication("DrawLines",
|
||||
new DispList(drawPoints, drawLineStrip
|
||||
, drawLineStripWithNormal, drawLineStripWithColor));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Demonstrates drawing triangles using OpenGL primitives.
|
||||
/// Shows how to create colored triangles (CV) and colored triangles with normals (CNV).
|
||||
/// Illustrates packing of vertex attributes (color, normal, position) into arrays for rendering.
|
||||
/// </summary>
|
||||
public static void DrawTrianglesByPrimitives()
|
||||
{
|
||||
int n = 10;// triangle num
|
||||
double[] vs;
|
||||
|
||||
////create drawTrisCV
|
||||
//each triangle has 3 point; each point has r,g,b,x,y,z, totally 6 doubles.
|
||||
vs = new double[n * 3 * 6];
|
||||
for (int i = 0, k = 0; i < n; i++)
|
||||
{
|
||||
//the rgb values set as casual.
|
||||
Vec3d rgb = ColorUtil.GetDiscreteRgb(i);
|
||||
Tri3d tri = new Tri3d(new Vec3d(i, 0, 0), new Vec3d(i + 1, 0, 0), new Vec3d(i + 0.5, 0, 1));
|
||||
for (int j = 0; j < 3; j++)
|
||||
{
|
||||
vs[k++] = rgb.x;
|
||||
vs[k++] = rgb.y;
|
||||
vs[k++] = rgb.z;
|
||||
vs[k++] = tri.ps[j].x;
|
||||
vs[k++] = tri.ps[j].y;
|
||||
vs[k++] = tri.ps[j].z;
|
||||
}
|
||||
}
|
||||
//V means Vertex; C means Color
|
||||
Drawing drawTrisCV = new Drawing(vs, Stamp.CV, GL.GL_TRIANGLES);
|
||||
|
||||
////create drawTrisCNV
|
||||
/////each triangle has 3 point; each point has r,g,b,nx,ny,nz,x,y,z, totally 6 doubles.
|
||||
vs = new double[n * 3 * 9];
|
||||
for (int i = 0, k = 0; i < n; i++)
|
||||
{
|
||||
//the rgb values set as casual.
|
||||
Vec3d rgb = ColorUtil.GetDiscreteRgb(i);
|
||||
Tri3d tri = new Tri3d(new Vec3d(i, 0, 3), new Vec3d(i + 1, 0, 3), new Vec3d(i + 0.5, 0, 4));
|
||||
Vec3d nn = tri.GetNormal();
|
||||
for (int j = 0; j < 3; j++)
|
||||
{
|
||||
vs[k++] = rgb.x;
|
||||
vs[k++] = rgb.y;
|
||||
vs[k++] = rgb.z;
|
||||
vs[k++] = nn.x;
|
||||
vs[k++] = nn.y;
|
||||
vs[k++] = nn.z;
|
||||
vs[k++] = tri.ps[j].x;
|
||||
vs[k++] = tri.ps[j].y;
|
||||
vs[k++] = tri.ps[j].z;
|
||||
}
|
||||
}
|
||||
//V means Vertex; C means Color; N means Normal
|
||||
Drawing drawTrisCNV = new Drawing(vs, Stamp.CNV, GL.GL_TRIANGLES);
|
||||
|
||||
//the color of colorTrisDraw is not influence by outer color setting.
|
||||
DemoUtil.RunApplication("DrawTrianglesByPrimitives",
|
||||
new DispList(new RgbTreat(1, 0, 0), drawTrisCV, drawTrisCNV));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Demonstrates drawing 3D triangles using the Tri3d helper class.
|
||||
/// Creates a series of triangles and renders them as both face (filled) and line (wireframe) drawings.
|
||||
/// Shows how to apply different colors to faces and lines of the same geometry.
|
||||
/// </summary>
|
||||
public static void DrawTri3d()
|
||||
{
|
||||
int n = 10;
|
||||
List<Tri3d> tris = new List<Tri3d>(n);
|
||||
for (int i = 0; i < n; i++)
|
||||
tris.Add(new Tri3d(new Vec3d(i, 0, 0), new Vec3d(i + 1, 0, 0), new Vec3d(i + 0.5, 0, 1)));
|
||||
|
||||
Drawing faceDraw = tris.GetFaceDrawing();
|
||||
Drawing linesDraw = tris.GetLineDrawing();
|
||||
|
||||
DemoUtil.RunApplication("DrawTri3d",
|
||||
new DispList(new RgbTreat(0, 0, 1), linesDraw
|
||||
, new RgbTreat(1, 0, 0), faceDraw));
|
||||
}
|
||||
|
||||
static void Main()
|
||||
{
|
||||
//FreeDrawing();
|
||||
//DrawLines();
|
||||
//DrawTrianglesByPrimitives();
|
||||
DrawTri3d();
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoDrawing_DrawLines_" data-uid="Sample.Disp.DemoDrawing.DrawLines*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoDrawing_DrawLines" data-uid="Sample.Disp.DemoDrawing.DrawLines">
|
||||
DrawLines()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Demonstrates various types of line drawing techniques.
|
||||
Shows how to create points, line strips, line strips with normals, and colored line strips.
|
||||
Illustrates different ways to specify vertex attributes like position, color, and normal.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static void DrawLines()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoDrawing_DrawTri3d_" data-uid="Sample.Disp.DemoDrawing.DrawTri3d*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoDrawing_DrawTri3d" data-uid="Sample.Disp.DemoDrawing.DrawTri3d">
|
||||
DrawTri3d()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Demonstrates drawing 3D triangles using the Tri3d helper class.
|
||||
Creates a series of triangles and renders them as both face (filled) and line (wireframe) drawings.
|
||||
Shows how to apply different colors to faces and lines of the same geometry.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static void DrawTri3d()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoDrawing_DrawTrianglesByPrimitives_" data-uid="Sample.Disp.DemoDrawing.DrawTrianglesByPrimitives*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoDrawing_DrawTrianglesByPrimitives" data-uid="Sample.Disp.DemoDrawing.DrawTrianglesByPrimitives">
|
||||
DrawTrianglesByPrimitives()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Demonstrates drawing triangles using OpenGL primitives.
|
||||
Shows how to create colored triangles (CV) and colored triangles with normals (CNV).
|
||||
Illustrates packing of vertex attributes (color, normal, position) into arrays for rendering.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static void DrawTrianglesByPrimitives()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoDrawing_FreeDrawing_" data-uid="Sample.Disp.DemoDrawing.FreeDrawing*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoDrawing_FreeDrawing" data-uid="Sample.Disp.DemoDrawing.FreeDrawing">
|
||||
FreeDrawing()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Demonstrates simple line drawing using raw vertex coordinates.
|
||||
Creates a basic line strip from three vertices and displays it using DemoUtil.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static void FreeDrawing()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,422 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoPick1 | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoPick1 | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates basic object picking with mouse interaction in the HiAPI system. Shows how to create a pickable 3D object that responds to mouse events by changing its appearance. Implements the Pickable base class to enable mouse event handling.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Disp.DemoPick1">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Disp_DemoPick1" data-uid="Sample.Disp.DemoPick1" class="text-break">
|
||||
Class DemoPick1
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.Wpf.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates basic object picking with mouse interaction in the HiAPI system.
|
||||
Shows how to create a pickable 3D object that responds to mouse events by changing its appearance.
|
||||
Implements the Pickable base class to enable mouse event handling.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public class DemoPick1 : Pickable, IPickableGetter, IDisposable, IDisplayee, IExpandToBox3d</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><a class="xref" href="../../api/Hi.Disp.Pickable.html">Pickable</a></div>
|
||||
<div><span class="xref">DemoPick1</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl class="typelist implements">
|
||||
<dt>Implements</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="../../api/Hi.Disp.IPickableGetter.html">IPickableGetter</a></div>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
|
||||
<div><a class="xref" href="../../api/Hi.Disp.IDisplayee.html">IDisplayee</a></div>
|
||||
<div><a class="xref" href="../../api/Hi.Geom.IExpandToBox3d.html">IExpandToBox3d</a></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_Pickables">Pickable.Pickables</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_mark">Pickable.mark</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_PickingID">Pickable.PickingID</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_GetPickable">Pickable.GetPickable()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_OnKeyDown_Hi_Native_key_event_t_Hi_Native_panel_state_t_">Pickable.OnKeyDown(key_event_t, panel_state_t)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_OnKeyUp_Hi_Native_key_event_t_Hi_Native_panel_state_t_">Pickable.OnKeyUp(key_event_t, panel_state_t)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_OnMouseDown_Hi_Native_mouse_button_event_t_Hi_Native_panel_state_t_">Pickable.OnMouseDown(mouse_button_event_t, panel_state_t)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_OnMouseUp_Hi_Native_mouse_button_event_t_Hi_Native_panel_state_t_">Pickable.OnMouseUp(mouse_button_event_t, panel_state_t)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_OnMouseMove_Hi_Native_mouse_move_event_t_Hi_Native_panel_state_t_">Pickable.OnMouseMove(mouse_move_event_t, panel_state_t)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_OnMouseWheel_Hi_Native_mouse_wheel_event_t_Hi_Native_panel_state_t_">Pickable.OnMouseWheel(mouse_wheel_event_t, panel_state_t)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_Dispose_System_Boolean_">Pickable.Dispose(bool)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="../../api/Hi.Disp.Pickable.html#Hi_Disp_Pickable_Dispose">Pickable.Dispose()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Disp_DemoPick1_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Geom;
|
||||
using Hi.Disp;
|
||||
using Hi.Native;
|
||||
|
||||
namespace Sample.Disp
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates basic object picking with mouse interaction in the HiAPI system.
|
||||
/// Shows how to create a pickable 3D object that responds to mouse events by changing its appearance.
|
||||
/// Implements the Pickable base class to enable mouse event handling.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Disp/DemoPick1.cs)]
|
||||
/// </remarks>
|
||||
public class DemoPick1 : Pickable, IDisplayee
|
||||
{
|
||||
bool isMouseOver = false;
|
||||
/// <inheritdoc/>
|
||||
public void Display(Bind bind)
|
||||
{
|
||||
bind.PickID = PickingID;
|
||||
bind.RGB = new Vec3d(isMouseOver ? 0 : 1, 1, 1);
|
||||
new Box3d(0, 0, 0, 1, 1, 1).DisplayFace(bind);
|
||||
bind.PickID = 0;
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public void ExpandToBox3d(Box3d dst)
|
||||
{
|
||||
dst.Expand(new Vec3d(0, 0, 0));
|
||||
dst.Expand(new Vec3d(1, 1, 1));
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public override void OnMouseEnter(ui_event_type e, panel_state_t state)
|
||||
{
|
||||
isMouseOver = true;
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public override void OnMouseLeave(ui_event_type e, panel_state_t state)
|
||||
{
|
||||
isMouseOver = false;
|
||||
}
|
||||
/// <summary>
|
||||
/// Entry point for the DemoPick1 example.
|
||||
/// Creates and displays a simple pickable object that changes color on mouse hover.
|
||||
/// </summary>
|
||||
static void Main()
|
||||
{
|
||||
DemoUtil.RunApplication("DemoPick1", new DemoPick1());
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPick1_Display_" data-uid="Sample.Disp.DemoPick1.Display*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPick1_Display_Hi_Disp_Bind_" data-uid="Sample.Disp.DemoPick1.Display(Hi.Disp.Bind)">
|
||||
Display(Bind)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Display function called in <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a> rendering loop.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Display(Bind bind)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>bind</code> <a class="xref" href="../../api/Hi.Disp.Bind.html">Bind</a></dt>
|
||||
<dd><p>Bind with <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a>. See <a class="xref" href="../../api/Hi.Disp.Bind.html">Bind</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPick1_ExpandToBox3d_" data-uid="Sample.Disp.DemoPick1.ExpandToBox3d*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPick1_ExpandToBox3d_Hi_Geom_Box3d_" data-uid="Sample.Disp.DemoPick1.ExpandToBox3d(Hi.Geom.Box3d)">
|
||||
ExpandToBox3d(Box3d)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Expands the destination box.
|
||||
This function is usually used to compute the bounding box of elements.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void ExpandToBox3d(Box3d dst)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>dst</code> <a class="xref" href="../../api/Hi.Geom.Box3d.html">Box3d</a></dt>
|
||||
<dd><p>Destination box</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPick1_OnMouseEnter_" data-uid="Sample.Disp.DemoPick1.OnMouseEnter*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPick1_OnMouseEnter_Hi_Native_ui_event_type_Hi_Native_panel_state_t_" data-uid="Sample.Disp.DemoPick1.OnMouseEnter(Hi.Native.ui_event_type,Hi.Native.panel_state_t)">
|
||||
OnMouseEnter(ui_event_type, panel_state_t)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Behavior on mouse enter</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public override void OnMouseEnter(ui_event_type e, panel_state_t state)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>e</code> <a class="xref" href="../../api/Hi.Native.ui_event_type.html">ui_event_type</a></dt>
|
||||
<dd><p>event type</p>
|
||||
</dd>
|
||||
<dt><code>state</code> <a class="xref" href="../../api/Hi.Native.panel_state_t.html">panel_state_t</a></dt>
|
||||
<dd><p>panel state</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPick1_OnMouseLeave_" data-uid="Sample.Disp.DemoPick1.OnMouseLeave*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPick1_OnMouseLeave_Hi_Native_ui_event_type_Hi_Native_panel_state_t_" data-uid="Sample.Disp.DemoPick1.OnMouseLeave(Hi.Native.ui_event_type,Hi.Native.panel_state_t)">
|
||||
OnMouseLeave(ui_event_type, panel_state_t)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Behavior on mouse leave</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public override void OnMouseLeave(ui_event_type e, panel_state_t state)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>e</code> <a class="xref" href="../../api/Hi.Native.ui_event_type.html">ui_event_type</a></dt>
|
||||
<dd><p>event type</p>
|
||||
</dd>
|
||||
<dt><code>state</code> <a class="xref" href="../../api/Hi.Native.panel_state_t.html">panel_state_t</a></dt>
|
||||
<dd><p>panel state</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,396 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoPick2 | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoPick2 | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates advanced object picking with multiple pickable objects. Shows how to create and manage multiple pickable objects with different visual appearances. Implements proper resource cleanup through the IDisposable interface.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Disp.DemoPick2">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Disp_DemoPick2" data-uid="Sample.Disp.DemoPick2" class="text-break">
|
||||
Class DemoPick2
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.Wpf.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates advanced object picking with multiple pickable objects.
|
||||
Shows how to create and manage multiple pickable objects with different visual appearances.
|
||||
Implements proper resource cleanup through the IDisposable interface.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public class DemoPick2 : IDisplayee, IExpandToBox3d, IDisposable</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoPick2</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl class="typelist implements">
|
||||
<dt>Implements</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="../../api/Hi.Disp.IDisplayee.html">IDisplayee</a></div>
|
||||
<div><a class="xref" href="../../api/Hi.Geom.IExpandToBox3d.html">IExpandToBox3d</a></div>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Disp_DemoPick2_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Geom;
|
||||
using Hi.Disp;
|
||||
using System;
|
||||
using Hi.Coloring;
|
||||
|
||||
namespace Sample.Disp
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates advanced object picking with multiple pickable objects.
|
||||
/// Shows how to create and manage multiple pickable objects with different visual appearances.
|
||||
/// Implements proper resource cleanup through the IDisposable interface.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Disp/DemoPick2.cs)]
|
||||
/// </remarks>
|
||||
public class DemoPick2 : IDisplayee, IDisposable
|
||||
{
|
||||
readonly Pickable pickableA = new ShowEventPickable { Tag = "A" };
|
||||
readonly Pickable pickableB = new ShowEventPickable { Tag = "B" };
|
||||
readonly Pickable pickableC = new ShowEventPickable { Tag = "C" };
|
||||
/// <inheritdoc/>
|
||||
public void Display(Bind bind)
|
||||
{
|
||||
bind.PickID = pickableA.PickingID;
|
||||
bind.RGB = ColorUtil.GetDiscreteRgb(1);
|
||||
new Box3d(0, 0, 0, 1, 1, 1).DisplayFace(bind);
|
||||
|
||||
bind.PickID = pickableB.PickingID;
|
||||
bind.RGB = ColorUtil.GetDiscreteRgb(2);
|
||||
new Box3d(0, 0, 1, 1, 1, 2).DisplayFace(bind);
|
||||
|
||||
bind.PickID = pickableC.PickingID;
|
||||
bind.RGB = ColorUtil.GetDiscreteRgb(3);
|
||||
new Box3d(0, 0, 2, 1, 1, 3).DisplayFace(bind);
|
||||
|
||||
bind.PickID = 0;
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public void ExpandToBox3d(Box3d dst)
|
||||
{
|
||||
dst.Expand(new Vec3d(0, 0, 0));
|
||||
dst.Expand(new Vec3d(1, 1, 3));
|
||||
}
|
||||
#region IDisposable Support
|
||||
private bool disposedValue = false; // To detect redundant calls
|
||||
/// <inheritdoc/>
|
||||
protected virtual void Dispose(bool disposing)
|
||||
{
|
||||
if (!disposedValue)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
pickableA.Dispose();
|
||||
pickableB.Dispose();
|
||||
pickableC.Dispose();
|
||||
}
|
||||
disposedValue = true;
|
||||
}
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Entry point for the DemoPick2 example.
|
||||
/// Creates and displays multiple pickable objects with distinct colors and positions.
|
||||
/// Demonstrates separation of picking behavior from visual representation.
|
||||
/// </summary>
|
||||
static void Main()
|
||||
{
|
||||
DemoUtil.RunApplication("DemoPick2", new DemoPick2());
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPick2_Display_" data-uid="Sample.Disp.DemoPick2.Display*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPick2_Display_Hi_Disp_Bind_" data-uid="Sample.Disp.DemoPick2.Display(Hi.Disp.Bind)">
|
||||
Display(Bind)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Display function called in <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a> rendering loop.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Display(Bind bind)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>bind</code> <a class="xref" href="../../api/Hi.Disp.Bind.html">Bind</a></dt>
|
||||
<dd><p>Bind with <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a>. See <a class="xref" href="../../api/Hi.Disp.Bind.html">Bind</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPick2_Dispose_" data-uid="Sample.Disp.DemoPick2.Dispose*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPick2_Dispose" data-uid="Sample.Disp.DemoPick2.Dispose">
|
||||
Dispose()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPick2_Dispose_" data-uid="Sample.Disp.DemoPick2.Dispose*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPick2_Dispose_System_Boolean_" data-uid="Sample.Disp.DemoPick2.Dispose(System.Boolean)">
|
||||
Dispose(bool)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"></div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">protected virtual void Dispose(bool disposing)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>disposing</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPick2_ExpandToBox3d_" data-uid="Sample.Disp.DemoPick2.ExpandToBox3d*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPick2_ExpandToBox3d_Hi_Geom_Box3d_" data-uid="Sample.Disp.DemoPick2.ExpandToBox3d(Hi.Geom.Box3d)">
|
||||
ExpandToBox3d(Box3d)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Expands the destination box.
|
||||
This function is usually used to compute the bounding box of elements.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void ExpandToBox3d(Box3d dst)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>dst</code> <a class="xref" href="../../api/Hi.Geom.Box3d.html">Box3d</a></dt>
|
||||
<dd><p>Destination box</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,382 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoPickable | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoPickable | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates creation of pickable 3D geometry at the primitive level. Shows how to assign picking IDs directly to geometry vertices and create interactive triangles. Uses a lower-level approach than the Pickable base class for more precise control.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Disp.DemoPickable">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Disp_DemoPickable" data-uid="Sample.Disp.DemoPickable" class="text-break">
|
||||
Class DemoPickable
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.Wpf.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates creation of pickable 3D geometry at the primitive level.
|
||||
Shows how to assign picking IDs directly to geometry vertices and create interactive triangles.
|
||||
Uses a lower-level approach than the Pickable base class for more precise control.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public class DemoPickable : IDisplayee, IExpandToBox3d</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoPickable</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl class="typelist implements">
|
||||
<dt>Implements</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="../../api/Hi.Disp.IDisplayee.html">IDisplayee</a></div>
|
||||
<div><a class="xref" href="../../api/Hi.Geom.IExpandToBox3d.html">IExpandToBox3d</a></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Disp_DemoPickable_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Disp;
|
||||
using Hi.Geom;
|
||||
using System;
|
||||
|
||||
namespace Sample.Disp
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates creation of pickable 3D geometry at the primitive level.
|
||||
/// Shows how to assign picking IDs directly to geometry vertices and create interactive triangles.
|
||||
/// Uses a lower-level approach than the Pickable base class for more precise control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Disp/DemoPickable.cs)]
|
||||
/// </remarks>
|
||||
public class DemoPickable : IDisplayee
|
||||
{
|
||||
private readonly Drawing draw;
|
||||
private readonly ShowEventPickable pickable;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of DemoPickable.
|
||||
/// Creates a pickable triangle with a specific picking ID for user interaction.
|
||||
/// </summary>
|
||||
public DemoPickable()
|
||||
{
|
||||
pickable = new ShowEventPickable();
|
||||
double pid = pickable.PickingID;
|
||||
double[] vs = new double[] {
|
||||
//pickID, x,y,z
|
||||
pid, 0,0.1,0.1,
|
||||
pid, 0.1,0,0,
|
||||
pid, 0.1,0,0.1
|
||||
};
|
||||
draw = new Drawing(vs, Stamp.PV, GL.GL_TRIANGLES);
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public void Display(Bind bind)
|
||||
{
|
||||
draw.Display(bind);
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public void ExpandToBox3d(Box3d dst)
|
||||
{
|
||||
draw.ExpandToBox3d(dst);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Entry point for the DemoPickable example.
|
||||
/// Creates and displays a pickable triangle that can respond to mouse events.
|
||||
/// Demonstrates integration of picking functionality with geometric primitives.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
public static void Main()
|
||||
{
|
||||
DemoUtil.RunApplication("DemoPickable", new DemoPickable());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
<h2 class="section" id="constructors">Constructors
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPickable__ctor_" data-uid="Sample.Disp.DemoPickable.#ctor*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPickable__ctor" data-uid="Sample.Disp.DemoPickable.#ctor">
|
||||
DemoPickable()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Initializes a new instance of DemoPickable.
|
||||
Creates a pickable triangle with a specific picking ID for user interaction.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public DemoPickable()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPickable_Display_" data-uid="Sample.Disp.DemoPickable.Display*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPickable_Display_Hi_Disp_Bind_" data-uid="Sample.Disp.DemoPickable.Display(Hi.Disp.Bind)">
|
||||
Display(Bind)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Display function called in <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a> rendering loop.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Display(Bind bind)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>bind</code> <a class="xref" href="../../api/Hi.Disp.Bind.html">Bind</a></dt>
|
||||
<dd><p>Bind with <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a>. See <a class="xref" href="../../api/Hi.Disp.Bind.html">Bind</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPickable_ExpandToBox3d_" data-uid="Sample.Disp.DemoPickable.ExpandToBox3d*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPickable_ExpandToBox3d_Hi_Geom_Box3d_" data-uid="Sample.Disp.DemoPickable.ExpandToBox3d(Hi.Geom.Box3d)">
|
||||
ExpandToBox3d(Box3d)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Expands the destination box.
|
||||
This function is usually used to compute the bounding box of elements.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void ExpandToBox3d(Box3d dst)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>dst</code> <a class="xref" href="../../api/Hi.Geom.Box3d.html">Box3d</a></dt>
|
||||
<dd><p>Destination box</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoPickable_Main_" data-uid="Sample.Disp.DemoPickable.Main*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoPickable_Main" data-uid="Sample.Disp.DemoPickable.Main">
|
||||
Main()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Entry point for the DemoPickable example.
|
||||
Creates and displays a pickable triangle that can respond to mouse events.
|
||||
Demonstrates integration of picking functionality with geometric primitives.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">[STAThread]
|
||||
public static void Main()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,314 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoSatellite | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoSatellite | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates a simple solar system animation using interface. Shows how to create a hierarchical transform structure with sun, earth and moon using matrices and model matrix stack transformations.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Disp.DemoSatellite">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Disp_DemoSatellite" data-uid="Sample.Disp.DemoSatellite" class="text-break">
|
||||
Class DemoSatellite
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.Wpf.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates a simple solar system animation using <a class="xref" href="../../api/Hi.Disp.IDisplayee.html">IDisplayee</a> interface.
|
||||
Shows how to create a hierarchical transform structure with sun, earth and moon using
|
||||
<a class="xref" href="../../api/Hi.Geom.Mat4d.html">Mat4d</a> matrices and model matrix stack transformations.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public class DemoSatellite : IDisplayee, IExpandToBox3d</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoSatellite</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl class="typelist implements">
|
||||
<dt>Implements</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="../../api/Hi.Disp.IDisplayee.html">IDisplayee</a></div>
|
||||
<div><a class="xref" href="../../api/Hi.Geom.IExpandToBox3d.html">IExpandToBox3d</a></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Disp_DemoSatellite_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Geom;
|
||||
using Hi.Disp;
|
||||
|
||||
namespace Sample.Disp
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates a simple solar system animation using <see cref="IDisplayee"/> interface.
|
||||
/// Shows how to create a hierarchical transform structure with sun, earth and moon using
|
||||
/// <see cref="Mat4d"/> matrices and model matrix stack transformations.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Disp/DemoSatellite.cs)]
|
||||
/// </remarks>
|
||||
public class DemoSatellite : IDisplayee
|
||||
{
|
||||
Drawing sun;
|
||||
Drawing earth;
|
||||
Drawing moon;
|
||||
double angle_earth;
|
||||
double angle_moon;
|
||||
DemoSatellite()
|
||||
{
|
||||
sun = Box3d.CenterUnitBox.ScaleFromCenter(4).ToDraw_Face();
|
||||
earth = Box3d.CenterUnitBox.ScaleFromCenter(2).ToDraw_Face();
|
||||
moon = Box3d.CenterUnitBox.ToDraw_Face();
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public void Display(Bind bind)
|
||||
{
|
||||
sun.Display(bind);
|
||||
bind.ModelMatStack.Push();
|
||||
bind.ModelMatStack.Mul(new Mat4d(new AxisAngle4d(new Vec3d(0, 0, 1), angle_earth += 0.03)));
|
||||
bind.ModelMatStack.Mul(new Mat4d(new Vec3d(12, 0, 0)));
|
||||
earth.Display(bind);
|
||||
bind.ModelMatStack.Push();
|
||||
bind.ModelMatStack.Mul(new Mat4d(new AxisAngle4d(new Vec3d(0, 0, 1), angle_moon += 0.02)));
|
||||
bind.ModelMatStack.Mul(new Mat4d(new Vec3d(4, 0, 0)));
|
||||
moon.Display(bind);
|
||||
bind.ModelMatStack.Pop();
|
||||
bind.ModelMatStack.Pop();
|
||||
}
|
||||
/// <inheritdoc/>
|
||||
public void ExpandToBox3d(Box3d dst)
|
||||
{
|
||||
dst.Expand(new Vec3d(-14, -14, -2));
|
||||
dst.Expand(new Vec3d(14, 14, 2));
|
||||
}
|
||||
|
||||
static void Main()
|
||||
{
|
||||
DemoUtil.RunApplication("DemoSatellite", new DemoSatellite());
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoSatellite_Display_" data-uid="Sample.Disp.DemoSatellite.Display*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoSatellite_Display_Hi_Disp_Bind_" data-uid="Sample.Disp.DemoSatellite.Display(Hi.Disp.Bind)">
|
||||
Display(Bind)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Display function called in <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a> rendering loop.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Display(Bind bind)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>bind</code> <a class="xref" href="../../api/Hi.Disp.Bind.html">Bind</a></dt>
|
||||
<dd><p>Bind with <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a>. See <a class="xref" href="../../api/Hi.Disp.Bind.html">Bind</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoSatellite_ExpandToBox3d_" data-uid="Sample.Disp.DemoSatellite.ExpandToBox3d*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoSatellite_ExpandToBox3d_Hi_Geom_Box3d_" data-uid="Sample.Disp.DemoSatellite.ExpandToBox3d(Hi.Geom.Box3d)">
|
||||
ExpandToBox3d(Box3d)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Expands the destination box.
|
||||
This function is usually used to compute the bounding box of elements.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void ExpandToBox3d(Box3d dst)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>dst</code> <a class="xref" href="../../api/Hi.Geom.Box3d.html">Box3d</a></dt>
|
||||
<dd><p>Destination box</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,233 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoStl | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoStl | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates the loading, manipulation, and display of STL (stereolithography) files in HiAPI. Shows operations like loading STL data, transforming geometries, and basic visualization.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Disp.DemoStl">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Disp_DemoStl" data-uid="Sample.Disp.DemoStl" class="text-break">
|
||||
Class DemoStl
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.Wpf.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates the loading, manipulation, and display of STL (stereolithography) files in HiAPI.
|
||||
Shows operations like loading STL data, transforming geometries, and basic visualization.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoStl</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoStl</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Disp_DemoStl_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Geom;
|
||||
using System;
|
||||
using Hi.Disp;
|
||||
|
||||
namespace Sample.Disp
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates the loading, manipulation, and display of STL (stereolithography) files in HiAPI.
|
||||
/// Shows operations like loading STL data, transforming geometries, and basic visualization.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Disp/DemoStl.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoStl
|
||||
{
|
||||
internal static void TransformStl()
|
||||
{
|
||||
#region DocSite.TransformStl
|
||||
Stl stl;
|
||||
|
||||
stl = new Stl("Demo/cubic.stl");
|
||||
//scale the stl to 100x.
|
||||
stl.Transform(new Mat4d(100));
|
||||
//create a new stl file.
|
||||
stl.WriteBin("big_cubic.stl");
|
||||
|
||||
stl = new Stl("Demo/cubic.stl");
|
||||
//move the stl by (100,0,0)
|
||||
stl.Transform(new Mat4d(new Vec3d(100, 0, 0)));
|
||||
//create a new stl file.
|
||||
stl.WriteBin("offset_x100_cubic.stl");
|
||||
#endregion
|
||||
}
|
||||
|
||||
internal static void DemoCommonUsage()
|
||||
{
|
||||
#region DocSite.CommonUsage
|
||||
Stl stl = new Stl("Disp/cubic.stl");
|
||||
Box3d bouindingbox = new Box3d(stl);
|
||||
Console.WriteLine("bouindingbox.Min: " + bouindingbox.Min);
|
||||
Console.WriteLine("bouindingbox.Max: " + bouindingbox.Max);
|
||||
Console.WriteLine("bouindingbox.Center: " + bouindingbox.Center);
|
||||
DispUtil.CallRenderingFrame("DemoForm", stl.ToFaceDrawing());
|
||||
#endregion
|
||||
}
|
||||
|
||||
static void Main()
|
||||
{
|
||||
DemoCommonUsage();
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,267 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoUtil | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoUtil | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Provides utility functions for running HiAPI display examples in a WPF environment. Contains helper methods that simplify the setup and execution of WPF applications with HiAPI rendering. Handles common initialization and cleanup tasks for visualization examples.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Disp.DemoUtil">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Disp_DemoUtil" data-uid="Sample.Disp.DemoUtil" class="text-break">
|
||||
Class DemoUtil
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.Wpf.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Provides utility functions for running HiAPI display examples in a WPF environment.
|
||||
Contains helper methods that simplify the setup and execution of WPF applications with HiAPI rendering.
|
||||
Handles common initialization and cleanup tasks for visualization examples.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoUtil</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoUtil</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Disp_DemoUtil_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Disp;
|
||||
using Hi.Licenses;
|
||||
using Hi.MongoUtils;
|
||||
using Hi.Wpf.Disp;
|
||||
using System.Windows;
|
||||
|
||||
namespace Sample.Disp
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides utility functions for running HiAPI display examples in a WPF environment.
|
||||
/// Contains helper methods that simplify the setup and execution of WPF applications with HiAPI rendering.
|
||||
/// Handles common initialization and cleanup tasks for visualization examples.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Disp/DemoUtil.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoUtil
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates and runs a WPF application with a RenderingWindow to display 3D content.
|
||||
/// Handles proper initialization and cleanup of HiAPI resources including MongoDB server,
|
||||
/// display engine, and licensing.
|
||||
/// </summary>
|
||||
/// <param name="title">The title for the application window</param>
|
||||
/// <param name="displayee">The object that implements IDisplayee to be rendered</param>
|
||||
public static void RunApplication(string title, IDisplayee displayee)
|
||||
{
|
||||
Application app = new Application();
|
||||
app.Exit += (o, e) =>
|
||||
{
|
||||
if(MongoServer.IsDefaultInit)
|
||||
MongoServer.Default.Dispose();
|
||||
DispEngine.FinishDisp();
|
||||
License.LogOutAll();
|
||||
};
|
||||
app.Run(new RenderingWindow()
|
||||
{
|
||||
Title = title,
|
||||
Displayee = displayee
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_Disp_DemoUtil_RunApplication_" data-uid="Sample.Disp.DemoUtil.RunApplication*"></a>
|
||||
|
||||
<h3 id="Sample_Disp_DemoUtil_RunApplication_System_String_Hi_Disp_IDisplayee_" data-uid="Sample.Disp.DemoUtil.RunApplication(System.String,Hi.Disp.IDisplayee)">
|
||||
RunApplication(string, IDisplayee)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Creates and runs a WPF application with a RenderingWindow to display 3D content.
|
||||
Handles proper initialization and cleanup of HiAPI resources including MongoDB server,
|
||||
display engine, and licensing.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static void RunApplication(string title, IDisplayee displayee)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>title</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>The title for the application window</p>
|
||||
</dd>
|
||||
<dt><code>displayee</code> <a class="xref" href="../../api/Hi.Disp.IDisplayee.html">IDisplayee</a></dt>
|
||||
<dd><p>The object that implements IDisplayee to be rendered</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,184 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Namespace Sample.Disp | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Namespace Sample.Disp | 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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Disp">
|
||||
|
||||
<h1 id="Sample_Disp" data-uid="Sample.Disp" class="text-break">Namespace Sample.Disp</h1>
|
||||
<div class="markdown level0 summary"></div>
|
||||
<div class="markdown level0 conceptual"></div>
|
||||
<div class="markdown level0 remarks"></div>
|
||||
|
||||
<h3 id="classes">
|
||||
Classes
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Disp.DemoCylindroid.html">DemoCylindroid</a></dt>
|
||||
<dd><p>Demonstrates the creation and visualization of <a class="xref" href="../../api/Hi.Geom.Cylindroid.html">Cylindroid</a> objects.
|
||||
Includes examples of building a <a class="xref" href="../../api/Hi.Geom.Cylindroid.html">Cylindroid</a> programmatically with
|
||||
<a class="xref" href="../../api/Hi.Geom.PairZr.html">PairZr</a> points and serializing/deserializing via XML.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Disp.DemoDiscreteRgb.html">DemoDiscreteRgb</a></dt>
|
||||
<dd><p>Demonstrates the use of discrete RGB colors for rendering multiple objects.
|
||||
Shows how to apply different colors to similar geometric shapes using the
|
||||
<a class="xref" href="../../api/Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetDiscreteRGB_Env_System_Double_System_Double_">GetDiscreteRGB_Env(double, double)</a> method from <a class="xref" href="../../api/Hi.Coloring.ColorUtil.html">ColorUtil</a> class.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Disp.DemoDrawing.html">DemoDrawing</a></dt>
|
||||
<dd><p>Demonstrates various drawing techniques using the HiAPI graphics system.
|
||||
Provides examples of primitive drawing, attribute specification, and rendering options.
|
||||
Includes methods for drawing lines, points, triangles, and other geometric primitives.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Disp.DemoPick1.html">DemoPick1</a></dt>
|
||||
<dd><p>Demonstrates basic object picking with mouse interaction in the HiAPI system.
|
||||
Shows how to create a pickable 3D object that responds to mouse events by changing its appearance.
|
||||
Implements the Pickable base class to enable mouse event handling.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Disp.DemoPick2.html">DemoPick2</a></dt>
|
||||
<dd><p>Demonstrates advanced object picking with multiple pickable objects.
|
||||
Shows how to create and manage multiple pickable objects with different visual appearances.
|
||||
Implements proper resource cleanup through the IDisposable interface.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Disp.DemoPickable.html">DemoPickable</a></dt>
|
||||
<dd><p>Demonstrates creation of pickable 3D geometry at the primitive level.
|
||||
Shows how to assign picking IDs directly to geometry vertices and create interactive triangles.
|
||||
Uses a lower-level approach than the Pickable base class for more precise control.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Disp.DemoSatellite.html">DemoSatellite</a></dt>
|
||||
<dd><p>Demonstrates a simple solar system animation using <a class="xref" href="../../api/Hi.Disp.IDisplayee.html">IDisplayee</a> interface.
|
||||
Shows how to create a hierarchical transform structure with sun, earth and moon using
|
||||
<a class="xref" href="../../api/Hi.Geom.Mat4d.html">Mat4d</a> matrices and model matrix stack transformations.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Disp.DemoStl.html">DemoStl</a></dt>
|
||||
<dd><p>Demonstrates the loading, manipulation, and display of STL (stereolithography) files in HiAPI.
|
||||
Shows operations like loading STL data, transforming geometries, and basic visualization.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Disp.DemoUtil.html">DemoUtil</a></dt>
|
||||
<dd><p>Provides utility functions for running HiAPI display examples in a WPF environment.
|
||||
Contains helper methods that simplify the setup and execution of WPF applications with HiAPI rendering.
|
||||
Handles common initialization and cleanup tasks for visualization examples.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,260 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoBuildGeom | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoBuildGeom | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates the creation and manipulation of geometric objects in HiAPI. Shows how to create and transform various geometry types including boxes, cylindroids, and STL files.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Geom.DemoBuildGeom">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Geom_DemoBuildGeom" data-uid="Sample.Geom.DemoBuildGeom" class="text-break">
|
||||
Class DemoBuildGeom
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Geom.html">Geom</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates the creation and manipulation of geometric objects in HiAPI.
|
||||
Shows how to create and transform various geometry types including boxes, cylindroids, and STL files.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoBuildGeom</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoBuildGeom</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Geom_DemoBuildGeom_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using System.Collections.Generic;
|
||||
using Hi.Geom;
|
||||
using Hi.Mech.Topo;
|
||||
|
||||
namespace Sample.Geom
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates the creation and manipulation of geometric objects in HiAPI.
|
||||
/// Shows how to create and transform various geometry types including boxes, cylindroids, and STL files.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Geom/DemoBuildGeom.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoBuildGeom
|
||||
{
|
||||
/// <summary>
|
||||
/// Generates a collection of geometric objects for demonstration purposes.
|
||||
/// Creates various geometry types including boxes, cylindroids, STL files, and transformed geometries.
|
||||
/// </summary>
|
||||
/// <returns>A list of geometries implementing the IGetStl interface</returns>
|
||||
public static List<IGetStl> GenGeoms()
|
||||
{
|
||||
Box3d box = new Box3d(0, 0, -50, 70, 50, 0);
|
||||
Cylindroid cylindroid = new Cylindroid()
|
||||
{
|
||||
PairZrs = new List<PairZr>([ new PairZr(0,12),new PairZr(20,12),
|
||||
new PairZr(20,16),new PairZr(30,16)]),
|
||||
LongitudeNum = 30
|
||||
};
|
||||
Stl stl = new Stl("geom.stl");
|
||||
TransformationGeom transformationGeom = new TransformationGeom()
|
||||
{
|
||||
Transformer = new GeneralTransform(1,
|
||||
new StaticRotation(new Vec3d(0, 0, 1), MathUtil.ToRad(15), new Vec3d(0, 0, 0)),
|
||||
new StaticTranslation(new Vec3d(0, 0, 0))),
|
||||
Geom = stl
|
||||
};
|
||||
return new List<IGetStl>([box, cylindroid, stl, transformationGeom]);
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_Geom_DemoBuildGeom_GenGeoms_" data-uid="Sample.Geom.DemoBuildGeom.GenGeoms*"></a>
|
||||
|
||||
<h3 id="Sample_Geom_DemoBuildGeom_GenGeoms" data-uid="Sample.Geom.DemoBuildGeom.GenGeoms">
|
||||
GenGeoms()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Generates a collection of geometric objects for demonstration purposes.
|
||||
Creates various geometry types including boxes, cylindroids, STL files, and transformed geometries.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static List<IGetStl> GenGeoms()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
<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><<a class="xref" href="../../api/Hi.Geom.IGetStl.html">IGetStl</a>></dt>
|
||||
<dd><p>A list of geometries implementing the IGetStl interface</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,208 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoIExpandToBox3d | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoIExpandToBox3d | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates how to create and calculate bounding boxes for different geometric objects. Shows the use of Box3d to encompass multiple geometric elements with a single boundary.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Geom.DemoIExpandToBox3d">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Geom_DemoIExpandToBox3d" data-uid="Sample.Geom.DemoIExpandToBox3d" class="text-break">
|
||||
Class DemoIExpandToBox3d
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Geom.html">Geom</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates how to create and calculate bounding boxes for different geometric objects.
|
||||
Shows the use of Box3d to encompass multiple geometric elements with a single boundary.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoIExpandToBox3d</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoIExpandToBox3d</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Geom_DemoIExpandToBox3d_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Geom;
|
||||
using System;
|
||||
|
||||
namespace Sample.Geom
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates how to create and calculate bounding boxes for different geometric objects.
|
||||
/// Shows the use of Box3d to encompass multiple geometric elements with a single boundary.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Geom/DemoIExpandToBox3d.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoIExpandToBox3d
|
||||
{
|
||||
static void Main()
|
||||
{
|
||||
#region DocSite.CountBoundingBox
|
||||
Box3d objA = new Box3d(0, 0, 0, 1, 1, 1);
|
||||
Box3d objB = new Box3d(-1, -2, -3, 3, 2, 1);
|
||||
Vec3d objC = new Vec3d(-2, 3, -5);
|
||||
|
||||
Box3d boundingbox = new Box3d(objA, objB, objC);
|
||||
Console.WriteLine("boundingbox: " + boundingbox);
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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>Namespace Sample.Geom | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Namespace Sample.Geom | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="The Sample.Geom namespace provides examples for using the API to create and manipulate geometric objects. This namespace demonstrates how to create basic geometric shapes (like and ), apply transformations with , and work with files. These examples serve as practical reference code for developers who need to understand the basic usage of HiAPI's geometry module.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Geom">
|
||||
|
||||
<h1 id="Sample_Geom" data-uid="Sample.Geom" class="text-break">Namespace Sample.Geom</h1>
|
||||
<div class="markdown level0 summary"><p>The Sample.Geom namespace provides examples for using the <a class="xref" href="../../api/Hi.Geom.html">Hi.Geom</a> API to create and manipulate geometric objects. This namespace demonstrates how to create basic geometric shapes (like <a class="xref" href="../../api/Hi.Geom.Box3d.html">Box3d</a> and <a class="xref" href="../../api/Hi.Geom.Cylindroid.html">Cylindroid</a>), apply transformations with <a class="xref" href="../../api/Hi.Geom.TransformationGeom.html">TransformationGeom</a>, and work with <a class="xref" href="../../api/Hi.Geom.Stl.html">Stl</a> files. These examples serve as practical reference code for developers who need to understand the basic usage of HiAPI's geometry module.</p>
|
||||
</div>
|
||||
<div class="markdown level0 conceptual"></div>
|
||||
<div class="markdown level0 remarks"></div>
|
||||
|
||||
<h3 id="classes">
|
||||
Classes
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Geom.DemoBuildGeom.html">DemoBuildGeom</a></dt>
|
||||
<dd><p>Demonstrates the creation and manipulation of geometric objects in HiAPI.
|
||||
Shows how to create and transform various geometry types including boxes, cylindroids, and STL files.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Geom.DemoIExpandToBox3d.html">DemoIExpandToBox3d</a></dt>
|
||||
<dd><p>Demonstrates how to create and calculate bounding boxes for different geometric objects.
|
||||
Shows the use of Box3d to encompass multiple geometric elements with a single boundary.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,222 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class HelloHiAPI | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class HelloHiAPI | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="A sample class demonstrating initialization and usage of the HiAPI framework. Shows the basic setup of display engine, MongoDB server, licensing, and other core functionality.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.HelloHiAPI">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_HelloHiAPI" data-uid="Sample.HelloHiAPI" class="text-break">
|
||||
Class HelloHiAPI
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>A sample class demonstrating initialization and usage of the HiAPI framework.
|
||||
Shows the basic setup of display engine, MongoDB server, licensing, and other core functionality.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class HelloHiAPI</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">HelloHiAPI</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_HelloHiAPI_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><p>This example serves as an entry point for those getting started with HiAPI.
|
||||
It demonstrates proper initialization and teardown of key components.</p>
|
||||
<h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Disp;
|
||||
using Hi.Licenses;
|
||||
using Hi.MongoUtils;
|
||||
using System;
|
||||
|
||||
namespace Sample
|
||||
{
|
||||
/// <summary>
|
||||
/// A sample class demonstrating initialization and usage of the HiAPI framework.
|
||||
/// Shows the basic setup of display engine, MongoDB server, licensing, and other core functionality.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This example serves as an entry point for those getting started with HiAPI.
|
||||
/// It demonstrates proper initialization and teardown of key components.
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/HelloHiAPI.cs)]
|
||||
/// </remarks>
|
||||
public static class HelloHiAPI
|
||||
{
|
||||
static int Main(string[] args)
|
||||
{
|
||||
Console.WriteLine("HiAPI starting.");
|
||||
License.LogInAll();
|
||||
DispEngine.Init();
|
||||
MongoServer.Default = MongoServer.Run(new MongoRunnerOptions()
|
||||
{
|
||||
MongoPort = 28100
|
||||
});
|
||||
|
||||
Console.WriteLine("Hello World! HiAPI.");
|
||||
|
||||
MongoServer.Default.Dispose();
|
||||
DispEngine.FinishDisp();
|
||||
License.LogOutAll();
|
||||
Console.WriteLine("HiAPI exited.");
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,500 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoBuildMachineTool | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoBuildMachineTool | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Provides access to the PMC-B1 machine tool model.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.MachineTool.DemoBuildMachineTool">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_MachineTool_DemoBuildMachineTool" data-uid="Sample.MachineTool.DemoBuildMachineTool" class="text-break">
|
||||
Class DemoBuildMachineTool
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.MachineTool.html">MachineTool</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Provides access to the PMC-B1 machine tool model.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public class DemoBuildMachineTool : IGetCodeXyzabcMachineTool</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoBuildMachineTool</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl class="typelist implements">
|
||||
<dt>Implements</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="../../api/Hi.NcMech.Xyzabc.IGetCodeXyzabcMachineTool.html">IGetCodeXyzabcMachineTool</a></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_MachineTool_DemoBuildMachineTool_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Common.XmlUtils;
|
||||
using Hi.Geom;
|
||||
using Hi.Mech;
|
||||
using Hi.Mech.Topo;
|
||||
using Hi.NcMech;
|
||||
using Hi.NcMech.Solids;
|
||||
using Hi.NcMech.Xyzabc;
|
||||
using Hi.Numerical.Xyzabc;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace Sample.MachineTool
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides access to the PMC-B1 machine tool model.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/MachineTool/DemoBuildMachineTool.cs)]
|
||||
/// </remarks>
|
||||
public class DemoBuildMachineTool : IGetCodeXyzabcMachineTool
|
||||
{
|
||||
static DemoBuildMachineTool()
|
||||
{
|
||||
XFactory.Regs.Add(XName, (xml, baseDirectory, relFile, res) => new DemoBuildMachineTool());
|
||||
}
|
||||
/// <summary>
|
||||
/// Generates an XYZ-ABC machine tool instance from embedded resources.
|
||||
/// </summary>
|
||||
/// <returns>A configured machine tool model.</returns>
|
||||
public static CodeXyzabcMachineTool GenXyzabcMachineTool()
|
||||
{
|
||||
CodeXyzabcChain chain = new CodeXyzabcChain("[O][Y][X][C][w];[O][Z][B][S][t]");
|
||||
if (chain.ToolBuckleTransformer is StaticTranslation st)
|
||||
st.Trans = new Vec3d(-72.40, 72.40, 176.44);
|
||||
chain.TransformerB.Pivot = new Vec3d(-72.4, -177.4, 225.94);
|
||||
Dictionary<string, Solid> solidMap = new Dictionary<string, Solid>()
|
||||
{
|
||||
["O"] = new Solid(new Stl("MachineTool/base.stl")),
|
||||
["X"] = new Solid(new Stl("MachineTool/X.stl")),
|
||||
["Y"] = new Solid(new Stl("MachineTool/Y.stl")),
|
||||
["Z"] = new Solid(new Stl("MachineTool/Z.stl")),
|
||||
["B"] = new Solid(new Stl("MachineTool/B.stl")),
|
||||
["C"] = new Solid(new Stl("MachineTool/C.stl")),
|
||||
["S"] = new Solid(new Stl("MachineTool/spindle.stl")),
|
||||
};
|
||||
chain.AnchorToSolid.BuildAnchorToSolid(
|
||||
chain.Asmb.GetDescendantAnchors(), solidMap);
|
||||
|
||||
CodeXyzabcMachineTool dst = new CodeXyzabcMachineTool(chain);
|
||||
dst.GenerateCollisionIndexPairs();
|
||||
return dst;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The cached machine tool instance.
|
||||
/// </summary>
|
||||
CodeXyzabcMachineTool MachineTool { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Default constructor that initializes the machine tool model.
|
||||
/// </summary>
|
||||
public DemoBuildMachineTool()
|
||||
{
|
||||
MachineTool = GenXyzabcMachineTool();
|
||||
}
|
||||
#region XML IO
|
||||
//public PmcB1MachineToolSource(XElement src, object res) : this() { }
|
||||
/// <summary>
|
||||
/// XML element name for serialization.
|
||||
/// </summary>
|
||||
public static string XName = nameof(DemoBuildMachineTool);
|
||||
/// <inheritdoc/>
|
||||
public XElement ToXElement() => new XElement(XName);
|
||||
#endregion
|
||||
/// <inheritdoc/>
|
||||
public CodeXyzabcMachineTool GetXyzabcMachineTool() => MachineTool;
|
||||
/// <inheritdoc/>
|
||||
public IMachiningChain GetMachiningChain() => MachineTool;
|
||||
/// <inheritdoc/>
|
||||
public ISolidMachiningChain GetSolidMachiningChain() => MachineTool;
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
<h2 class="section" id="constructors">Constructors
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_MachineTool_DemoBuildMachineTool__ctor_" data-uid="Sample.MachineTool.DemoBuildMachineTool.#ctor*"></a>
|
||||
|
||||
<h3 id="Sample_MachineTool_DemoBuildMachineTool__ctor" data-uid="Sample.MachineTool.DemoBuildMachineTool.#ctor">
|
||||
DemoBuildMachineTool()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Default constructor that initializes the machine tool model.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public DemoBuildMachineTool()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 class="section" id="fields">Fields
|
||||
</h2>
|
||||
|
||||
|
||||
|
||||
<h3 id="Sample_MachineTool_DemoBuildMachineTool_XName" data-uid="Sample.MachineTool.DemoBuildMachineTool.XName">
|
||||
XName
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>XML element name for serialization.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static string XName</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="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_MachineTool_DemoBuildMachineTool_GenXyzabcMachineTool_" data-uid="Sample.MachineTool.DemoBuildMachineTool.GenXyzabcMachineTool*"></a>
|
||||
|
||||
<h3 id="Sample_MachineTool_DemoBuildMachineTool_GenXyzabcMachineTool" data-uid="Sample.MachineTool.DemoBuildMachineTool.GenXyzabcMachineTool">
|
||||
GenXyzabcMachineTool()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Generates an XYZ-ABC machine tool instance from embedded resources.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static CodeXyzabcMachineTool GenXyzabcMachineTool()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
<h4 class="section">Returns</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="../../api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html">CodeXyzabcMachineTool</a></dt>
|
||||
<dd><p>A configured machine tool model.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_MachineTool_DemoBuildMachineTool_GetMachiningChain_" data-uid="Sample.MachineTool.DemoBuildMachineTool.GetMachiningChain*"></a>
|
||||
|
||||
<h3 id="Sample_MachineTool_DemoBuildMachineTool_GetMachiningChain" data-uid="Sample.MachineTool.DemoBuildMachineTool.GetMachiningChain">
|
||||
GetMachiningChain()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"></div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public IMachiningChain GetMachiningChain()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
<h4 class="section">Returns</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="../../api/Hi.Mech.IMachiningChain.html">IMachiningChain</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_MachineTool_DemoBuildMachineTool_GetSolidMachiningChain_" data-uid="Sample.MachineTool.DemoBuildMachineTool.GetSolidMachiningChain*"></a>
|
||||
|
||||
<h3 id="Sample_MachineTool_DemoBuildMachineTool_GetSolidMachiningChain" data-uid="Sample.MachineTool.DemoBuildMachineTool.GetSolidMachiningChain">
|
||||
GetSolidMachiningChain()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"></div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public ISolidMachiningChain GetSolidMachiningChain()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
<h4 class="section">Returns</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="../../api/Hi.NcMech.ISolidMachiningChain.html">ISolidMachiningChain</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_MachineTool_DemoBuildMachineTool_GetXyzabcMachineTool_" data-uid="Sample.MachineTool.DemoBuildMachineTool.GetXyzabcMachineTool*"></a>
|
||||
|
||||
<h3 id="Sample_MachineTool_DemoBuildMachineTool_GetXyzabcMachineTool" data-uid="Sample.MachineTool.DemoBuildMachineTool.GetXyzabcMachineTool">
|
||||
GetXyzabcMachineTool()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Get <a class="xref" href="../../api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html">CodeXyzabcMachineTool</a>.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public CodeXyzabcMachineTool GetXyzabcMachineTool()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
<h4 class="section">Returns</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="../../api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html">CodeXyzabcMachineTool</a></dt>
|
||||
<dd><p>Machine tool.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Sample_MachineTool_DemoBuildMachineTool_ToXElement_" data-uid="Sample.MachineTool.DemoBuildMachineTool.ToXElement*"></a>
|
||||
|
||||
<h3 id="Sample_MachineTool_DemoBuildMachineTool_ToXElement" data-uid="Sample.MachineTool.DemoBuildMachineTool.ToXElement">
|
||||
ToXElement()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"></div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public XElement ToXElement()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
<h4 class="section">Returns</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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>
|
||||
+246
@@ -0,0 +1,246 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoBuildMachineToolWithoutGeometrys | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoBuildMachineToolWithoutGeometrys | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demo Build Machine Tool without gemetries setting.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_MachineTool_DemoBuildMachineToolWithoutGeometrys" data-uid="Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys" class="text-break">
|
||||
Class DemoBuildMachineToolWithoutGeometrys
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.MachineTool.html">MachineTool</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demo Build Machine Tool without gemetries setting.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoBuildMachineToolWithoutGeometrys</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoBuildMachineToolWithoutGeometrys</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_MachineTool_DemoBuildMachineToolWithoutGeometrys_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Geom;
|
||||
using Hi.Mech.Topo;
|
||||
using Hi.NcMech.Xyzabc;
|
||||
using Hi.Numerical.Xyzabc;
|
||||
|
||||
namespace Sample.MachineTool
|
||||
{
|
||||
/// <summary>
|
||||
/// Demo Build Machine Tool without gemetries setting.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/MachineTool/DemoBuildMachineToolWithoutGeometrys.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoBuildMachineToolWithoutGeometrys
|
||||
{
|
||||
/// <summary>
|
||||
/// Generates an empty machine tool with basic configuration.
|
||||
/// </summary>
|
||||
/// <returns>A configured but empty machine tool without solids.</returns>
|
||||
public static CodeXyzabcMachineTool GenEmptyMachineTool()
|
||||
{
|
||||
CodeXyzabcChain chain = new CodeXyzabcChain("[O][C][w];[O][X][Y][Z][B][S][t]");
|
||||
if (chain.ToolBuckleTransformer is StaticTranslation st)
|
||||
st.Trans = new Vec3d(-200, 200, 400);
|
||||
CodeXyzabcMachineTool xyzabcMachineTool = new CodeXyzabcMachineTool(chain);
|
||||
return xyzabcMachineTool;
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Sample_MachineTool_DemoBuildMachineToolWithoutGeometrys_GenEmptyMachineTool_" data-uid="Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys.GenEmptyMachineTool*"></a>
|
||||
|
||||
<h3 id="Sample_MachineTool_DemoBuildMachineToolWithoutGeometrys_GenEmptyMachineTool" data-uid="Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys.GenEmptyMachineTool">
|
||||
GenEmptyMachineTool()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Generates an empty machine tool with basic configuration.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static CodeXyzabcMachineTool GenEmptyMachineTool()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
<h4 class="section">Returns</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="../../api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html">CodeXyzabcMachineTool</a></dt>
|
||||
<dd><p>A configured but empty machine tool without solids.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,133 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Namespace Sample.MachineTool | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Namespace Sample.MachineTool | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="The Sample.MachineTool namespace provides examples for creating and configuring machine tool models using the API for CNC verification and simulation. This namespace contains complete examples for building XYZ-ABC type machine tools, including coordinate chain definition, geometry loading, and collision detection configuration. These examples demonstrate how to load machine components from STL files, configure kinematic chains, and integrate machine models for verification systems, offering a comprehensive guide for developers building custom machine tool configurations for accurate CNC simulation and verification.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.MachineTool">
|
||||
|
||||
<h1 id="Sample_MachineTool" data-uid="Sample.MachineTool" class="text-break">Namespace Sample.MachineTool</h1>
|
||||
<div class="markdown level0 summary"><p>The Sample.MachineTool namespace provides examples for creating and configuring machine tool models using the <a class="xref" href="../../api/Hi.NcMech.Xyzabc.html">Hi.NcMech.Xyzabc</a> API for CNC verification and simulation. This namespace contains complete examples for building XYZ-ABC type machine tools, including coordinate chain definition, geometry loading, and collision detection configuration. These examples demonstrate how to load machine components from STL files, configure kinematic chains, and integrate machine models for verification systems, offering a comprehensive guide for developers building custom machine tool configurations for accurate CNC simulation and verification.</p>
|
||||
</div>
|
||||
<div class="markdown level0 conceptual"></div>
|
||||
<div class="markdown level0 remarks"></div>
|
||||
|
||||
<h3 id="classes">
|
||||
Classes
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.MachineTool.DemoBuildMachineTool.html">DemoBuildMachineTool</a></dt>
|
||||
<dd><p>Provides access to the PMC-B1 machine tool model.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys.html">DemoBuildMachineToolWithoutGeometrys</a></dt>
|
||||
<dd><p>Demo Build Machine Tool without gemetries setting.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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>
|
||||
+408
@@ -0,0 +1,408 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoBuildMachiningProject | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoBuildMachiningProject | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates how to create and configure a programmatically. This sample shows how to set up , , , , , and save the project configuration to a file.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Machining.DemoBuildMachiningProject">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Machining_DemoBuildMachiningProject" data-uid="Sample.Machining.DemoBuildMachiningProject" class="text-break">
|
||||
Class DemoBuildMachiningProject
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Machining.html">Machining</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates how to create and configure a <a class="xref" href="../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a> programmatically.
|
||||
This sample shows how to set up <a class="xref" href="../../api/Hi.Milling.Cutters.MillingCutter.html">MillingCutter</a>, <a class="xref" href="../../api/Hi.NcMech.Holders.CylindroidHolder.html">CylindroidHolder</a>,
|
||||
<a class="xref" href="../../api/Hi.MillingMech.MillingTools.StickMachiningTool.html">StickMachiningTool</a>, <a class="xref" href="../../api/Hi.NcMech.Fixtures.Fixture.html">Fixture</a>, <a class="xref" href="../../api/Hi.NcMech.Workpieces.Workpiece.html">Workpiece</a>,
|
||||
and save the project configuration to a file.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoBuildMachiningProject</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoBuildMachiningProject</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Machining_DemoBuildMachiningProject_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using System;
|
||||
using System.Collections.Generic;
|
||||
using Hi.Milling.Apts;
|
||||
using Hi.Common.XmlUtils;
|
||||
using Hi.Geom;
|
||||
using Hi.Machining;
|
||||
using Hi.Mech.Topo;
|
||||
using Hi.Milling.Cutters;
|
||||
using Hi.Milling.FluteContours;
|
||||
using Hi.MillingForces.Fittings;
|
||||
using Hi.MillingMech.MillingTools;
|
||||
using Hi.NcMech.Fixtures;
|
||||
using Hi.NcMech.Holders;
|
||||
using Hi.NcMech.Workpieces;
|
||||
using Hi.NcMech.Xyzabc;
|
||||
using Hi.NcOpt;
|
||||
using Hi.Physics;
|
||||
using Hi.MongoUtils;
|
||||
using Hi.Licenses;
|
||||
using Hi.MachiningProcs;
|
||||
using System.IO;
|
||||
|
||||
namespace Sample.Machining
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates how to create and configure a <see cref="MachiningProject"/> programmatically.
|
||||
/// This sample shows how to set up <see cref="MillingCutter"/>, <see cref="CylindroidHolder"/>,
|
||||
/// <see cref="StickMachiningTool"/>, <see cref="Fixture"/>, <see cref="Workpiece"/>,
|
||||
/// and save the project configuration to a file.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Machining/DemoBuildMachiningProject.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoBuildMachiningProject
|
||||
{
|
||||
#region CreateMillingCutter1
|
||||
private static MillingCutter CreateMillingCutter1()
|
||||
{
|
||||
MillingCutter millingCutter = new MillingCutter()
|
||||
{
|
||||
UpperBeamGeom = new TransformationGeom(),
|
||||
MillingCutterOptLimit = new MillingCutterOptLimit()
|
||||
};
|
||||
// since the following properties of MillingCutter has self-invoke,
|
||||
// they have to be seperated from the initializer syntex.
|
||||
|
||||
//build ShaperProfile property
|
||||
double diameter_mm = 12;
|
||||
double roundRadius_mm = 0.5;
|
||||
millingCutter.ShaperProfile = new AptProfile(millingCutter,
|
||||
new ColumnApt()
|
||||
{
|
||||
Diameter_mm = diameter_mm,
|
||||
Rc_mm = roundRadius_mm,
|
||||
FluteHeight_mm = 40
|
||||
});
|
||||
|
||||
//build FluteContourTray property
|
||||
double helixAngle_deg = 50;
|
||||
double radialRakeAngle_deg = 15;
|
||||
double bottomOuterRadius_mm = diameter_mm / 2 - roundRadius_mm;
|
||||
millingCutter.FluteContourTray = new UniformContourTray()
|
||||
{
|
||||
TrackNum = 3,
|
||||
BaselineOneContour = new FluteContour()
|
||||
{
|
||||
BaseSideContour = new ConstHelixSideContour(millingCutter)
|
||||
{
|
||||
Helix_deg = helixAngle_deg,
|
||||
RadialRakeAngle_deg = radialRakeAngle_deg
|
||||
},
|
||||
BaseBottomContour = new SlideBottomContour()
|
||||
{
|
||||
//In most case, helix angle from side equal to rake angle from bottom.
|
||||
AxialRakeAngle_deg = MathUtil.ToDeg(helixAngle_deg),
|
||||
DiskAngle_deg = 1.5,
|
||||
//In most case, rake angle from side equal to eccentric angle from bottom.
|
||||
EccentricAngle_deg = radialRakeAngle_deg,
|
||||
CutterLengthOnBottomProjection_mm = bottomOuterRadius_mm * 0.9,
|
||||
OuterRadius_mm = bottomOuterRadius_mm
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
millingCutter.InnerBeamProfile
|
||||
= new FluteDependentRatioProfile(millingCutter);
|
||||
|
||||
return millingCutter;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region CreateMillingCutter2
|
||||
private static MillingCutter CreateMillingCutter2()
|
||||
{
|
||||
MillingCutter millingCutter = new MillingCutter()
|
||||
{
|
||||
UpperBeamGeom = new TransformationGeom(),
|
||||
MillingCutterOptLimit = new MillingCutterOptLimit()
|
||||
};
|
||||
|
||||
//build ShaperProfile property
|
||||
double diameter_mm = 12;
|
||||
millingCutter.ShaperProfile = new AptProfile(millingCutter,
|
||||
new ColumnApt()
|
||||
{
|
||||
Diameter_mm = diameter_mm,
|
||||
FluteHeight_mm = 40
|
||||
});
|
||||
|
||||
//build FluteContourTray property
|
||||
double helixAngle_deg = 50;
|
||||
double radialRakeAngle_deg = 15;
|
||||
millingCutter.FluteContourTray = new UniformContourTray()
|
||||
{
|
||||
TrackNum = 3,
|
||||
BaselineOneContour = new FluteContour()
|
||||
{
|
||||
BaseSideContour = new ConstHelixSideContour(millingCutter)
|
||||
{
|
||||
Helix_deg = helixAngle_deg,
|
||||
RadialRakeAngle_deg = radialRakeAngle_deg
|
||||
},
|
||||
//since no bottom cut, set bottom contour to null.
|
||||
BaseBottomContour = null
|
||||
}
|
||||
};
|
||||
|
||||
millingCutter.InnerBeamProfile
|
||||
= new FluteDependentRatioProfile(millingCutter);
|
||||
|
||||
return millingCutter;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region TestMethod
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Console.WriteLine($"License Login.");
|
||||
License.LogInAll();
|
||||
|
||||
Console.WriteLine($"Start Database.");
|
||||
MongoServer.Default = MongoServer.Run(new MongoRunnerOptions()
|
||||
{
|
||||
MongoPort = 28100
|
||||
});
|
||||
|
||||
var projectPath = "C:/HiNC-Projects/NewProject/Main.hincproj";
|
||||
var projectDirectory = Path.GetDirectoryName(projectPath);
|
||||
Console.WriteLine($"Directory of the New Project: {projectDirectory}");
|
||||
MachiningProject machiningProject = new MachiningProject(projectDirectory);
|
||||
|
||||
#region ConfigureHolder
|
||||
CylindroidHolder cylindroidHolder = new CylindroidHolder()
|
||||
{
|
||||
Note = "BT40",
|
||||
Cylindroid = new Cylindroid()
|
||||
{
|
||||
PairZrs = new List<PairZr>([ new PairZr(0,12),new PairZr(20,12),
|
||||
new PairZr(20,16),new PairZr(30,16)]),
|
||||
LongitudeNum = 30
|
||||
}
|
||||
};
|
||||
#endregion
|
||||
|
||||
#region ConfigureMachiningToolHouse
|
||||
machiningProject.MachiningToolHouse = new MachiningToolHouse()
|
||||
{
|
||||
[1] = new StickMachiningTool()
|
||||
{
|
||||
Note = "T1",
|
||||
PreservedDistanceBetweenFluteAndSpindleNose_mm = 8,
|
||||
Holder = cylindroidHolder,
|
||||
Cutter = CreateMillingCutter1()
|
||||
},
|
||||
[2] = new StickMachiningTool()
|
||||
{
|
||||
Note = "T2",
|
||||
PreservedDistanceBetweenFluteAndSpindleNose_mm = 8,
|
||||
Holder = cylindroidHolder,
|
||||
Cutter = CreateMillingCutter2()
|
||||
},
|
||||
[3] = new StickMachiningTool()
|
||||
{
|
||||
Note = "T3",
|
||||
PreservedDistanceBetweenFluteAndSpindleNose_mm = 8,
|
||||
Holder = cylindroidHolder,
|
||||
Cutter = CreateMillingCutter1()
|
||||
},
|
||||
};
|
||||
#endregion
|
||||
|
||||
#region ConfigureFixture
|
||||
machiningProject.MachiningEquipment.Fixture = new Fixture()
|
||||
{
|
||||
Geom = new Box3d(new Vec3d(-40, -40, 0), new Vec3d(40, 40, 10)),
|
||||
TableToWorkpieceTransformer = new StaticTranslation(new Vec3d(0, 0, 10)),
|
||||
};
|
||||
#endregion
|
||||
|
||||
#region ConfigureWorkpiece
|
||||
machiningProject.MachiningEquipment.Workpiece = new Workpiece()
|
||||
{
|
||||
InitResolution = 0.25,
|
||||
InitGeom = new Box3d(0, 0, -50, 70, 50, 0),
|
||||
IdealGeom = null,
|
||||
WorkpieceGeomToFixtureBuckleTransformer = new StaticTranslation(new Vec3d(0, 0, 0)),
|
||||
MillingPara = XFactory.GenByFile<ICuttingPara>(
|
||||
"Resource/CuttingParameter", "Al6061T6.mp", GenMode.Default),
|
||||
WorkpieceMaterial = XFactory.GenByFile<WorkpieceMaterial>(
|
||||
"Resource/WorkpieceMaterial", "Al6061T6.WorkpieceMaterial", GenMode.Default),
|
||||
};
|
||||
#endregion
|
||||
|
||||
#region ConfigureMachineChain
|
||||
machiningProject.MachiningEquipment.SolidMachiningChain
|
||||
= XFactory.GenByFile<CodeXyzabcMachineTool>(
|
||||
"Resource/MachineTool", "PMC-B1/PMC-B1.mt", GenMode.Default);
|
||||
#endregion
|
||||
|
||||
machiningProject.MakeXmlSourceFile(projectPath);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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>
|
||||
+260
@@ -0,0 +1,260 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoRenderingMachiningProcessAndStripPosSelection | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoRenderingMachiningProcessAndStripPosSelection | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates integration of machining process visualization with interactive strip position selection. Shows how to load a machining project, configure rendering options, and implement user interaction. Provides a complete example of a 3D visualization application with HiAPI and WPF.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Machining.DemoRenderingMachiningProcessAndStripPosSelection">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Machining_DemoRenderingMachiningProcessAndStripPosSelection" data-uid="Sample.Machining.DemoRenderingMachiningProcessAndStripPosSelection" class="text-break">
|
||||
Class DemoRenderingMachiningProcessAndStripPosSelection
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Machining.html">Machining</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.Wpf.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates integration of machining process visualization with interactive strip position selection.
|
||||
Shows how to load a machining project, configure rendering options, and implement user interaction.
|
||||
Provides a complete example of a 3D visualization application with HiAPI and WPF.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoRenderingMachiningProcessAndStripPosSelection</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoRenderingMachiningProcessAndStripPosSelection</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Machining_DemoRenderingMachiningProcessAndStripPosSelection_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using Hi.Wpf.Disp;
|
||||
using System;
|
||||
using Hi.MongoUtils;
|
||||
using Hi.Licenses;
|
||||
using Hi.MachiningProcs;
|
||||
using Hi.Common.FileLines;
|
||||
using Hi.MillingSteps;
|
||||
using System.Windows;
|
||||
using Hi.Disp;
|
||||
|
||||
namespace Sample.Machining
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates integration of machining process visualization with interactive strip position selection.
|
||||
/// Shows how to load a machining project, configure rendering options, and implement user interaction.
|
||||
/// Provides a complete example of a 3D visualization application with HiAPI and WPF.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample.Wpf/Machining/DemoRenderingMachiningProcessAndStripPosSelection.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoRenderingMachiningProcessAndStripPosSelection
|
||||
{
|
||||
[STAThread]
|
||||
static void Main(string[] args)
|
||||
{
|
||||
#region Initialize Environment
|
||||
License.LogInAll();
|
||||
DispEngine.Init();
|
||||
MongoServer.Default = MongoServer.Run(new MongoRunnerOptions()
|
||||
{
|
||||
MongoPort = 28100
|
||||
});
|
||||
#endregion
|
||||
|
||||
#region Load Machining Project
|
||||
var projectPath = "C:/HiNC-Projects/DemoStandardPath/Main.hincproj";
|
||||
Console.WriteLine($"Load Project: {projectPath}");
|
||||
MachiningProject machiningProject = MachiningProject.LoadFile(projectPath);
|
||||
|
||||
machiningProject.ShellApi.MillingStepSelected += (MachiningStep step) =>
|
||||
{
|
||||
var sourceCommand = step.SourceCommand;
|
||||
Console.WriteLine($"Step Selected: MRR = {step.Mrr_mm3ds} At \"{sourceCommand?.FilePath}\" (Line {sourceCommand?.GetLineNo()}) \"{sourceCommand?.Line}\"");
|
||||
};
|
||||
machiningProject.PacePlayer.Start();
|
||||
#endregion
|
||||
|
||||
#region Configure Rendering Options
|
||||
var projectDisplayee = new MachiningProjectDisplayee(machiningProject);
|
||||
projectDisplayee.RenderingFlagBitArray[(int)RenderingFlag.Mech] = true;
|
||||
projectDisplayee.RenderingFlagBitArray[(int)RenderingFlag.Fixture] = true;
|
||||
projectDisplayee.RenderingFlagBitArray[(int)RenderingFlag.WorkpieceGeom] = false;
|
||||
projectDisplayee.RenderingFlagBitArray[(int)RenderingFlag.ClStrip] = true;
|
||||
projectDisplayee.RenderingFlagBitArray[(int)RenderingFlag.DimensionBar] = true;
|
||||
#endregion
|
||||
|
||||
#region Create and Run WPF Application
|
||||
Application app = new Application
|
||||
{
|
||||
ShutdownMode = ShutdownMode.OnMainWindowClose
|
||||
};
|
||||
app.Exit += (o, e) =>
|
||||
{
|
||||
machiningProject.Dispose();
|
||||
MongoServer.Default.Dispose();
|
||||
DispEngine.FinishDisp();
|
||||
License.LogOutAll();
|
||||
Console.WriteLine($"App exit.");
|
||||
};
|
||||
app.Run(new RenderingWindow()
|
||||
{
|
||||
Title = "Demo",
|
||||
Displayee = projectDisplayee
|
||||
});
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,277 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoUseMachiningProject | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoUseMachiningProject | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates how to load and use an existing instance. This sample shows how to set up event handlers for messages and machining step objects, execute NC files, and properly manage project resources using .">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Machining.DemoUseMachiningProject">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Machining_DemoUseMachiningProject" data-uid="Sample.Machining.DemoUseMachiningProject" class="text-break">
|
||||
Class DemoUseMachiningProject
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Machining.html">Machining</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates how to load and use an existing <a class="xref" href="../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a> instance.
|
||||
This sample shows how to set up event handlers for messages and machining step objects,
|
||||
execute NC files, and properly manage project resources using
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable.dispose">Dispose()</a>.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoUseMachiningProject</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoUseMachiningProject</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Machining_DemoUseMachiningProject_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using System;
|
||||
using Hi.Licenses;
|
||||
using Hi.Common.Messages;
|
||||
using Hi.MachiningProcs;
|
||||
using Hi.Common.FileLines;
|
||||
using Hi.MongoUtils;
|
||||
|
||||
namespace Sample.Machining
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates how to load and use an existing <see cref="MachiningProject"/> instance.
|
||||
/// This sample shows how to set up event handlers for messages and machining step objects,
|
||||
/// execute NC files, and properly manage project resources using
|
||||
/// <see cref="IDisposable.Dispose"/>.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Machining/DemoUseMachiningProject.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoUseMachiningProject
|
||||
{
|
||||
static void Main()
|
||||
{
|
||||
#region LicenseAndDatabaseSetup
|
||||
Console.WriteLine($"License Login.");
|
||||
License.LogInAll();
|
||||
|
||||
Console.WriteLine($"Start Database.");
|
||||
MongoServer.Default = MongoServer.Run(new MongoRunnerOptions()
|
||||
{
|
||||
MongoPort = 28100
|
||||
});
|
||||
#endregion
|
||||
|
||||
#region ProjectLoading
|
||||
var projectPath = "C:/HiNC-Projects/DemoStandardPath/Main.hincproj";
|
||||
Console.WriteLine($"Load Project: {projectPath}");
|
||||
MachiningProject machiningProject = MachiningProject.LoadFile(projectPath);
|
||||
#endregion
|
||||
|
||||
#region EventHandling
|
||||
Console.WriteLine($"Set message event.");
|
||||
//show message if something abnormal.
|
||||
machiningProject.SessionMessageHost.CollectionItemAdded += pack =>
|
||||
{
|
||||
if (pack.Tags.Contains(MessageFlag.Warning.ToString()) ||
|
||||
pack.Tags.Contains(MessageFlag.Error.ToString()) ||
|
||||
pack.Tags.Contains(MessageFlag.SysErr.ToString()))
|
||||
{
|
||||
var sourceCommand = pack.SourceCommand;
|
||||
Console.WriteLine($"{pack.Message} At \"{sourceCommand?.FilePath}\" (Line {sourceCommand?.GetLineNo()}) \"{sourceCommand?.Line}\"");
|
||||
}
|
||||
};
|
||||
Console.WriteLine($"Set machining step event.");
|
||||
//show MRR.
|
||||
machiningProject.ShellApi.MachiningStepBuilt += (preStep, curStep) =>
|
||||
{
|
||||
var sourceCommand = curStep.SourceCommand;
|
||||
if (curStep.Mrr_mm3ds > 500) //show only the step that contains large MRR.
|
||||
Console.WriteLine($"MRR = {curStep.Mrr_mm3ds} At \"{sourceCommand?.FilePath}\" (Line {sourceCommand?.GetLineNo()}) \"{sourceCommand?.Line}\"");
|
||||
};
|
||||
#endregion
|
||||
|
||||
#region MachiningExecution
|
||||
Console.WriteLine($"Reset runtime status.");
|
||||
machiningProject.ResetRuntime();
|
||||
|
||||
Console.WriteLine($"Session begin.");
|
||||
machiningProject.BeginSession();
|
||||
machiningProject.ShellApi.MachiningResolution_mm = 1;
|
||||
machiningProject.ShellApi.EnableCollisionDetection = true;
|
||||
machiningProject.ShellApi.EnablePauseOnCollision = false;
|
||||
machiningProject.ShellApi.EnableMillingForceEvaluation = false;
|
||||
//the path from Shell-API is relative by project directory.
|
||||
machiningProject.ShellApi.PlayNcFile("NC/side.ptp");
|
||||
machiningProject.ShellApi.PlayNcFile("NC/circle.ptp");
|
||||
machiningProject.EndSession();
|
||||
Console.WriteLine($"Session end.");
|
||||
#endregion
|
||||
|
||||
#region CleanupResources
|
||||
Console.WriteLine($"Close Project: {projectPath}");
|
||||
machiningProject.Dispose();
|
||||
|
||||
Console.WriteLine($"Close Database.");
|
||||
MongoServer.Default.Dispose();
|
||||
|
||||
Console.WriteLine($"License Logout.");
|
||||
License.LogOutAll();
|
||||
|
||||
Console.WriteLine($"Program end.");
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,146 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Namespace Sample.Machining | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Namespace Sample.Machining | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="The Sample.Machining namespace contains comprehensive examples for creating and managing machining verification and optimization projects using the and APIs. This namespace demonstrates the complete workflow of building verification projects from scratch, including defining cutting tool geometries with , configuring tool holders with , setting up tool libraries, defining fixture and workpiece geometries, configuring machine kinematics, and setting material properties. These examples are particularly valuable for developers who need to programmatically create complete verification and optimization projects without relying on the HiNC GUI, providing reference code for implementing advanced CNC verification and simulation functionality.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Machining">
|
||||
|
||||
<h1 id="Sample_Machining" data-uid="Sample.Machining" class="text-break">Namespace Sample.Machining</h1>
|
||||
<div class="markdown level0 summary"><p>The Sample.Machining namespace contains comprehensive examples for creating and managing machining verification and optimization projects using the <a class="xref" href="../../api/Hi.Machining.html">Hi.Machining</a> and <a class="xref" href="../../api/Hi.MachiningProcs.html">Hi.MachiningProcs</a> APIs. This namespace demonstrates the complete workflow of building verification projects from scratch, including defining cutting tool geometries with <a class="xref" href="../../api/Hi.Milling.Cutters.html">Hi.Milling.Cutters</a>, configuring tool holders with <a class="xref" href="../../api/Hi.NcMech.Holders.html">Hi.NcMech.Holders</a>, setting up tool libraries, defining fixture and workpiece geometries, configuring machine kinematics, and setting material properties. These examples are particularly valuable for developers who need to programmatically create complete verification and optimization projects without relying on the HiNC GUI, providing reference code for implementing advanced CNC verification and simulation functionality.</p>
|
||||
</div>
|
||||
<div class="markdown level0 conceptual"></div>
|
||||
<div class="markdown level0 remarks"></div>
|
||||
|
||||
<h3 id="classes">
|
||||
Classes
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Machining.DemoBuildMachiningProject.html">DemoBuildMachiningProject</a></dt>
|
||||
<dd><p>Demonstrates how to create and configure a <a class="xref" href="../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a> programmatically.
|
||||
This sample shows how to set up <a class="xref" href="../../api/Hi.Milling.Cutters.MillingCutter.html">MillingCutter</a>, <a class="xref" href="../../api/Hi.NcMech.Holders.CylindroidHolder.html">CylindroidHolder</a>,
|
||||
<a class="xref" href="../../api/Hi.MillingMech.MillingTools.StickMachiningTool.html">StickMachiningTool</a>, <a class="xref" href="../../api/Hi.NcMech.Fixtures.Fixture.html">Fixture</a>, <a class="xref" href="../../api/Hi.NcMech.Workpieces.Workpiece.html">Workpiece</a>,
|
||||
and save the project configuration to a file.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Machining.DemoRenderingMachiningProcessAndStripPosSelection.html">DemoRenderingMachiningProcessAndStripPosSelection</a></dt>
|
||||
<dd><p>Demonstrates integration of machining process visualization with interactive strip position selection.
|
||||
Shows how to load a machining project, configure rendering options, and implement user interaction.
|
||||
Provides a complete example of a 3D visualization application with HiAPI and WPF.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Machining.DemoUseMachiningProject.html">DemoUseMachiningProject</a></dt>
|
||||
<dd><p>Demonstrates how to load and use an existing <a class="xref" href="../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a> instance.
|
||||
This sample shows how to set up event handlers for messages and machining step objects,
|
||||
execute NC files, and properly manage project resources using
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable.dispose">Dispose()</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,262 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class DemoTopo1 | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class DemoTopo1 | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Demonstrates the creation and visualization of mechanical assemblies with kinematic linkages. Shows how to build coordinate systems, establish kinematic relationships, and capture visual output.">
|
||||
<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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Mech.DemoTopo1">
|
||||
|
||||
|
||||
|
||||
<h1 id="Sample_Mech_DemoTopo1" data-uid="Sample.Mech.DemoTopo1" class="text-break">
|
||||
Class DemoTopo1
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Sample.html">Sample</a>.<a class="xref" href="Sample.Mech.html">Mech</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>Hi.Sample.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Demonstrates the creation and visualization of mechanical assemblies with kinematic linkages.
|
||||
Shows how to build coordinate systems, establish kinematic relationships, and capture visual output.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class DemoTopo1</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">DemoTopo1</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="Sample_Mech_DemoTopo1_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><h3 id="source-code">Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode">using System;
|
||||
using System.Collections.Generic;
|
||||
using Hi.Disp;
|
||||
using Hi.Geom;
|
||||
using Hi.Mech.Topo;
|
||||
|
||||
namespace Sample.Mech
|
||||
{
|
||||
/// <summary>
|
||||
/// Demonstrates the creation and visualization of mechanical assemblies with kinematic linkages.
|
||||
/// Shows how to build coordinate systems, establish kinematic relationships, and capture visual output.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ### Source Code
|
||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Mech/DemoTopo1.cs)]
|
||||
/// </remarks>
|
||||
public static class DemoTopo1
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates a demonstration assembly with kinematic linkages.
|
||||
/// Builds a mechanical assembly with multiple anchors and branches, including both static and dynamic transformations.
|
||||
/// </summary>
|
||||
/// <returns>A tuple containing the assembly and root anchor</returns>
|
||||
static (Asmb asmb,Anchor root) GetDemoAsmb()
|
||||
{
|
||||
#region DocSite.DemoTopo1
|
||||
//build coordinate systems and the assembly.
|
||||
Asmb asmb = new Asmb { Name = "Mech" };
|
||||
Anchor O = new Anchor(asmb, "O");
|
||||
Anchor O1 = new Anchor(asmb, "O1");
|
||||
Anchor X = new Anchor(asmb, "X");
|
||||
Anchor Z = new Anchor(asmb, "Z");
|
||||
Anchor B = new Anchor(asmb, "B");
|
||||
|
||||
//build kinematic link
|
||||
Branch.Attach(O, O1, new StaticTranslation(new Vec3d(0, 0, 80)));
|
||||
Branch brnX = Branch.Attach(O1, X, new DynamicTranslation(new Vec3d(1, 0, 0)));
|
||||
Branch brnZ = Branch.Attach(X, Z, new DynamicTranslation(new Vec3d(0, 0, 1)));
|
||||
Branch brnB = Branch.Attach(Z, B, new DynamicRotation(new Vec3d(0, 1, 0), 0, new Vec3d(-100, 0, 0)));
|
||||
|
||||
//drive the dynamic transformation by single value for each branch.
|
||||
brnX.Step = 200;
|
||||
brnZ.Step = 100;
|
||||
brnB.Step = MathUtil.ToRad(-60);
|
||||
|
||||
//Get and show the transform matrices relative to O.
|
||||
Dictionary<Anchor, Mat4d> matMap = asmb.GetMat4dMap(O);
|
||||
Console.WriteLine("Transform Matrix relative to O:");
|
||||
foreach (KeyValuePair<Anchor, Mat4d> keyValue in matMap)
|
||||
Console.WriteLine($"{keyValue.Key.Name} : {keyValue.Value}");
|
||||
#endregion
|
||||
|
||||
return (asmb,O);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Captures the assembly visualization and saves it to a file.
|
||||
/// Initializes the display engine, sets up the assembly visualization with an isometric view, and saves a snapshot to a bitmap file.
|
||||
/// </summary>
|
||||
/// <param name="src">A tuple containing the assembly and root anchor for visualization</param>
|
||||
static void SnapshotToFile((Asmb asmb, Anchor root) src)
|
||||
{
|
||||
//all the drawing function has to call DispEngine.Init() before using.
|
||||
DispEngine.Init();
|
||||
DispEngine.EnableSuppressDefaultLogo = true;
|
||||
|
||||
using (DispEngine dispEngine = new DispEngine(
|
||||
src.asmb.GetAsmbDraw(src.root)))
|
||||
{
|
||||
dispEngine.SetViewToIsometricView();
|
||||
dispEngine.Snapshot("DemoTopo1.bmp", 680, 480);
|
||||
}
|
||||
Console.WriteLine("Snapshot file output.");
|
||||
|
||||
DispEngine.FinishDisp();
|
||||
}
|
||||
static void Main()
|
||||
{
|
||||
SnapshotToFile(GetDemoAsmb());
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,128 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Namespace Sample.Mech | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Namespace Sample.Mech | 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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample.Mech">
|
||||
|
||||
<h1 id="Sample_Mech" data-uid="Sample.Mech" class="text-break">Namespace Sample.Mech</h1>
|
||||
<div class="markdown level0 summary"></div>
|
||||
<div class="markdown level0 conceptual"></div>
|
||||
<div class="markdown level0 remarks"></div>
|
||||
|
||||
<h3 id="classes">
|
||||
Classes
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.Mech.DemoTopo1.html">DemoTopo1</a></dt>
|
||||
<dd><p>Demonstrates the creation and visualization of mechanical assemblies with kinematic linkages.
|
||||
Shows how to build coordinate systems, establish kinematic relationships, and capture visual output.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,128 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Namespace Sample | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Namespace Sample | 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 "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<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="ManagedReference">
|
||||
<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="Sample">
|
||||
|
||||
<h1 id="Sample" data-uid="Sample" class="text-break">Namespace Sample</h1>
|
||||
<div class="markdown level0 summary"></div>
|
||||
<div class="markdown level0 conceptual"></div>
|
||||
<div class="markdown level0 remarks"></div>
|
||||
|
||||
<h3 id="classes">
|
||||
Classes
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Sample.HelloHiAPI.html">HelloHiAPI</a></dt>
|
||||
<dd><p>A sample class demonstrating initialization and usage of the HiAPI framework.
|
||||
Shows the basic setup of display engine, MongoDB server, licensing, and other core functionality.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</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,115 @@
|
||||
|
||||
<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>
|
||||
<span class="expand-stub"></span>
|
||||
<a href="Sample.html" name="" title="Sample">Sample</a>
|
||||
|
||||
<ul class="nav level2">
|
||||
<li>
|
||||
<a href="Sample.HelloHiAPI.html" name="" title="HelloHiAPI">HelloHiAPI</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<span class="expand-stub"></span>
|
||||
<a href="Sample.Disp.html" name="" title="Sample.Disp">Sample.Disp</a>
|
||||
|
||||
<ul class="nav level2">
|
||||
<li>
|
||||
<a href="Sample.Disp.DemoCylindroid.html" name="" title="DemoCylindroid">DemoCylindroid</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Disp.DemoDiscreteRgb.html" name="" title="DemoDiscreteRgb">DemoDiscreteRgb</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Disp.DemoDrawing.html" name="" title="DemoDrawing">DemoDrawing</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Disp.DemoPick1.html" name="" title="DemoPick1">DemoPick1</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Disp.DemoPick2.html" name="" title="DemoPick2">DemoPick2</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Disp.DemoPickable.html" name="" title="DemoPickable">DemoPickable</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Disp.DemoSatellite.html" name="" title="DemoSatellite">DemoSatellite</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Disp.DemoStl.html" name="" title="DemoStl">DemoStl</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Disp.DemoUtil.html" name="" title="DemoUtil">DemoUtil</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<span class="expand-stub"></span>
|
||||
<a href="Sample.Geom.html" name="" title="Sample.Geom">Sample.Geom</a>
|
||||
|
||||
<ul class="nav level2">
|
||||
<li>
|
||||
<a href="Sample.Geom.DemoBuildGeom.html" name="" title="DemoBuildGeom">DemoBuildGeom</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Geom.DemoIExpandToBox3d.html" name="" title="DemoIExpandToBox3d">DemoIExpandToBox3d</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<span class="expand-stub"></span>
|
||||
<a href="Sample.MachineTool.html" name="" title="Sample.MachineTool">Sample.MachineTool</a>
|
||||
|
||||
<ul class="nav level2">
|
||||
<li>
|
||||
<a href="Sample.MachineTool.DemoBuildMachineTool.html" name="" title="DemoBuildMachineTool">DemoBuildMachineTool</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys.html" name="" title="DemoBuildMachineToolWithoutGeometrys">DemoBuildMachineToolWithoutGeometrys</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<span class="expand-stub"></span>
|
||||
<a href="Sample.Machining.html" name="" title="Sample.Machining">Sample.Machining</a>
|
||||
|
||||
<ul class="nav level2">
|
||||
<li>
|
||||
<a href="Sample.Machining.DemoBuildMachiningProject.html" name="" title="DemoBuildMachiningProject">DemoBuildMachiningProject</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Machining.DemoRenderingMachiningProcessAndStripPosSelection.html" name="" title="DemoRenderingMachiningProcessAndStripPosSelection">DemoRenderingMachiningProcessAndStripPosSelection</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Sample.Machining.DemoUseMachiningProject.html" name="" title="DemoUseMachiningProject">DemoUseMachiningProject</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<span class="expand-stub"></span>
|
||||
<a href="Sample.Mech.html" name="" title="Sample.Mech">Sample.Mech</a>
|
||||
|
||||
<ul class="nav level2">
|
||||
<li>
|
||||
<a href="Sample.Mech.DemoTopo1.html" name="" title="DemoTopo1">DemoTopo1</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,2 @@
|
||||
|
||||
{"items":[{"name":"Sample","href":"Sample.html","topicHref":"Sample.html","topicUid":"Sample","type":"Namespace","items":[{"name":"HelloHiAPI","href":"Sample.HelloHiAPI.html","topicHref":"Sample.HelloHiAPI.html","topicUid":"Sample.HelloHiAPI","type":"Class"}]},{"name":"Sample.Disp","href":"Sample.Disp.html","topicHref":"Sample.Disp.html","topicUid":"Sample.Disp","type":"Namespace","items":[{"name":"DemoCylindroid","href":"Sample.Disp.DemoCylindroid.html","topicHref":"Sample.Disp.DemoCylindroid.html","topicUid":"Sample.Disp.DemoCylindroid","type":"Class"},{"name":"DemoDiscreteRgb","href":"Sample.Disp.DemoDiscreteRgb.html","topicHref":"Sample.Disp.DemoDiscreteRgb.html","topicUid":"Sample.Disp.DemoDiscreteRgb","type":"Class"},{"name":"DemoDrawing","href":"Sample.Disp.DemoDrawing.html","topicHref":"Sample.Disp.DemoDrawing.html","topicUid":"Sample.Disp.DemoDrawing","type":"Class"},{"name":"DemoPick1","href":"Sample.Disp.DemoPick1.html","topicHref":"Sample.Disp.DemoPick1.html","topicUid":"Sample.Disp.DemoPick1","type":"Class"},{"name":"DemoPick2","href":"Sample.Disp.DemoPick2.html","topicHref":"Sample.Disp.DemoPick2.html","topicUid":"Sample.Disp.DemoPick2","type":"Class"},{"name":"DemoPickable","href":"Sample.Disp.DemoPickable.html","topicHref":"Sample.Disp.DemoPickable.html","topicUid":"Sample.Disp.DemoPickable","type":"Class"},{"name":"DemoSatellite","href":"Sample.Disp.DemoSatellite.html","topicHref":"Sample.Disp.DemoSatellite.html","topicUid":"Sample.Disp.DemoSatellite","type":"Class"},{"name":"DemoStl","href":"Sample.Disp.DemoStl.html","topicHref":"Sample.Disp.DemoStl.html","topicUid":"Sample.Disp.DemoStl","type":"Class"},{"name":"DemoUtil","href":"Sample.Disp.DemoUtil.html","topicHref":"Sample.Disp.DemoUtil.html","topicUid":"Sample.Disp.DemoUtil","type":"Class"}]},{"name":"Sample.Geom","href":"Sample.Geom.html","topicHref":"Sample.Geom.html","topicUid":"Sample.Geom","type":"Namespace","items":[{"name":"DemoBuildGeom","href":"Sample.Geom.DemoBuildGeom.html","topicHref":"Sample.Geom.DemoBuildGeom.html","topicUid":"Sample.Geom.DemoBuildGeom","type":"Class"},{"name":"DemoIExpandToBox3d","href":"Sample.Geom.DemoIExpandToBox3d.html","topicHref":"Sample.Geom.DemoIExpandToBox3d.html","topicUid":"Sample.Geom.DemoIExpandToBox3d","type":"Class"}]},{"name":"Sample.MachineTool","href":"Sample.MachineTool.html","topicHref":"Sample.MachineTool.html","topicUid":"Sample.MachineTool","type":"Namespace","items":[{"name":"DemoBuildMachineTool","href":"Sample.MachineTool.DemoBuildMachineTool.html","topicHref":"Sample.MachineTool.DemoBuildMachineTool.html","topicUid":"Sample.MachineTool.DemoBuildMachineTool","type":"Class"},{"name":"DemoBuildMachineToolWithoutGeometrys","href":"Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys.html","topicHref":"Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys.html","topicUid":"Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys","type":"Class"}]},{"name":"Sample.Machining","href":"Sample.Machining.html","topicHref":"Sample.Machining.html","topicUid":"Sample.Machining","type":"Namespace","items":[{"name":"DemoBuildMachiningProject","href":"Sample.Machining.DemoBuildMachiningProject.html","topicHref":"Sample.Machining.DemoBuildMachiningProject.html","topicUid":"Sample.Machining.DemoBuildMachiningProject","type":"Class"},{"name":"DemoRenderingMachiningProcessAndStripPosSelection","href":"Sample.Machining.DemoRenderingMachiningProcessAndStripPosSelection.html","topicHref":"Sample.Machining.DemoRenderingMachiningProcessAndStripPosSelection.html","topicUid":"Sample.Machining.DemoRenderingMachiningProcessAndStripPosSelection","type":"Class"},{"name":"DemoUseMachiningProject","href":"Sample.Machining.DemoUseMachiningProject.html","topicHref":"Sample.Machining.DemoUseMachiningProject.html","topicUid":"Sample.Machining.DemoUseMachiningProject","type":"Class"}]},{"name":"Sample.Mech","href":"Sample.Mech.html","topicHref":"Sample.Mech.html","topicUid":"Sample.Mech","type":"Namespace","items":[{"name":"DemoTopo1","href":"Sample.Mech.DemoTopo1.html","topicHref":"Sample.Mech.DemoTopo1.html","topicUid":"Sample.Mech.DemoTopo1","type":"Class"}]}],"memberLayout":"SamePage"}
|
||||
Reference in New Issue
Block a user