tune
This commit is contained in:
@@ -0,0 +1,310 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Controller Page | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Controller Page | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="controller-page">Controller Page</h1>
|
||||
|
||||
<p>The Controller Page is responsible for configuring and managing the CNC controller settings for the machine tool.</p>
|
||||
<h2 id="key-models">Key Models</h2>
|
||||
<p>The key models used by the Controller Page are:</p>
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html">NcEnv</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html">MachiningProjectDisplayee</a></li>
|
||||
</ul>
|
||||
<p>The <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html">MachiningProjectDisplayee</a> contains <a class="xref" href="../../../../api/Hi.Numerical.IsoCoordinateEntryDisplayee.html">IsoCoordinateEntryDisplayee</a> and <a class="xref" href="../../../../api/Hi.Numerical.HeidenhainCoordinateEntryDisplayee.html">HeidenhainCoordinateEntryDisplayee</a>. They are used in this GUI.</p>
|
||||
<h3 id="connection-with-main-panel">Connection with Main Panel</h3>
|
||||
<p>The Controller Page is activated through the <a href="../main-panel.html">Main Panel</a>'s Environment menu. It retrieves the <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a> from the Main Panel and updates the model.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Controller Page
|
||||
<ul>
|
||||
<li>Management Panel
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a href="../widget/object-management-menu-button.html">Object Management Menu Button</a>
|
||||
<ul>
|
||||
<li>file extension is NcEnv</li>
|
||||
<li>The pointed Editor Panel is Management Tabs Panel</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Title Label</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Management Tabs Panel
|
||||
<ul>
|
||||
<li>Coordinate Table Tab
|
||||
<ul>
|
||||
<li>ISO Coordinate Table Panel
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html">NcEnv</a>.<a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_IsoCoordinateTable">IsoCoordinateTable</a> Display
|
||||
(Note that The XYZ is not sortable on the table.)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Datum Preset Table Tab (Only visible for <a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Heidenhain">Heidenhain</a> controllers)
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_HeidenhainDatumPresetTable">HeidenhainDatumPresetTable</a> Panel
|
||||
(Note that The XYZ is not sortable on the table.)
|
||||
<ul>
|
||||
<li>Show Datum Preset Toggle Button for <a class="xref" href="../../../../api/Hi.Numerical.HeidenhainCoordinateEntryDisplayee.html">HeidenhainCoordinateEntryDisplayee</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Datum Shift Table Tab (Only visible for <a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Heidenhain">Heidenhain</a> controllers)
|
||||
(Note that The XYZ is not sortable on the table.)
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_HeidenhainDatumShiftTable">HeidenhainDatumShiftTable</a> Panel</li>
|
||||
<li>Show Datum Shift Toggle Button for <a class="xref" href="../../../../api/Hi.Numerical.HeidenhainCoordinateEntryDisplayee.html">HeidenhainCoordinateEntryDisplayee</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Offset Table Tab
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.MillingToolOffsetTable.html">MillingToolOffsetTable</a> Panel
|
||||
<ul>
|
||||
<li>Set Ideal Offset Dependent on Tool House Checkbox</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Machine Tab
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_RapidFeedrate_mmdmin">RapidFeedrate_mmdmin</a> Settings</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_ToolingTime">ToolingTime</a> Settings</li>
|
||||
<li>Linear Axis Limits Table
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_StrokeLimitXyz_mm">StrokeLimitXyz_mm</a> Min and Max for X, Y, Z</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Rotary Axis Table
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_StrokeLimitAbc_rad">StrokeLimitAbc_rad</a> Min and Max for A, B, C</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_MaxRotarySpeedABC_radds">MaxRotarySpeedABC_radds</a> for A, B, C</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Brand Tab
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_CncBrand">CncBrand</a> Selection Dropdown
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Syntec">Syntec</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Fanuc">Fanuc</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Heidenhain">Heidenhain</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Siemens">Siemens</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Brand-specific Settings Panel (content varies based on selected brand)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Config Tab
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_SetToolHeightCompensationOnFeatureNormal">SetToolHeightCompensationOnFeatureNormal</a> Setting</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_EnableShortestRotary">EnableShortestRotary</a> Setting</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Viewer Panel
|
||||
<ul>
|
||||
<li>Viewer Toolbar
|
||||
<ul>
|
||||
<li><a href="../renderingcanvas-tool-bar.html">RenderingCanvas Tool Bar</a></li>
|
||||
<li>Rendering Items SubMenu
|
||||
See Rendering Items SubMenu from <a href="../player/player-extended-renderingcanvas-tool-bar.html">Player extended RenderingCanvas Tool Bar</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>RenderingCanvas
|
||||
<ul>
|
||||
<li>The <a class="xref" href="../../../../api/Hi.Disp.DispEngine.html">DispEngine</a>.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_Displayee">Displayee</a> is <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html">MachiningProjectDisplayee</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Viewer Panel is not essential in the single user desktop application if this page raises a new window so that there arises a duplicate rendering content with the Main Window. This page should have a code-behind boolean property to add / remove the Viewer Panel. There should not preserve space for the un-existed Viewer Panel.</p>
|
||||
<p>Apply <a class="xref" href="../../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_SetViewToIsometricView">SetViewToIsometricView()</a> on initialization if Viewer Panel has enabled.</p>
|
||||
</div>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Add a resizable splitter between the Manage Panel and Viewer Panel to allow users to customize the interface layout according to their needs.</p>
|
||||
</div>
|
||||
<h2 id="behavior">Behavior</h2>
|
||||
<h3 id="iso-coordinate-table">ISO Coordinate Table</h3>
|
||||
<p>The ISO coordinate table allows users to edit and manage coordinates for the <a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_IsoCoordinateTable">IsoCoordinateTable</a>. Each entry consists of:</p>
|
||||
<ul>
|
||||
<li>An index identifier</li>
|
||||
<li>X, Y, Z coordinate values</li>
|
||||
<li>Action buttons to set the entry to program zero or machine zero</li>
|
||||
</ul>
|
||||
<h3 id="datum-preset-and-shift-tables-heidenhain">Datum Preset and Shift Tables (Heidenhain)</h3>
|
||||
<p>These tables are specific to <a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Heidenhain">Heidenhain</a> controllers and provide interfaces for:</p>
|
||||
<ul>
|
||||
<li>Setting datum preset positions in <a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_HeidenhainDatumPresetTable">HeidenhainDatumPresetTable</a></li>
|
||||
<li>Configuring datum shifts in <a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_HeidenhainDatumShiftTable">HeidenhainDatumShiftTable</a></li>
|
||||
<li>Visualizing selected datum in the 3D viewer with <a class="xref" href="../../../../api/Hi.Numerical.HeidenhainCoordinateEntryDisplayee.html">HeidenhainCoordinateEntryDisplayee</a></li>
|
||||
</ul>
|
||||
<h3 id="offset-table">Offset Table</h3>
|
||||
<p>Manages tool offsets with the following capabilities:</p>
|
||||
<ul>
|
||||
<li>Display and edit ideal radius and height values in <a class="xref" href="../../../../api/Hi.Numerical.MillingToolOffsetTable.html">MillingToolOffsetTable</a></li>
|
||||
<li>Configure radial and axial wear values</li>
|
||||
<li>Option to automatically set ideal offset based on the <a class="xref" href="../../../../api/Hi.Machining.MachiningToolHouse.html">MachiningToolHouse</a> configuration</li>
|
||||
<li>Add new tool offset entries (when not using tool house dependency)</li>
|
||||
</ul>
|
||||
<h3 id="machine-configuration">Machine Configuration</h3>
|
||||
<p>Controls machine-specific settings:</p>
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_RapidFeedrate_mmdmin">RapidFeedrate_mmdmin</a> (mm/min)</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_ToolingTime">ToolingTime</a> (seconds)</li>
|
||||
<li>Stroke limits (minimum and maximum) for linear axes (<a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_StrokeLimitXyz_mm">StrokeLimitXyz_mm</a>)</li>
|
||||
<li>Stroke limits and maximum speeds for rotary axes (<a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_StrokeLimitAbc_rad">StrokeLimitAbc_rad</a> and <a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_MaxRotarySpeedABC_radds">MaxRotarySpeedABC_radds</a>)</li>
|
||||
</ul>
|
||||
<h3 id="brand-selection">Brand Selection</h3>
|
||||
<p>Allows switching between different CNC controller brands via <a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_CncBrand">CncBrand</a>:</p>
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Syntec">Syntec</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Fanuc">Fanuc</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Heidenhain">Heidenhain</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Siemens">Siemens</a></li>
|
||||
</ul>
|
||||
<p>Each brand may have specialized settings that appear when selected.</p>
|
||||
<h3 id="config-options">Config Options</h3>
|
||||
<p>General configuration options including:</p>
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_SetToolHeightCompensationOnFeatureNormal">SetToolHeightCompensationOnFeatureNormal</a> setting</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_EnableShortestRotary">EnableShortestRotary</a> optimization</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Numerical/Controller/ControllerWindow</li>
|
||||
<li>Numerical/Controller/IsoCoordinateTablePanel</li>
|
||||
<li>Numerical/Controller/DatumPresetTablePanel</li>
|
||||
<li>Numerical/Controller/DatumShiftTablePanel</li>
|
||||
<li>Numerical/Controller/ControllerExtendedRenderingCanvasToolBar</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/controller/controller-panel.js</li>
|
||||
<li>wwwroot/controller/controller-extended-toolbar.js</li>
|
||||
<li>Controller/Controller/ControllerController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,159 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>General Rules | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="General Rules | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="general-rules">General Rules</h1>
|
||||
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>You MUST read the cited hyperlink before you do the job. ASK if you think the hyperlink is not work.</p>
|
||||
</div>
|
||||
<h2 id="handle-message-and-exception">Handle Message and Exception</h2>
|
||||
<p>If message is well-managed, apply <a class="xref" href="../../../api/Hi.Common.Messages.MessageKit.html">MessageKit</a> to show the message; if the message is <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.exception">Exception</a>, apply <a class="xref" href="../../../api/Hi.Common.ExceptionUtil.html">ExceptionUtil</a>.<a class="xref" href="../../../api/Hi.Common.ExceptionUtil.html#Hi_Common_ExceptionUtil_ShowException_System_Exception_System_Object_">ShowException(Exception, object)</a> to show the exception for detail treatment. The messages are shown in <a href="message-section-on-main-panel.html">Message Section on Main Panel</a>.</p>
|
||||
<p>For examples of message and exception handling patterns:</p>
|
||||
<ol>
|
||||
<li>Normal message handling:</li>
|
||||
</ol>
|
||||
<pre><code class="lang-csharp" name="Normal Messages">MessageKit.AddMessage("Operation completed successfully.");
|
||||
MessageKit.AddWarning("Please check your input.");
|
||||
</code></pre>
|
||||
<ol start="2">
|
||||
<li>Exception handling in synchronous code:</li>
|
||||
</ol>
|
||||
<pre><code class="lang-csharp" name="Sync Exception">try
|
||||
{
|
||||
// Your code here
|
||||
throw new NotImplementedException("Demo exception");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ExceptionUtil.ShowException(ex, null);
|
||||
}
|
||||
</code></pre>
|
||||
<ol start="3">
|
||||
<li>Exception handling in asynchronous code:</li>
|
||||
</ol>
|
||||
<pre><code class="lang-csharp" name="Async Exception">await Task.Run(() =>
|
||||
{
|
||||
// Your async operation here
|
||||
throw new NotImplementedException("Demo async exception");
|
||||
}).ShowIfCatched(null);
|
||||
</code></pre>
|
||||
<p>The examples are in project Hi.Sample. See <a href="index.html">this page</a> for git repository.</p>
|
||||
<h2 id="loose-manner">Loose Manner</h2>
|
||||
<p>Run Skippable Rapid Calling Synchronous Action in Loose Manner.</p>
|
||||
<p>Some synchronous action may be calling rapidly but only the last call has to be effective (or it is endurable to loss some previous action call). Define a <a class="xref" href="../../../api/Hi.Common.LooseRunner.html">LooseRunner</a> and apply <a class="xref" href="../../../api/Hi.Common.LooseRunner.html">LooseRunner</a>.<a class="xref" href="../../../api/Hi.Common.LooseRunner.html#Hi_Common_LooseRunner_TryRun_System_Action_System_Threading_CancellationToken__">TryRun(Action<CancellationToken>)</a> to run the action.</p>
|
||||
<p>Dispose the <a class="xref" href="../../../api/Hi.Common.LooseRunner.html">LooseRunner</a> on owner disposing to ensure the tryrun action is well-managed.</p>
|
||||
<h2 id="gui-file-path-assignment">GUI File Path Assignment</h2>
|
||||
<p>See <a href="widget/gui-file-path-assignment.html">GUI File Path Assignment</a>.</p>
|
||||
<h2 id="translation-remarks">Translation Remarks</h2>
|
||||
<p>See <a href="translation-remarks.html">Translation Remarks</a>.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,150 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Box3dControl | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Box3dControl | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="box3dcontrol">Box3dControl</h1>
|
||||
|
||||
<p>The <code>Box3dControl</code> provides a user interface for editing a 3D box defined by its minimum and maximum coordinates.</p>
|
||||
<h2 id="features">Features</h2>
|
||||
<ul>
|
||||
<li>Edit the minimum and maximum coordinates of the box</li>
|
||||
<li>View the calculated dimensions and center of the box</li>
|
||||
<li>Read-Only Mode and Edit Mode</li>
|
||||
<li>There are three sub-edit modes that can be selected in Edit Mode:
|
||||
<ul>
|
||||
<li>Min and Max</li>
|
||||
<li>Min and Dimension</li>
|
||||
<li>Center and Dimension</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="ui-layout">UI Layout</h2>
|
||||
<p>The <code>Box3dControl</code> includes the following UI elements:</p>
|
||||
<ol>
|
||||
<li><strong>Min</strong> Vec3dControl</li>
|
||||
<li><strong>Max</strong> Vec3dControl</li>
|
||||
<li><strong>Dimension</strong> Vec3dControl</li>
|
||||
<li><strong>Center</strong> Vec3dControl</li>
|
||||
</ol>
|
||||
<p>The sub-edit mode rules the controls to readonly or editable.</p>
|
||||
<p>Since the native of <a class="xref" href="../../../../api/Hi.Geom.Box3d.html">Box3d</a> is that only Min and Max Properties are editable, the other mode requires little additional logic to take effect.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/Box3dControl</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/geom/box3d-control.js</li>
|
||||
<li>Controller/Geom/GeomController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,141 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CylindroidControl | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="CylindroidControl | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="cylindroidcontrol">CylindroidControl</h1>
|
||||
|
||||
<p>The <code>CylindroidControl</code> provides a user interface for editing a cylindroid, which is a generalized cylinder defined by a series of radius values along the Z-axis.</p>
|
||||
<h2 id="features">Features</h2>
|
||||
<ul>
|
||||
<li>Edit the Z-radius pairs that define the cylindroid's profile</li>
|
||||
<li>Set the longitude number (resolution) for the cylindroid</li>
|
||||
<li>Add and remove Z-radius pairs</li>
|
||||
</ul>
|
||||
<h2 id="ui-layout">UI Layout</h2>
|
||||
<p>The <code>CylindroidControl</code> includes the following UI elements:</p>
|
||||
<ol>
|
||||
<li><strong>Longitude Number</strong> - A numeric input for setting the resolution of the cylindroid</li>
|
||||
<li><strong>Z-Radius Pairs</strong> - A DataGrid showing the Z-coordinate and radius pairs</li>
|
||||
<li><strong>Add Button</strong> - Adds a new Z-radius pair</li>
|
||||
<li><strong>Remove Button</strong> - Removes the selected Z-radius pair</li>
|
||||
</ol>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/CylindroidControl</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/geom/cylindroid-control.js</li>
|
||||
<li>Controller/Geom/GeomController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,135 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Extended Cylinder Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Extended Cylinder Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="extended-cylinder-panel">Extended Cylinder Panel</h1>
|
||||
|
||||
<p>The model is <a class="xref" href="../../../../api/Hi.Geom.ExtendedCylinder.html">ExtendedCylinder</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Extended Cylinder Panel
|
||||
<ul>
|
||||
<li>FullLength Input Field</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/ExtendedCylinderControl</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/geom/extended-cylinder-panel.js</li>
|
||||
<li>Controller/Geom/GeomController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+155
@@ -0,0 +1,155 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>GeomCombinationControl | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="GeomCombinationControl | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="geomcombinationcontrol">GeomCombinationControl</h1>
|
||||
|
||||
<p>The <code>GeomCombinationControl</code> provides a user interface for combining multiple geometric objects into a single composite geometry. This is useful for creating complex shapes from simpler primitives.</p>
|
||||
<h2 id="features">Features</h2>
|
||||
<ul>
|
||||
<li>Add multiple geometric objects to the combination</li>
|
||||
<li>Remove selected objects from the combination</li>
|
||||
<li>Edit the properties of each included geometry</li>
|
||||
<li>Support for various geometry types</li>
|
||||
</ul>
|
||||
<h2 id="ui-layout">UI Layout</h2>
|
||||
<p>The <code>GeomCombinationControl</code> includes the following UI elements:</p>
|
||||
<ol>
|
||||
<li><strong>Geometry List</strong> - A ListView showing all the geometries in the combination</li>
|
||||
<li><strong>Add Geometry</strong> - A section for adding new geometries:
|
||||
<ul>
|
||||
<li><strong>Geometry Type</strong> - A combo box for selecting the type of geometry to add</li>
|
||||
<li><strong>Add Button</strong> - Adds a new geometry of the selected type to the combination</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Remove Button</strong> - Removes the selected geometry from the combination</li>
|
||||
<li><strong>Geometry Properties</strong> - A container that shows the appropriate control for editing the selected geometry</li>
|
||||
</ol>
|
||||
<h2 id="supported-geometry-types">Supported Geometry Types</h2>
|
||||
<p>The control supports adding the following geometry types to the combination:</p>
|
||||
<ul>
|
||||
<li>Box3d</li>
|
||||
<li>Cylindroid</li>
|
||||
<li>StlFile</li>
|
||||
<li>TransformationGeom</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/GeomCombinationControl</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/geom/geom-combination-control.js</li>
|
||||
<li>Controller/Geom/GeomController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,161 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Geometry Management Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Geometry Management Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="geometry-management-panel">Geometry Management Panel</h1>
|
||||
|
||||
<p>Geometry Management Panel get and set a TargetGeometry <a class="xref" href="../../../../api/Hi.Geom.IStlSource.html">IStlSource</a>.</p>
|
||||
<p>null is acceptable for TargetGeometry.</p>
|
||||
<p>The TargetGeometry can be convert to <a class="xref" href="../../../../api/Hi.Geom.TransformationGeom.html">TransformationGeom</a> or get out of the <a class="xref" href="../../../../api/Hi.Geom.TransformationGeom.html">TransformationGeom</a>. The conversion button can be hide by the code-behind property.</p>
|
||||
<p>The TargetGeometry can be convert to <a class="xref" href="../../../../api/Hi.Geom.GeomCombination.html">GeomCombination</a> or get out of the <a class="xref" href="../../../../api/Hi.Geom.GeomCombination.html">GeomCombination</a> if there is only one geometry in <a class="xref" href="../../../../api/Hi.Geom.GeomCombination.html#Hi_Geom_GeomCombination_StlSources">StlSources</a>. The conversion button can be hide by the code-behind property.</p>
|
||||
<p>The geometry type in the</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Geometry Management Panel
|
||||
<ul>
|
||||
<li>Geometry Selection and Conversion Bar
|
||||
<ul>
|
||||
<li>Geometry Type Selection Bar</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Geom.TransformationGeom.html">TransformationGeom</a> Conversion Button</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Geom.GeomCombination.html">GeomCombination</a> Conversion Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Content Panel (varied by the TargetGeometry)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="geometry-type-selection-bar-setting">Geometry Type Selection Bar Setting</h2>
|
||||
<p>See <a href="index.html">Geometry Panels</a> for the various geometry type.</p>
|
||||
<p>The geometries are availible by default:</p>
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Geom.Box3d.html">Box3d</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Geom.Cylindroid.html">Cylindroid</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Geom.StlFile.html">StlFile</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Geom.TransformationGeom.html">TransformationGeom</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Geom.GeomCombination.html">GeomCombination</a></li>
|
||||
</ul>
|
||||
<p>The geometries are default hiding but they can be code-behind optionally enabled:</p>
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Cbtr.CubeTree.html">CubeTree</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.Geom.ExtendedCylinder.html">ExtendedCylinder</a></li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/GeometryManagementPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/geom/geom-manage-control.js</li>
|
||||
<li>Controller/Geom/GeomController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,145 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Geometry Panels | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Geometry Panels | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="geometry-panels">Geometry Panels</h1>
|
||||
|
||||
<p>Geometry Panels are GUIs of <a href="../../basic/geom/basic-geometry.html">Geometry Objects</a>.</p>
|
||||
<p>Use <a href="geom-manage-control.html">Geometry Management Control</a> to get, set and manage the geometry.</p>
|
||||
<h2 id="basic-geometry-control">Basic Geometry Control</h2>
|
||||
<ul>
|
||||
<li><a href="box3d-control.html">Box3dControl</a> - A control for editing a 3D box defined by its minimum and maximum coordinates.</li>
|
||||
<li><a href="cylindroid-control.html">CylindroidControl</a> - A control for editing a cylindroid defined by a series of radius values along the Z-axis.</li>
|
||||
<li><a href="stlfile-control.html">StlFileControl</a> - A control for loading and manipulating STL files.</li>
|
||||
</ul>
|
||||
<h2 id="management-geometry-control">Management Geometry Control</h2>
|
||||
<ul>
|
||||
<li><a href="transformation-geom-control.html">TransformationGeomControl</a> - A control for applying transformations to geometric objects.</li>
|
||||
<li><a href="geom-combination-control.html">GeomCombinationControl</a> - A control for combining multiple geometric objects.</li>
|
||||
</ul>
|
||||
<h2 id="special-geometry-control">Special Geometry Control</h2>
|
||||
<ul>
|
||||
<li><a href="runtime-geom-panel.html">Runtime Geometry Panel</a>
|
||||
The model is not <a class="xref" href="../../../../api/Hi.Geom.IStlSource.html">IStlSource</a>. However, It should have the same design pattern with <a href="stlfile-control.html">StlFileControl</a>.</li>
|
||||
<li><a href="extended-cylinder-panel.html">Extended Cylinder Panel</a></li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/geom/</li>
|
||||
<li>Controller/Geom/GeomController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,139 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Runtime Geometry Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Runtime Geometry Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="runtime-geometry-panel">Runtime Geometry Panel</h1>
|
||||
|
||||
<p>Key model is <a class="xref" href="../../../../api/Hi.Cbtr.CubeTreeFile.html">CubeTreeFile</a>.</p>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>The term Runtime Geometry is <a class="xref" href="../../../../api/Hi.Cbtr.CubeTree.html">CubeTree</a>.</p>
|
||||
</div>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Runtime Geom Panel
|
||||
<ul>
|
||||
<li>File Selector</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/RuntimeGeomPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/geom/runtime-geom-panel.js</li>
|
||||
<li>Controller/Geom/GeomController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,140 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>StlFileControl | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="StlFileControl | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="stlfilecontrol">StlFileControl</h1>
|
||||
|
||||
<p>The <code>StlFileControl</code> provides a user interface for loading and manipulating STL (STereoLithography) files, which are commonly used for representing 3D surface geometry.</p>
|
||||
<h2 id="features">Features</h2>
|
||||
<ul>
|
||||
<li>Load STL files from the file system</li>
|
||||
<li>Display the path of the loaded STL file</li>
|
||||
<li>View basic information about the loaded STL (when available)</li>
|
||||
</ul>
|
||||
<h2 id="ui-layout">UI Layout</h2>
|
||||
<p>The <code>StlFileControl</code> includes the following UI elements:</p>
|
||||
<ol>
|
||||
<li><strong>File Path</strong> - A text box showing the path of the loaded STL file</li>
|
||||
<li><strong>Browse Button</strong> - Opens a file dialog to select an STL file</li>
|
||||
<li><strong>Information Panel</strong> - Displays information about the loaded STL file (when available)</li>
|
||||
</ol>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/StlFileControl</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/geom/stlfile-control.js</li>
|
||||
<li>Controller/Geom/GeomController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+156
@@ -0,0 +1,156 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>TransformationGeomControl | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="TransformationGeomControl | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="transformationgeomcontrol">TransformationGeomControl</h1>
|
||||
|
||||
<p>The <code>TransformationGeomControl</code> provides a user interface for applying transformations to geometric objects. It allows you to wrap any geometry with transformation parameters like scaling, rotation, and translation.</p>
|
||||
<h2 id="features">Features</h2>
|
||||
<ul>
|
||||
<li>Select and edit the base geometry object</li>
|
||||
<li>Apply transformations including scaling, rotation, and translation</li>
|
||||
<li>Preview the transformed geometry</li>
|
||||
</ul>
|
||||
<h2 id="ui-layout">UI Layout</h2>
|
||||
<p>The <code>TransformationGeomControl</code> includes the following UI elements:</p>
|
||||
<ul>
|
||||
<li>Base Geometry - A combo box for selecting the type of base geometry</li>
|
||||
<li>Geometry Properties - A container that shows the appropriate control for the selected geometry type</li>
|
||||
<li><a href="../mech/topo/transformers.html">Transformation Selection Bar</a>
|
||||
<ul>
|
||||
<li>Available options (The dynamic transformer is not avaible):
|
||||
<ul>
|
||||
<li>Null Transform Option (Show if originally existed or code-behind optionally assinged)</li>
|
||||
<li>Identity Transform Option (Show if originally existed or code-behind optionally assinged)</li>
|
||||
<li>Static Translate Option</li>
|
||||
<li>General Transform Option</li>
|
||||
<li>Freeform Transform Option</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
<ul>
|
||||
<li><a href="../../basic/mechanism/transformers/index.html">Transformers</a></li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-source-code-path">WPF Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/TransformationGeomControl</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/geom/transformation-geom-control.js</li>
|
||||
<li>Controller/Geom/GeomController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,171 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Sketch to Build HiNC GUI | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Sketch to Build HiNC GUI | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="sketch-to-build-hinc-gui">Sketch to Build HiNC GUI</h1>
|
||||
|
||||
<p>Apply <a href="general-rules.html">General Rules</a> to build the HiNC GUI.</p>
|
||||
<h2 id="wpf-application-source-code">WPF Application Source Code</h2>
|
||||
<p>The source code of HiNC-2025-win-desktop project is at the git repository:</p>
|
||||
<p><a href="https://superhightech-gitea.webredirect.org/HiNC-Deploy/HiNC-2025-win-desktop.git">https://superhightech-gitea.webredirect.org/HiNC-Deploy/HiNC-2025-win-desktop.git</a></p>
|
||||
<h2 id="web-page-application-source-code">Web Page Application Source Code</h2>
|
||||
<p>The source code of HiNC-2025-webapi project is at the git repository:</p>
|
||||
<p><a href="https://superhightech-gitea.webredirect.org/HiNC-Deploy/HiNC-2025-webapi.git">https://superhightech-gitea.webredirect.org/HiNC-Deploy/HiNC-2025-webapi.git</a></p>
|
||||
<h2 id="step-by-step-program-construction-check-list">Step by Step Program Construction Check List</h2>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>If you are using AI agent to build the application:</p>
|
||||
<ul>
|
||||
<li>Ask AI to do only one job at one time to ensure the quality.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<ol>
|
||||
<li>Create and config a application project.
|
||||
<ol>
|
||||
<li>Set the project platform to x64.</li>
|
||||
<li>Create a application project.</li>
|
||||
<li>Add <code>HiNc</code> packages to the project. See <a href="../getting-started/index.html">Getting Started</a> to config the packages.</li>
|
||||
</ol>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>Add <code>Hi.Wpf</code> packages to the project if the building WPF project.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>Create Main Window, set the layout according to <a href="main-panel.html#main-panel-layout">Main Panel Layout</a>.</li>
|
||||
<li>Build <code>Message Section</code> according to <a href="message-section-on-main-panel.html">Message Section on Main Panel</a>.</li>
|
||||
<li>Initialize HiAPI at application entry point according to <a href="initialize-hiapi.html">Initialize HiAPI</a>.</li>
|
||||
<li>Set behavior of <code>Navigation Menu</code>/<code>Project</code> according to <a href="main-panel.html#behavior-of-navigation-menuproject">Behavior of Navigation Menu/Project</a>.</li>
|
||||
<li>Create <a href="renderingcanvas-tool-bar.html">RenderingCanvas Tool Bar</a> for later usage.</li>
|
||||
<li>Create by <code>Player Panel</code> the <a href="player/index.html#step-by-step-program-construction-check-list">Player Panel Step by Step Program Construction Check List</a>.</li>
|
||||
<li>Build behavior of <a href="preference/graphic-cache-dropdown.html">Graphic-Cache Dropdown</a>.</li>
|
||||
<li>Build basic GUI widget component:
|
||||
<ul>
|
||||
<li><a href="widget/vec3d/index.html">Vec3dControl</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Build <a href="mech/topo/transformers.html">Transformers</a></li>
|
||||
<li>Build <a href="geom/index.html">Geometry Panels</a>.</li>
|
||||
<li>Build <a href="mech/fixture-page.html">Fixture Page</a>.</li>
|
||||
<li>Build <a href="mech/workpiece-page.html">Workpiece Page</a>.</li>
|
||||
<li>Build <a href="controller/index.html">Controller Page</a>.</li>
|
||||
<li>Build <a href="mech/tool-house-page.html">ToolHouse Page</a>.</li>
|
||||
<li>Add application icon, splash screen and etc..</li>
|
||||
<li>(The content is consturcting..)</li>
|
||||
</ol>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<ul>
|
||||
<li>Complete the check list step by step.</li>
|
||||
<li>Compile to ensure the code work on each step completed.</li>
|
||||
<li>You MUST read the cited hyperlink before you do the job. ASK if you think the hyperlink is not work.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,120 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Initialize HiAPI at Application Entry Point | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Initialize HiAPI at Application Entry Point | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="initialize-hiapi-at-application-entry-point">Initialize HiAPI at Application Entry Point</h1>
|
||||
|
||||
<p>At the application entry point, you need to initialize HiAPI and set the exiting event.</p>
|
||||
<ul>
|
||||
<li><xref:Hi.HiNcKits.LocalApp.AppBegin()></li>
|
||||
<li><xref:Hi.HiNcKits.LocalApp.AppEnd()></li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,208 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Main Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Main Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="main-panel">Main Panel</h1>
|
||||
|
||||
<ul>
|
||||
<li>Key Model
|
||||
<ul>
|
||||
<li>WPF Single-User Desktop Application: Self-hosted <a class="xref" href="../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a></li>
|
||||
<li>Web Page Application: Singleton Service inherits from <a class="xref" href="../../../api/Hi.MachiningProcs.IPathedMachiningProjectHost.html">IPathedMachiningProjectHost</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Other Model: <a class="xref" href="../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>
|
||||
<ul>
|
||||
<li>If the application is single-user application, the model binds to <a class="xref" href="../../../api/Hi.HiNcKits.LocalApp.html">LocalApp</a>.<a class="xref" href="../../../api/Hi.HiNcKits.LocalApp.html#Hi_HiNcKits_LocalApp_UserEnv">UserEnv</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="main-panel-layout"><code>Main Panel</code> Layout</h2>
|
||||
<ul>
|
||||
<li>Top <code>Navigation Menu</code>
|
||||
<ul>
|
||||
<li><code>Project Menu Dropdown</code>
|
||||
<ul>
|
||||
<li><code>Project Path Text Field</code></li>
|
||||
<li><code>New MenuItem</code></li>
|
||||
<li><code>Load MenuItem</code></li>
|
||||
<li><code>Save MenuItem</code></li>
|
||||
<li><code>Save As MenuItem</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>Environment Menu Dropdown</code>
|
||||
<ul>
|
||||
<li>Machine Tool MenuItem
|
||||
Open <a href="mech/machining-chain-page.html">Machine Tool Page</a>
|
||||
Sole window in WPF app.
|
||||
The page manages <a class="xref" href="../../../api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_MachiningEquipment">MachiningEquipment</a>.<Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.MachiningChain>.</li>
|
||||
<li>Controller MenuItem
|
||||
Open <a href="controller/index.html">Controller Page</a></li>
|
||||
<li>Tool House MenuItem</li>
|
||||
<li>Fixture MenuItem
|
||||
Open <a href="mech/fixture-page.html">Fixture Page</a></li>
|
||||
<li>Workpiece MenuItem
|
||||
Open <a href="mech/workpiece-page.html">Workpiece Page</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Mission MenuItem
|
||||
Open <a href="mission/index.html">Mission Page</a></li>
|
||||
<li>Player MenuItem
|
||||
Link to <a href="player/index.html">Player Panel</a>
|
||||
(Not exist on WPF app.)</li>
|
||||
<li>Player Belonged Tool Bars. See <a href="player/index.html">Player Panel</a>. Shows only if the Main Panel content is Player Panel.</li>
|
||||
<li><a href="preference/index.html">Preference Menu Dropdown</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Central <code>Page Panel</code></li>
|
||||
<li><a href="message-section-on-main-panel.html">Message Section on Main Panel</a></li>
|
||||
</ul>
|
||||
<h2 id="behavior-of-navigation-menuproject">Behavior of <code>Navigation Menu</code>/<code>Project</code></h2>
|
||||
<p><code>Project Path Text Field</code> Shows the Project Path if the project is assinged.</p>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p><code>Project Path Text Field</code> should not be button style. It should be a pure text field that can be selected and copied.</p>
|
||||
</div>
|
||||
<p>The <code>Project</code> Menu Managing <a class="xref" href="../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>.</p>
|
||||
<p>To <code>New</code> (create), <code>Save</code> and <code>Save As</code> the <a class="xref" href="../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>, See <a class="xref" href="../../sample/Sample.Machining.DemoBuildGeomOnlyMachiningProject.html">DemoBuildGeomOnlyMachiningProject</a> for the example.</p>
|
||||
<p>To <code>Load</code> <a class="xref" href="../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>, See <a class="xref" href="../../sample/Sample.Machining.DemoUseMachiningProject.html">DemoUseMachiningProject</a> for the example.</p>
|
||||
<p>Show message for the actions result (successed or has exception) by <a class="xref" href="../../../api/Hi.Common.Messages.MessageKit.html">MessageKit</a>.</p>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Recommmand using static function of <a class="xref" href="../../../api/Hi.Common.Messages.MessageKit.html">MessageKit</a> to do the job.
|
||||
Read document of <a class="xref" href="../../../api/Hi.Common.Messages.MessageKit.html">MessageKit</a> to ensure the proper usage.</p>
|
||||
</div>
|
||||
<p>On project loaded (<code>Navigation Menu</code>/<code>Project</code>/<code>Load MenuItem</code>)
|
||||
, set the Player.Panel.RenderingCanvas.DispEngine to <a class="xref" href="../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_SetViewToIsometricView">SetViewToIsometricView()</a>.</p>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Using async to comfort the process</p>
|
||||
</div>
|
||||
<h2 id="wpf-application-specification">WPF Application Specification</h2>
|
||||
<p>Limit the GUI that only single Page/Window existed in the application for the sub window from the Main Panel, include Mission, Workpiece and Fixture.</p>
|
||||
<p>Don't create the Player MenuItem if the target application is WPF Application. Since the Main panel is the Player Panel and the panel is fixed to the main panel.</p>
|
||||
<h2 id="web-page-application-specification">Web-Page Application Specification</h2>
|
||||
<p>Apply Player Panel as the default panel.</p>
|
||||
<h2 id="application-specification-and-source-code-path">Application Specification and Source Code Path</h2>
|
||||
<p>See <a href="index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>MainWindow</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Controllers/PreferenceController.cs</li>
|
||||
<li>wwwroot/main.js</li>
|
||||
<li>wwwroot/index.html</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-specification-1">Web Page Application Specification</h3>
|
||||
<p>The page and URL are bi-directional.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+151
@@ -0,0 +1,151 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>APT Profile Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="APT Profile Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="apt-profile-panel">APT Profile Panel</h1>
|
||||
|
||||
<p>The main model is <a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html">AptProfile</a> and its property <a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html">AptProfile</a>.<a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html#Hi_Milling_Cutters_AptProfile_Apt">Apt</a>.</p>
|
||||
<p>See <a href="../../../../user-guide/zh-Hant/milling-tool/apt.html">APT Cutter Definition</a>. <a class="xref" href="../../../../../api/Hi.Milling.Apts.GeneralApt.html">GeneralApt</a> is the generalization of other <a class="xref" href="../../../../../api/Hi.Milling.Apts.IAptBased.html">IAptBased</a> types.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>APT Profile Panel
|
||||
<ul>
|
||||
<li>Diameter Input Field (mm)</li>
|
||||
<li>Round Radius Input Field (mm)
|
||||
Visibly if <a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html#Hi_Milling_Cutters_AptProfile_Apt">Apt</a> is <a class="xref" href="../../../../../api/Hi.Milling.Apts.IAptRc.html">IAptRc</a></li>
|
||||
<li>Round Ring Radius Input Field(mm)
|
||||
Visibly if <a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html#Hi_Milling_Cutters_AptProfile_Apt">Apt</a> is <a class="xref" href="../../../../../api/Hi.Milling.Apts.IAptRr.html">IAptRr</a></li>
|
||||
<li>Round Ring Height Input Field(mm)
|
||||
Visibly if <a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html#Hi_Milling_Cutters_AptProfile_Apt">Apt</a> is <a class="xref" href="../../../../../api/Hi.Milling.Apts.IAptRz.html">IAptRz</a></li>
|
||||
<li>Bottom Cone Angle Input Field (deg)
|
||||
Visibly if <a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html#Hi_Milling_Cutters_AptProfile_Apt">Apt</a> is <a class="xref" href="../../../../../api/Hi.Milling.Apts.IAptAlpha.html">IAptAlpha</a></li>
|
||||
<li>Top Cone Angle Input Field (deg)
|
||||
Visibly if <a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html#Hi_Milling_Cutters_AptProfile_Apt">Apt</a> is <a class="xref" href="../../../../../api/Hi.Milling.Apts.IAptBeta.html">IAptBeta</a></li>
|
||||
<li>Length of Cut Input Field (mm)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Keep field format “G4”</p>
|
||||
</div>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/ToolHouse/AptProfilePanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/cutter/apt-profile-panel.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+200
@@ -0,0 +1,200 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Freeform Remover Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Freeform Remover Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="freeform-remover-panel">Freeform Remover Panel</h1>
|
||||
|
||||
<p>The key model is <a class="xref" href="../../../../../api/Hi.Machining.FreeformRemover.html">FreeformRemover</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Freeform Remover Panel
|
||||
<ul>
|
||||
<li>Tabs
|
||||
<ul>
|
||||
<li>Strut Geometry Tab
|
||||
<ul>
|
||||
<li><a href="../../geom/geom-manage-control.html">Geometry Management Panel</a>
|
||||
<ul>
|
||||
<li>Manages <a class="xref" href="../../../../../api/Hi.Machining.FreeformRemover.html#Hi_Machining_FreeformRemover_StrutGeom">StrutGeom</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Shaper Geometry Tab
|
||||
<ul>
|
||||
<li><a href="../../geom/geom-manage-control.html">Geometry Management Panel</a>
|
||||
<ul>
|
||||
<li>Manages <a class="xref" href="../../../../../api/Hi.Machining.FreeformRemover.html#Hi_Machining_FreeformRemover_ShaperGeom">ShaperGeom</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Anchor Tab
|
||||
<ul>
|
||||
<li>Label: Geometry Anchor To Holder Buckle</li>
|
||||
<li><a class="xref" href="../../../../../api/Hi.Machining.FreeformRemover.html#Hi_Machining_FreeformRemover_KeepHolderBuckleOnTop">KeepHolderBuckleOnTop</a> Checkbox</li>
|
||||
<li><a href="../topo/transformers.html">Transformer Manage Panel</a>
|
||||
<ul>
|
||||
<li>Model is <a class="xref" href="../../../../../api/Hi.Machining.FreeformRemover.html#Hi_Machining_FreeformRemover_GeomToHolderTransformer">GeomToHolderTransformer</a></li>
|
||||
<li>Enabled if <a class="xref" href="../../../../../api/Hi.Machining.FreeformRemover.html#Hi_Machining_FreeformRemover_KeepHolderBuckleOnTop">KeepHolderBuckleOnTop</a> is true.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Property Tab
|
||||
<ul>
|
||||
<li>Is Spinning Cutter Checkbox
|
||||
<ul>
|
||||
<li>Controls <a class="xref" href="../../../../../api/Hi.Machining.FreeformRemover.html#Hi_Machining_FreeformRemover_IsSpinningCutter">IsSpinningCutter</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Info Tab
|
||||
<ul>
|
||||
<li>Name TextField (editable)</li>
|
||||
<li>AbstractNote TextField (readonly)</li>
|
||||
<li>Note TextField (editable)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="geometry-definitions">Geometry Definitions</h2>
|
||||
<ul>
|
||||
<li><strong>Strut Geometry</strong> - The non-cutting portion (holder/shank)
|
||||
<ul>
|
||||
<li>Used for collision detection</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Shaper Geometry</strong> - The cutting portion
|
||||
<ul>
|
||||
<li>Defines cutting surfaces</li>
|
||||
<li>Used for material removal simulation</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="implementation-note">Implementation Note</h2>
|
||||
<p>Remember to call <a class="xref" href="../../../../../api/Hi.Machining.FreeformRemover.html#Hi_Machining_FreeformRemover_ClearCache">ClearCache()</a> after geometry changes.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/ToolHouse/FreeformRemoverPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/cutter/freeform-remover-panel.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,161 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Cutter Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Cutter Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="cutter-panel">Cutter Panel</h1>
|
||||
|
||||
<h2 id="overview">Overview</h2>
|
||||
<p>The key component is <a class="xref" href="../../../../../api/Hi.Machining.ICutter.html">ICutter</a>.</p>
|
||||
<p>The Cutter Panel is used to manage cutting tool definitions in HiNC. It supports two main types of cutting tools: <a class="xref" href="../../../../../api/Hi.Milling.Cutters.MillingCutter.html">MillingCutter</a> and <a class="xref" href="../../../../../api/Hi.Machining.FreeformRemover.html">FreeformRemover</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Cutter Panel
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a href="../../widget/object-management-menu-button.html">Object Management Menu Button</a>
|
||||
<ul>
|
||||
<li>File extension is <code>.Cutter</code></li>
|
||||
<li>The pointed Editor Panel is Cutter Management Panel</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Title Label</li>
|
||||
<li>Cutter Type Selection Dropdown
|
||||
<ul>
|
||||
<li>Options: Milling Cutter, Freeform Remover, Unset</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Cutter Management Panel
|
||||
Varies by the Cutter Type. It can be:
|
||||
<ul>
|
||||
<li><a href="milling-cutter-panel.html">Milling Cutter Panel</a></li>
|
||||
<li><a href="freeform-remover-panel.html">Freeform Remover Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="features">Features</h2>
|
||||
<p>Since <a class="xref" href="../../../../../api/Hi.Machining.ICutter.html">ICutter</a> implements <a class="xref" href="../../../../../api/Hi.Common.IClearCache.html">IClearCache</a>, remember to call the <a class="xref" href="../../../../../api/Hi.Common.IClearCache.html#Hi_Common_IClearCache_ClearCache_">ClearCache</a> method when the cutter geometry or properties change to ensure proper updates in simulation.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/ToolHouse/CutterManagementPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/cutter/cutter-management-panel.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+451
@@ -0,0 +1,451 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Milling Cutter Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Milling Cutter Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="milling-cutter-panel">Milling Cutter Panel</h1>
|
||||
|
||||
<p>The key model is <a class="xref" href="../../../../../api/Hi.Milling.Cutters.MillingCutter.html">MillingCutter</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Milling Cutter Panel
|
||||
<ul>
|
||||
<li>Tabs
|
||||
<ul>
|
||||
<li><a href="#flute-profile-tab">Flute-Profile Tab</a></li>
|
||||
<li>Upper-Beam Tab
|
||||
<ul>
|
||||
<li><a href="../../geom/geom-manage-control.html">Geometry Management Control</a>
|
||||
<a class="xref" href="../../../../../api/Hi.Geom.ExtendedCylinder.html">ExtendedCylinder</a> option is enabled.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#property-tab">Property Tab</a></li>
|
||||
<li><a href="#insert-cutter-tab">Insert-Cutter Tab</a></li>
|
||||
<li><a href="#material-tab">Material Tab</a></li>
|
||||
<li><a href="#flute-contours-tab">Flute-Contours Tab</a></li>
|
||||
<li><a href="#flute-inner-beam-tab">Flute-Inner-Beam Tab</a></li>
|
||||
<li><a href="#optimization-tab">Optimization Tab</a></li>
|
||||
<li>Info Tab
|
||||
<ul>
|
||||
<li>Name TextField (editable)</li>
|
||||
<li>AbstractNote TextField (readonly)</li>
|
||||
<li>Note TextField (editable)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="flute-profile-tab">Flute-Profile Tab</h3>
|
||||
<ul>
|
||||
<li>Profile Type Selection Dropdown
|
||||
<ul>
|
||||
<li>APT General (<a class="xref" href="../../../../../api/Hi.Milling.Apts.GeneralApt.html">GeneralApt</a>)</li>
|
||||
<li>APT Ball (<a class="xref" href="../../../../../api/Hi.Milling.Apts.BallApt.html">BallApt</a>)</li>
|
||||
<li>APT Column (<a class="xref" href="../../../../../api/Hi.Milling.Apts.ColumnApt.html">ColumnApt</a>)</li>
|
||||
<li>APT Cone (<a class="xref" href="../../../../../api/Hi.Milling.Apts.ConeApt.html">ConeApt</a>)</li>
|
||||
<li>APT Taper (<a class="xref" href="../../../../../api/Hi.Milling.Apts.TaperApt.html">TaperApt</a>)</li>
|
||||
<li>Custom Spinning Profile (<a class="xref" href="../../../../../api/Hi.Milling.Cutters.CustomSpinningProfile.html">CustomSpinningProfile</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Profile Configuration Panel
|
||||
<ul>
|
||||
<li>Dynamic component based on selected profile type</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>See <a class="xref" href="../../../../sample/Sample.Machining.DemoBuildMachiningProject.html">DemoBuildMachiningProject</a> for creating the apt profile and setting to the cutter.</p>
|
||||
<p>See <a href="apt-profile-panel.html">APT Panel</a> for APT-based Profile Configuration Panel. The APT series option is all wrap by <a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html">AptProfile</a> but with different property <a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html">AptProfile</a>.<a class="xref" href="../../../../../api/Hi.Milling.Cutters.AptProfile.html#Hi_Milling_Cutters_AptProfile_Apt">Apt</a> assigned.</p>
|
||||
<ul>
|
||||
<li>Custom Spinning Profile Panel
|
||||
<ul>
|
||||
<li><a href="../../geom/geom-manage-control.html">Geometry Management Control</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="property-tab">Property Tab</h3>
|
||||
<p>Visible if <a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true.</p>
|
||||
<ul>
|
||||
<li>Integral Mode Selection Dropdown
|
||||
<ul>
|
||||
<li>Solid End</li>
|
||||
<li>Insert End</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Cutter/Shank Mass Input Field (g)
|
||||
<ul>
|
||||
<li>Show the label ‘Cutter Mass’ if the Cutter is Solid End Integral Mode; Show the label ‘Shank Mass’ if the Cutter is Insert End Integral Mode.</li>
|
||||
<li>Value format “G4”</li>
|
||||
<li>Auto Update CheckBox
|
||||
The model is <a class="xref" href="../../../../../api/Hi.Milling.Cutters.MillingCutter.html#Hi_Milling_Cutters_MillingCutter_ShankMassAssignmentMode">ShankMassAssignmentMode</a>.
|
||||
<ul>
|
||||
<li>When enabled: field becomes readonly and shows calculated value.</li>
|
||||
<li>When disabled: field is editable</li>
|
||||
<li>Functionality Note: The value is calculate by the volume and density. The volume is the inner beam volume and the upper beam volume.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Hone Radius (μm) Input Field</li>
|
||||
<li>Relief Angle (deg) Input Field</li>
|
||||
<li>Minimum Available Cutting Thickness (μm)
|
||||
<ul>
|
||||
<li>Readonly field with format “G4”</li>
|
||||
<li>Shows calculated value from <a class="xref" href="../../../../../api/Hi.Milling.Cutters.MillingCutter.html#Hi_Milling_Cutters_MillingCutter_GetMinimumUncutChipThickness_um_Hi_MillingForces_Fittings_ICuttingPara_">GetMinimumUncutChipThickness_um(ICuttingPara)</a>. The argument (cutting parameter) is obtained by the <a class="xref" href="../../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>.<a class="xref" href="../../../../../api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_Workpiece_">Workpiece</a>.<a class="xref" href="../../../../../api/Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_CuttingPara">CuttingPara</a>. Series pass the models by the GUI if needed.</li>
|
||||
<li>Note Label
|
||||
<ul>
|
||||
<li>Show Workpiece Cutting Parameter Name.
|
||||
Label Text "Reference: Workpiece Cutting Parameter - {<a class="xref" href="../../../../../api/Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_CuttingPara">CuttingPara</a>.<a class="xref" href="../../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Name">Name</a>}".
|
||||
Since the thickness depdents on the Workpiece Cutting Parameter and hone radius.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="insert-cutter-tab">Insert-Cutter Tab</h3>
|
||||
<p>Visible if <a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true and Integral Mode is Insert End.</p>
|
||||
<ul>
|
||||
<li>Insert Number Input field</li>
|
||||
<li>Insert Mass Input field (g)
|
||||
<ul>
|
||||
<li>Format “G4”</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Insert Thickness Input field (mm)
|
||||
<ul>
|
||||
<li>Format “G4”</li>
|
||||
<li>The Insert Thickness is for computing heat transfer.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="material-tab">Material Tab</h3>
|
||||
<p>Visible if <a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true.</p>
|
||||
<ul>
|
||||
<li>Shank Material (visible only for Integral Mode is Insert End mode)
|
||||
<ul>
|
||||
<li>Material File Selector
|
||||
Apply <a class="xref" href="../../../../../api/Hi.Physics.IStructureMaterial.html">IStructureMaterial</a>
|
||||
<ul>
|
||||
<li>Menu Dropdown
|
||||
<ul>
|
||||
<li>Browse Button</li>
|
||||
<li>Browse Resource Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Readonly Name TextBox (<a class="xref" href="../../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Name">Name</a>)
|
||||
<ul>
|
||||
<li>ToolTip by <a class="xref" href="../../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Note">Note</a> from the material</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Flute Material
|
||||
<ul>
|
||||
<li>Material File Selector
|
||||
Apply <a class="xref" href="../../../../../api/Hi.Physics.CutterMaterial.html">CutterMaterial</a>
|
||||
<ul>
|
||||
<li>Menu Dropdown
|
||||
<ul>
|
||||
<li>Browse Button</li>
|
||||
<li>Browse Resource Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Readonly Name TextBox (<a class="xref" href="../../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Name">Name</a>)
|
||||
<ul>
|
||||
<li>ToolTip by <a class="xref" href="../../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Note">Note</a> from the material</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Coating Panel
|
||||
<ul>
|
||||
<li>Show note that the sequence starts from surface, i.e. from outer to inner.</li>
|
||||
<li>Manages <a class="xref" href="../../../../../api/Hi.Milling.Cutters.MillingCutter.html#Hi_Milling_Cutters_MillingCutter_CoatingLayerList">CoatingLayerList</a>
|
||||
<ul>
|
||||
<li>Exists sequence management.</li>
|
||||
<li>The first layer has the remark: Air-Exposing Coating.</li>
|
||||
<li><a class="xref" href="../../../../../api/Hi.Physics.ThermalLayer1D.html">ThermalLayer1D</a> Component
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<ul>
|
||||
<li>Keep the child components to one line.</li>
|
||||
<li>After Coating Material is manual loaded, set the <a class="xref" href="../../../../../api/Hi.Physics.CoatingMaterial.html#Hi_Physics_CoatingMaterial_PreferedThickness_um">PreferedThickness_um</a> to the <a class="xref" href="../../../../../api/Hi.Physics.ThermalLayer1D.html#Hi_Physics_ThermalLayer1D_Length_um">Length_um</a> and update the corresponding field.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<ul>
|
||||
<li>Coating Material
|
||||
<ul>
|
||||
<li>Material File Selector
|
||||
Apply <a class="xref" href="../../../../../api/Hi.Physics.CoatingMaterial.html">CoatingMaterial</a>
|
||||
<ul>
|
||||
<li>Menu Dropdown
|
||||
<ul>
|
||||
<li>Browse Button</li>
|
||||
<li>Browse Resource Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Readonly Name TextBox (<a class="xref" href="../../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Name">Name</a>)
|
||||
<ul>
|
||||
<li>ToolTip by <a class="xref" href="../../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Note">Note</a> from the material</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Thickness Input Field (um) (editable)
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../../api/Hi.Physics.ThermalLayer1D.html#Hi_Physics_ThermalLayer1D_Length_um">Length_um</a></li>
|
||||
<li>Use format “G4”</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>If the cutter is Solid End, the Shank Material should keep the same with Flute Material. i.e. Set the Shank Material when Flute Material set.</p>
|
||||
<h4 id="default-resource">Default Resource</h4>
|
||||
<p>The default resources of Material exist in <code>Resource</code> folder under application folder (Not project folder). Set the corresponding default folder of the File Selector to the <code>Resource</code> sub folder:</p>
|
||||
<ul>
|
||||
<li>“Resource/StructureMaterial”</li>
|
||||
<li>“Resource/CutterMaterial”</li>
|
||||
<li>“Resource/CoatingMaterial”</li>
|
||||
</ul>
|
||||
<h3 id="flute-contours-tab">Flute-Contours Tab</h3>
|
||||
<p>Visible if <a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true.</p>
|
||||
<p>This part manages <a class="xref" href="../../../../../api/Hi.Milling.Cutters.MillingCutter.html#Hi_Milling_Cutters_MillingCutter_FluteContourTray">FluteContourTray</a>.</p>
|
||||
<ul>
|
||||
<li>Contour Tray Selection Dropdown
|
||||
<ul>
|
||||
<li>Uniform Contour Tray (<a class="xref" href="../../../../../api/Hi.Milling.FluteContours.UniformContourTray.html">UniformContourTray</a>)</li>
|
||||
<li>Free Contour Tray (<a class="xref" href="../../../../../api/Hi.Milling.FluteContours.FreeContourTray.html">FreeContourTray</a>)</li>
|
||||
<li>Unset</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Contour Tray Configuration Panel
|
||||
<ul>
|
||||
<li>Dynamic component based on selected contour tray type</li>
|
||||
<li>For Uniform Contour Tray:
|
||||
<ul>
|
||||
<li>Track Number Input Field</li>
|
||||
<li>Baseline Contour Configuration
|
||||
//building</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>For Free Contour Tray:
|
||||
<ul>
|
||||
<li>Individual contour configuration for each flute
|
||||
//building</li>
|
||||
<li>Add/Remove contour controls</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="flute-inner-beam-tab">Flute-Inner-Beam Tab</h3>
|
||||
<p>Visible if <a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true.</p>
|
||||
<p>This part manages <a class="xref" href="../../../../../api/Hi.Milling.Cutters.MillingCutter.html#Hi_Milling_Cutters_MillingCutter_InnerBeamProfile">InnerBeamProfile</a>.</p>
|
||||
<ul>
|
||||
<li>Profile Type Selection Dropdown
|
||||
<ul>
|
||||
<li>Flute Dependent Ratio Profile (<a class="xref" href="../../../../../api/Hi.Milling.Cutters.FluteDependentRatioProfile.html">FluteDependentRatioProfile</a>)</li>
|
||||
<li>Const Ratio Profile (<a class="xref" href="../../../../../api/Hi.Milling.Cutters.ConstRatioProfile.html">ConstRatioProfile</a>)</li>
|
||||
<li>Custom Spinning Profile (<a class="xref" href="../../../../../api/Hi.Milling.Cutters.CustomSpinningProfile.html">CustomSpinningProfile</a>)</li>
|
||||
<li>Unset</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Profile Configuration Panel
|
||||
<ul>
|
||||
<li>Dynamic component based on selected profile type</li>
|
||||
<li>For Flute Dependent Ratio Profile:
|
||||
<ul>
|
||||
<li>Radius Ratio Number Field (readonly)
|
||||
<ul>
|
||||
<li>Label also shows the additional information: ‘Dependent on flute num xxx’, the ‘xxx’ is the flute number that pass by <a class="xref" href="../../../../../api/Hi.Milling.Cutters.MillingCutter.html">MillingCutter</a>.<a class="xref" href="../../../../../api/Hi.Milling.Cutters.MillingCutter.html#Hi_Milling_Cutters_MillingCutter_FluteContourTray_">FluteContourTray</a>. Series pass the model by the GUI if needed.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>For Const Ratio Profile:
|
||||
<ul>
|
||||
<li>Radius Ratio Number Field (editable)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>For Custom Spinning Profile:
|
||||
<ul>
|
||||
<li><a href="../../geom/geom-manage-control.html">Geometry Management Control</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="optimization-tab">Optimization Tab</h3>
|
||||
<p>Visible if <a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true.</p>
|
||||
<p>This part manages <a class="xref" href="../../../../../api/Hi.NcOpt.MillingCutterOptLimit.html">MillingCutterOptLimit</a>.</p>
|
||||
<ul>
|
||||
<li>Enable Optimization Checkbox
|
||||
<ul>
|
||||
<li>Controls whether optimization limits are active</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>When optimization is enabled:
|
||||
<ul>
|
||||
<li>Limit by Theoretical Minimum Feed Per Tooth Checkbox
|
||||
<ul>
|
||||
<li>Shows calculated minimum uncut chip thickness value.
|
||||
To get the value, <a class="xref" href="../../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>.<a class="xref" href="../../../../../api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_Workpiece_">Workpiece</a>.<a class="xref" href="../../../../../api/Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_CuttingPara_">CuttingPara</a> and <a class="xref" href="../../../../../api/Hi.Milling.Cutters.MillingCutter.html">MillingCutter</a> are required. Series pass the model by the GUI if needed.</li>
|
||||
<li>When checked, enforces minimum feed constraint</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Min Feed Per Tooth (mm) Number Field
|
||||
<ul>
|
||||
<li>Step (If UI supported): 0.01</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Max Feed Per Tooth (mm) Number Field
|
||||
<ul>
|
||||
<li>Step (If UI supported): 0.01</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Safety Factor for Yielding Number Field
|
||||
<ul>
|
||||
<li>Step (If UI supported): 0.1</li>
|
||||
<li>Default value typically around 2.0</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/ToolHouse/MillingCutterPanel</li>
|
||||
<li>Mech/ToolHouse/AptProfilePanel</li>
|
||||
<li>Mech/ToolHouse/MaterialTabPanel</li>
|
||||
<li>Mech/ToolHouse/PropertyTabPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/cutter/milling-cutter-panel.js</li>
|
||||
<li>wwwroot/mech/cutter/apt-profile-panel.js</li>
|
||||
<li>wwwroot/mech/cutter/material-tab-panel.js</li>
|
||||
<li>wwwroot/mech/cutter/property-tab-panel.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,196 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Fixture Page | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Fixture Page | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="fixture-page">Fixture Page</h1>
|
||||
|
||||
<p>The page triggers by <a href="../main-panel.html">Main Panel</a>.</p>
|
||||
<p>The key model is <a class="xref" href="../../../../api/Hi.NcMech.Fixtures.Fixture.html">Fixture</a> and <a class="xref" href="../../../../api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html">FixtureEditorDisplayeeConfig</a>.
|
||||
Fixture is assigned from the Main Panel's <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>.<a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_MachiningEquipment">MachiningEquipment</a>.<a class="xref" href="../../../../api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipment_Fixture">Fixture</a>.</p>
|
||||
<p><a class="xref" href="../../../../api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html">FixtureEditorDisplayeeConfig</a> is from <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.UserConfig.html">UserConfig</a> which assigned from the parent component.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Fixture Page
|
||||
<ul>
|
||||
<li>Management Panel
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a href="../widget/object-management-menu-button.html">Object Management Menu Button</a>
|
||||
<ul>
|
||||
<li>file extension is Fixture</li>
|
||||
<li>The pointed Editor Panel is Management Tabs Panel</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Title Label</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Management Tabs Panel
|
||||
<ul>
|
||||
<li>Geometry Tab
|
||||
(Apply <a href="../geom/geom-manage-control.html">Geometry Management Control</a> to set the <a class="xref" href="../../../../api/Hi.NcMech.Fixtures.Fixture.html">Fixture</a>.<a class="xref" href="../../../../api/Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_Geom">Geom</a>.)</li>
|
||||
<li>Anchor Tab
|
||||
(Apply <a href="topo/transformers.html">Transformer Manage Panel</a> to set the following tabs)
|
||||
<ul>
|
||||
<li>Geom To Workpiece Tab</li>
|
||||
<li>Geom To Table Tab</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Viewer Panel
|
||||
<ul>
|
||||
<li>Viewer ToolBar
|
||||
<ul>
|
||||
<li><a href="../renderingcanvas-tool-bar.html">RenderingCanvas Tool Bar</a></li>
|
||||
<li>SetupDisplayee Options ToolBar
|
||||
<ul>
|
||||
<li>Options of <a class="xref" href="../../../../api/Hi.NcMech.Fixtures.FixtureEditorDisplayee.html">FixtureEditorDisplayee</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>RenderingCanvas
|
||||
<ul>
|
||||
<li>The <a class="xref" href="../../../../api/Hi.Disp.DispEngine.html">DispEngine</a>.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_Displayee">Displayee</a> is <a class="xref" href="../../../../api/Hi.NcMech.Fixtures.FixtureEditorDisplayee.html">FixtureEditorDisplayee</a> (Apply the model <a class="xref" href="../../../../api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html">FixtureEditorDisplayeeConfig</a>).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<ul>
|
||||
<li>Add a resizable splition bar between Manage Panel and Viewer Panel.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h2 id="behavior">Behavior</h2>
|
||||
<ul>
|
||||
<li>Call <a class="xref" href="../../../../api/Hi.NcMech.Fixtures.Fixture.html">Fixture</a>.<a class="xref" href="../../../../api/Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_ClearGeomCache">ClearGeomCache()</a> on geometry set or changed.</li>
|
||||
<li>Call RenderCanvas.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html">DispEngine</a>.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_SetViewToIsometricView">SetViewToIsometricView()</a> on geometry set. (Since the assumption of the shape set raise larger viewer changed than content changed, only adjust view of the setter event.)</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/Fixtures/FixturePage</li>
|
||||
<li>Mech/Fixtures/FixtureWindow</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/fixture-page.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+159
@@ -0,0 +1,159 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Cylindroid Holder Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Cylindroid Holder Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="cylindroid-holder-panel">Cylindroid Holder Panel</h1>
|
||||
|
||||
<p>The key model is <a class="xref" href="../../../../../api/Hi.NcMech.Holders.CylindroidHolder.html">CylindroidHolder</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Cylindroid Holder Panel
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li>Title Label</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Tabs
|
||||
<ul>
|
||||
<li>Geometry Tab
|
||||
<ul>
|
||||
<li><a href="../../geom/cylindroid-control.html">Cylindroid Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Resolution Tab
|
||||
Model: <a class="xref" href="../../../../../api/Hi.NcMech.Holders.CylindroidHolder.html#Hi_NcMech_Holders_CylindroidHolder_PolarResolution2d">PolarResolution2d</a>
|
||||
<a href="../../widget/polar-resolution-2d-panel.html">Polar Resolution 2d</a></li>
|
||||
<li>Info Tab
|
||||
<ul>
|
||||
<li>Name TextField (editable)</li>
|
||||
<li>AbstractNote TextField (readonly)</li>
|
||||
<li>Note TextField (editable)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Remember to call <a class="xref" href="../../../../../api/Hi.NcMech.Holders.CylindroidHolder.html#Hi_NcMech_Holders_CylindroidHolder_UpdateByCylindroid">UpdateByCylindroid()</a> after geometry reference or content changed.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/ToolHouse/CylindroidHolderPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/holder/cylindroid-holder-panel.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+166
@@ -0,0 +1,166 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Freeform Holder Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Freeform Holder Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="freeform-holder-panel">Freeform Holder Panel</h1>
|
||||
|
||||
<p>The key model is <a class="xref" href="../../../../../api/Hi.NcMech.Holders.FreeformHolder.html">FreeformHolder</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Freeform Holder Panel
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li>Title Label</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Tabs
|
||||
<ul>
|
||||
<li>Geometry Tab
|
||||
<ul>
|
||||
<li><a href="../../geom/geom-manage-control.html">Geometry Management Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Anchor Tab
|
||||
(Apply <a href="../topo/transformers.html">Transformer Manage Panel</a> to set the following tabs)
|
||||
<ul>
|
||||
<li>Geom To Spindle Tab</li>
|
||||
<li>Geom To Cutter Tab</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Resolution Tab
|
||||
Model: <a class="xref" href="../../../../../api/Hi.NcMech.Holders.FreeformHolder.html#Hi_NcMech_Holders_FreeformHolder_PolarResolution2d">PolarResolution2d</a>
|
||||
<a href="../../widget/polar-resolution-2d-panel.html">Polar Resolution 2d</a></li>
|
||||
<li>Info Tab
|
||||
<ul>
|
||||
<li>Name TextField (editable)</li>
|
||||
<li>AbstractNote TextField (readonly)</li>
|
||||
<li>Note TextField (editable)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Remember to call <a class="xref" href="../../../../../api/Hi.NcMech.Holders.FreeformHolder.html#Hi_NcMech_Holders_FreeformHolder_UpdateByGeom">UpdateByGeom()</a> after geometry reference or content changed.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/ToolHouse/FreeformHolderPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/holder/freeform-holder-panel.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,162 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Holder Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Holder Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="holder-panel">Holder Panel</h1>
|
||||
|
||||
<p>This section describes the user interface and behavior for managing different types of tool holders in the application. Tool holders are crucial components in defining a complete tool assembly.</p>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>While tool holders are essential components in real-world machining operations, some users may choose not to define them in simulation environments for convenience, particularly when collision detection is not a primary concern. The system allows for this flexibility, though it's recommended to include holders for accurate representation and comprehensive collision analysis.</p>
|
||||
</div>
|
||||
<p>The primary models involved are subclasses of <a class="xref" href="../../../../../api/Hi.NcMech.Holders.IHolder.html">IHolder</a>. Two common types are:</p>
|
||||
<ul>
|
||||
<li><strong><a href="cylindroid-holder-panel.html">Cylindroid Holder</a></strong>: Represents holders with a cylindrical geometry. See <a class="xref" href="../../../../../api/Hi.NcMech.Holders.CylindroidHolder.html">CylindroidHolder</a>.</li>
|
||||
<li><strong><a href="freeform-holder-panel.html">Freeform Holder</a></strong>: Represents holders with more complex, freeform geometry, often defined by STL files. See <a class="xref" href="../../../../../api/Hi.NcMech.Holders.FreeformHolder.html">FreeformHolder</a>.</li>
|
||||
</ul>
|
||||
<p>Each holder type will have its own specific user interface elements for defining its geometry and properties.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Holder Panel
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a href="../../widget/object-management-menu-button.html">Object Management Menu Button</a>
|
||||
<ul>
|
||||
<li>file extension is Holder</li>
|
||||
<li>The pointed Editor Panel is Holder Management Panel.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Title Label</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Holder Management Panel
|
||||
<ul>
|
||||
<li>Holder Type Selection Bar</li>
|
||||
<li>Holder Sub Management Panel
|
||||
The content varied by the Holder Type.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/ToolHouse/HolderPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/holder/holder-panel.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,174 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Machine Tool Page | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Machine Tool Page | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="machine-tool-page">Machine Tool Page</h1>
|
||||
|
||||
<ul>
|
||||
<li>Key Model:
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Mech.IMachiningChain.html">IMachiningChain</a>
|
||||
The model is managed by the getter function and setter function (see <a href="../widget/object-management-menu-button.html">Object Management Menu Button</a> for the design pattern).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Assistant Model:
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html">NcEnv</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a href="../widget/object-management-menu-button.html">Object Management Menu Button</a>
|
||||
<ul>
|
||||
<li>file extension is <code>mt</code>.</li>
|
||||
<li>The pointed Editor Panel is Management Panel</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Title Label “Machine Tool”</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Management Panel
|
||||
<ul>
|
||||
<li>If the key model inherits <a class="xref" href="../../../../api/Hi.Common.INameNote.html">INameNote</a>:
|
||||
<ul>
|
||||
<li>Name Setting Line
|
||||
<ul>
|
||||
<li>Name Label</li>
|
||||
<li>Name TextField</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Note Setting Line
|
||||
<ul>
|
||||
<li>Note Label</li>
|
||||
<li>Note TextField</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/MachiningChains/MachiningChainPage</li>
|
||||
<li>Mech/MachiningChains/MachiningChainWindow</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/machining-chain-page.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,188 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Stick Tool Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Stick Tool Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="stick-tool-panel">Stick Tool Panel</h1>
|
||||
|
||||
<p>The term stick is for not only milling, but other remover like electric discharge machining tool.</p>
|
||||
<p>The key model is MillingTool.
|
||||
Other model: <a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a href="../../widget/object-management-menu-button.html">Object Management Menu Button</a>
|
||||
<ul>
|
||||
<li>file extension is MillingTool</li>
|
||||
<li>the pointed Editor Panel is Stick Tool Management Panel</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Title Label</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Stick Tool Management Panel
|
||||
<ul>
|
||||
<li>Cutter Tab
|
||||
<ul>
|
||||
<li><a href="../cutter/index.html">Cutter Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Holder Tab
|
||||
<ul>
|
||||
<li><a href="../holder/index.html">Holder Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Clamping Tab
|
||||
<ul>
|
||||
<li>Exposed-Cutter-Height TextField</li>
|
||||
<li>Preserved-Distance-Between-Flute-and-Spindle-Nose TextField</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Intelligent Holder Tab
|
||||
Visible if <a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true.</li>
|
||||
<li>Info Tab
|
||||
<ul>
|
||||
<li>Abstract Note TextField (readonly)</li>
|
||||
<li>Note TextField (editable)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>The Exposed-Cutter-Height and Preserved-Distance-Between-Flute-and-Spindle-Nose are directly related. Each value changed if each other value is changed.</p>
|
||||
</div>
|
||||
<h2 id="step-by-step-build-guide">Step by Step Build Guide</h2>
|
||||
<ol>
|
||||
<li>Build the Stick Tool Panel Layout framework. Since the framework helps to check of the child componenet.</li>
|
||||
<li>Build accessory part of the framework.
|
||||
<ol>
|
||||
<li>Object Management Menu Button</li>
|
||||
<li>Info Tab</li>
|
||||
<li>Clamping Tab</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Build <a href="../holder/index.html">Holder Panel</a> and the related holder type panel.</li>
|
||||
<li>Build <a href="../cutter/index.html">Cutter Panel</a> and the related cutter type panel.</li>
|
||||
</ol>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/ToolHouse/StickToolPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/stick-tool-panel.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,244 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Tool House Page | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Tool House Page | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="tool-house-page">Tool House Page</h1>
|
||||
|
||||
<p>The page triggers by <a href="../main-panel.html">Main Panel</a>.</p>
|
||||
<p>The key model is MachiningToolHouse.
|
||||
The model <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a> is delivered by the host GUI.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Tool House Page
|
||||
<ul>
|
||||
<li>Tool List Panel
|
||||
The panel has CRUD (and Duplicate) of the tools. Read and Update the selected tool by the Selected Tool Editor Panel.
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a href="../widget/object-management-menu-button.html">Object Management Menu Button</a>
|
||||
<ul>
|
||||
<li>file extension is MachiningToolHouse</li>
|
||||
<li>The pointed Editor Panel is Tool List</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Title Label</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Batch Action Menu
|
||||
<ul>
|
||||
<li>Select All Button</li>
|
||||
<li>De-Select All Button</li>
|
||||
<li>(splition bar)</li>
|
||||
<li>Duplication Button</li>
|
||||
<li>Remove Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Create Tool Button</li>
|
||||
<li>Tool List
|
||||
<ul>
|
||||
<li>Selection Checkbox (for batch action)</li>
|
||||
<li>Editable Tool ID TextField</li>
|
||||
<li>Editable Note/Abstract TextField</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Selected Tool Editor Panel
|
||||
<ul>
|
||||
<li><a href="stick-tool-panel/index.html">Stick Tool Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Viewer Panel
|
||||
<ul>
|
||||
<li>Viewer ToolBar
|
||||
<ul>
|
||||
<li>Title Label</li>
|
||||
<li><a href="../renderingcanvas-tool-bar.html">RenderingCanvas Tool Bar</a></li>
|
||||
<li>EditorDisplayee Options ToolBar
|
||||
<ul>
|
||||
<li>EditorDisplayee Options Menu Dropdown
|
||||
<ul>
|
||||
<li>Head Label: Cutter</li>
|
||||
<li>Show Cutter CheckBox</li>
|
||||
<li>(Options of <a class="xref" href="../../../../api/Hi.Milling.Cutters.MillingCutterEditorDisplayee.html">MillingCutterEditorDisplayee</a>)
|
||||
<ul>
|
||||
<li>Shape Mode SubMenu
|
||||
Set <a class="xref" href="../../../../api/Hi.Milling.Cutters.MillingCutterEditorDisplayee.html#Hi_Milling_Cutters_MillingCutterEditorDisplayee_ShapeMode">ShapeMode</a> to Solid Bounding Shape if <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is false on GUI initialization.
|
||||
<ul>
|
||||
<li>Solid Bounding Shape Ratio Button</li>
|
||||
<li>Detail Physics Shape Ratio Button
|
||||
Visible if <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>(spliter)</li>
|
||||
<li>Head Label: Holder</li>
|
||||
<li>Show Holder CheckBox</li>
|
||||
<li>(Options of <a class="xref" href="../../../../api/Hi.NcMech.Holders.HolderEditorDisplayee.html">HolderEditorDisplayee</a>)
|
||||
<ul>
|
||||
<li>Show Geometry Anchor CheckBox</li>
|
||||
<li>Show Spindle Buckle CheckBox</li>
|
||||
<li>Show Cutter Buckle CheckBox</li>
|
||||
<li>Rendering Mode SubMenu
|
||||
<ul>
|
||||
<li>Solid CheckBox</li>
|
||||
<li>Edge CheckBox</li>
|
||||
<li>Hide CheckBox</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>RenderingCanvas
|
||||
<ul>
|
||||
<li>The <a class="xref" href="../../../../api/Hi.Disp.DispEngine.html">DispEngine</a>.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_Displayee">Displayee</a> is <a class="xref" href="../../../../api/Hi.Milling.MillingTools.MillingToolEditorDisplayee.html">MillingToolEditorDisplayee</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<ul>
|
||||
<li>Do not apply new window for tool creation. Assume the workflow is user create a default content tool and then user setup it in by the edit panel.</li>
|
||||
<li>Add a resizable splition bar between Tool List Panel, Selected Tool Editor Panel and Viewer Panel.</li>
|
||||
<li>The options of <a class="xref" href="../../../../api/Hi.Milling.Cutters.MillingCutterEditorDisplayee.html">MillingCutterEditorDisplayee</a> and <a class="xref" href="../../../../api/Hi.NcMech.Holders.HolderEditorDisplayee.html">HolderEditorDisplayee</a> is enabled only if the upper level options are enabled, i.e. <a class="xref" href="../../../../api/Hi.Milling.MillingTools.MillingToolEditorDisplayee.html#Hi_Milling_MillingTools_MillingToolEditorDisplayee_ShowCutter">ShowCutter</a> and <a class="xref" href="../../../../api/Hi.Milling.MillingTools.MillingToolEditorDisplayee.html#Hi_Milling_MillingTools_MillingToolEditorDisplayee_ShowHolder">ShowHolder</a>.</li>
|
||||
<li>Use less layer of EditorDisplayee Options ToolBar for user convenient. Flatten the options of the children displayee except the ratio button group.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<p>The Tool ID can not be repeated. When create new tool, assign a new tool ID (maybe the largest ID plus 1).</p>
|
||||
<p>When a tool is entered, call the renderingCanvas.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html">DispEngine</a>.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_SetViewToHomeView">SetViewToHomeView()</a>.</p>
|
||||
<h3 id="duplication-button">Duplication Button</h3>
|
||||
<p>Use <a class="xref" href="../../../../api/Hi.Milling.MillingTools.MillingTool.html#Hi_Milling_MillingTools_MillingTool_Duplicate_System_Object___">Duplicate(params object[])</a> to duplicate the tool.</p>
|
||||
<h3 id="noteabstract-textfield">Note/Abstract TextField</h3>
|
||||
<p>The Note/Abstract TextField shows note if note existed and is not empty string; otherwise it shows the <a class="xref" href="../../../../api/Hi.Milling.MillingTools.MillingTool.html#Hi_Milling_MillingTools_MillingTool_AbstractNote">AbstractNote</a>. The tooltip is the abstract note.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/ToolHouse/ToolHousePage</li>
|
||||
<li>Mech/ToolHouse/ToolHouseWindow</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/tool-house-page.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,155 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Transformers GUI | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Transformers GUI | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="transformers-gui">Transformers GUI</h1>
|
||||
|
||||
<p>Each <a href="../../../basic/mechanism/transformers/index.html">Transformers</a> has GUI component.</p>
|
||||
<h2 id="transformer-manage-panel">Transformer Manage Panel</h2>
|
||||
<p>Use Transformer Manage Panel to setup the <a class="xref" href="../../../../../api/Hi.Mech.Topo.ITransformer.html">ITransformer</a>.</p>
|
||||
<h3 id="layout">Layout</h3>
|
||||
<ul>
|
||||
<li>Transformer Manage Panel
|
||||
<ul>
|
||||
<li>Transformer Type Selection Bar</li>
|
||||
<li>Transformer Content Panel (vary by the selected Transformer)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="transformer-type-selection-bar">Transformer Type Selection Bar</h3>
|
||||
<p>Transformer Type Selection Bar get or set <a class="xref" href="../../../../../api/Hi.Mech.Topo.ITransformer.html">ITransformer</a>.</p>
|
||||
<p>The Transformer Type Selection Bar has code-behind option to choose what the transformer options to show.</p>
|
||||
<p>If the original model (i.e. source model) transformer conflicts with the restricted transformers, show the model.</p>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Consider one line layout to save the space for the selection bar.</p>
|
||||
</div>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/Topo/TransformerSelectPanel</li>
|
||||
<li>Mech/Topo/StaticTranslationPanel</li>
|
||||
<li>Mech/Topo/StaticFreeformPanel</li>
|
||||
<li>Mech/Topo/DynamicTranslationPanel</li>
|
||||
<li>Mech/Topo/DynamicRotationPanel</li>
|
||||
<li>Mech/Topo/GeneralTransformPanel</li>
|
||||
<li>Mech/Topo/TransformerDemoWindow</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/Topo/TransformerSelectDiv</li>
|
||||
<li>Mech/Topo/StaticTranslationDiv</li>
|
||||
<li>Mech/Topo/DynamicTranslationDiv</li>
|
||||
<li>Mech/Topo/DynamicRotationDiv</li>
|
||||
<li>Mech/Topo/GeneralTransformDiv</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,284 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Workpiece Page | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Workpiece Page | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="workpiece-page">Workpiece Page</h1>
|
||||
|
||||
<p>The page triggers by <a href="../main-panel.html">Main Panel</a>.</p>
|
||||
<p>The key model is <a class="xref" href="../../../../api/Hi.NcMech.Workpieces.Workpiece.html">Workpiece</a> and <a class="xref" href="../../../../api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html">WorkpieceEditorDisplayeeConfig</a>.
|
||||
Which is assigned from the Main Panel's <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>.<a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_Workpiece">Workpiece</a>.</p>
|
||||
<p><a class="xref" href="../../../../api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html">FixtureEditorDisplayeeConfig</a> is from <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.UserConfig.html">UserConfig</a> which assigned from the parent component.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Workpiece Page
|
||||
<ul>
|
||||
<li>Management Panel
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a href="../widget/object-management-menu-button.html">Object Management Menu Button</a>
|
||||
<ul>
|
||||
<li>file extension is Workpiece</li>
|
||||
<li>The pointed Editor Panel is Management Tabs Panel</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Title Label</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Management Tabs Panel
|
||||
<ul>
|
||||
<li>Raw Shape Tab
|
||||
<ul>
|
||||
<li>Raw Geometry Source DropDown (Common Geometry and Runtime Geometry are EXCLUSIVE)
|
||||
<ul>
|
||||
<li>Common Geometry
|
||||
Apply <a href="../geom/geom-manage-control.html">Geometry Management Control</a></li>
|
||||
<li>Runtime Geometry
|
||||
Apply <a href="../geom/runtime-geom-panel.html">Runtime Geometry Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Target Shape Tab
|
||||
<ul>
|
||||
<li>Geometry Management Control</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Anchor Tab
|
||||
<ul>
|
||||
<li>Geom To Fixture Tab
|
||||
<ul>
|
||||
<li><a href="topo/transformers.html">Transformer Manage Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Geom To Program-Zero Tab
|
||||
<ul>
|
||||
<li>Transformer Manage Panel</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Runtime Tab
|
||||
<ul>
|
||||
<li>Initial Resolution Dropdown (powers of 2)
|
||||
<ul>
|
||||
<li>0.0009765625</li>
|
||||
<li>0.001953125</li>
|
||||
<li>0.00390625</li>
|
||||
<li>0.0078125</li>
|
||||
<li>0.015625</li>
|
||||
<li>0.03125</li>
|
||||
<li>0.0625</li>
|
||||
<li>0.125</li>
|
||||
<li>0.25</li>
|
||||
<li>0.5</li>
|
||||
<li>1</li>
|
||||
<li>2</li>
|
||||
<li>4</li>
|
||||
<li>8</li>
|
||||
<li>16</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Material Tab
|
||||
Visible if <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true.
|
||||
<ul>
|
||||
<li>Workpiece Material File Selector
|
||||
<ul>
|
||||
<li>Browse Button
|
||||
The initial directory is the project directory.</li>
|
||||
<li>Browse Resource Button
|
||||
The directory is the Default Resource directory.</li>
|
||||
<li>Readonly File Path TextBox</li>
|
||||
<li>Readonly Name TextBox (<a class="xref" href="../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Name">Name</a>)
|
||||
<ul>
|
||||
<li>ToolTip: <a class="xref" href="../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Note">Note</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Cutting Parameter File Selector
|
||||
<ul>
|
||||
<li>Browse Button
|
||||
The initial directory is the project directory.</li>
|
||||
<li>Browse Resource Button
|
||||
The directory is the Default Resource directory.</li>
|
||||
<li>Readonly File Path TextBox</li>
|
||||
<li>Readonly Name TextBox (<a class="xref" href="../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Name">Name</a>)
|
||||
<ul>
|
||||
<li>ToolTip: <a class="xref" href="../../../../api/Hi.Common.INameNote.html#Hi_Common_INameNote_Note">Note</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Viewer Panel
|
||||
<ul>
|
||||
<li>Viewer ToolBar
|
||||
<ul>
|
||||
<li><a href="../renderingcanvas-tool-bar.html">RenderingCanvas Tool Bar</a></li>
|
||||
<li>SetupDisplayee Options ToolBar
|
||||
<ul>
|
||||
<li>Options of <a class="xref" href="../../../../api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayee.html">WorkpieceEditorDisplayee</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>RenderingCanvas
|
||||
<ul>
|
||||
<li>The <a class="xref" href="../../../../api/Hi.Disp.DispEngine.html">DispEngine</a>.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_Displayee">Displayee</a> is <a class="xref" href="../../../../api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayee.html">WorkpieceEditorDisplayee</a> (Apply the model <a class="xref" href="../../../../api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html">WorkpieceEditorDisplayeeConfig</a>).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Add a resizable splition bar between Manage Panel and Viewer Panel.</p>
|
||||
</div>
|
||||
<h2 id="default-resource">Default Resource</h2>
|
||||
<p>The default resources of Workpiece Material and Cutting Parameter exist in <code>Resource</code> folder under application folder (Not project folder). Set the default folder of the File Selector to the <code>Resource</code> sub folder:</p>
|
||||
<ul>
|
||||
<li>“Resource/WorkpieceMaterial”</li>
|
||||
<li>“Resource/CuttingParameter”</li>
|
||||
</ul>
|
||||
<h2 id="behavior">Behavior</h2>
|
||||
<ul>
|
||||
<li><p>Call <a class="xref" href="../../../../api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayee.html">WorkpieceEditorDisplayee</a>.<a class="xref" href="../../../../api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayee.html#Hi_NcMech_Workpieces_WorkpieceEditorDisplayee_ClearRawGeomCache">ClearRawGeomCache()</a> on Raw Shape set or changed.</p>
|
||||
</li>
|
||||
<li><p>Call <a class="xref" href="../../../../api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayee.html">WorkpieceEditorDisplayee</a>.<a class="xref" href="../../../../api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayee.html#Hi_NcMech_Workpieces_WorkpieceEditorDisplayee_ClearIdealGeomCache">ClearIdealGeomCache()</a> on Target Shape set or changed.</p>
|
||||
</li>
|
||||
<li><p>Call RenderCanvas.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html">DispEngine</a>.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_SetViewToIsometricView">SetViewToIsometricView()</a> on Raw Shape set or Target Shape set. (Since the assumption of the shape set raise larger viewer changed than content changed, only adjust view of the setter event.)</p>
|
||||
</li>
|
||||
<li><p>Keep <a href="../widget/gui-file-path-assignment.html#portability">Portability</a> of the Material properties.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Mech/Workpieces/WorkpiecePage</li>
|
||||
<li>Mech/Workpieces/WorkpieceWindow</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/mech/workpiece-page.js</li>
|
||||
<li>Controller/Mech/MechController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+173
@@ -0,0 +1,173 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Message Section on Main Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Message Section on Main Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="message-section-on-main-panel">Message Section on Main Panel</h1>
|
||||
|
||||
<h2 id="initialize--with-message-section">Initialize <a class="xref" href="../../../api/Hi.Common.Messages.MessageKit.html">MessageKit</a>.<a class="xref" href="../../../api/Hi.Common.Messages.MessageKit.html#Hi_Common_Messages_MessageKit_Default">Default</a> with Message Section</h2>
|
||||
<p>To show and save the message on <code>Brief Message Text Field</code>, add event to <a class="xref" href="../../../api/Hi.Common.Messages.MessageKit.html#Hi_Common_Messages_MessageKit_Default">Default</a>.<a class="xref" href="../../../api/Hi.Common.Messages.MessageKit.html#Hi_Common_Messages_MessageKit_OnAdding">OnAdding</a>.</p>
|
||||
<p>The event contains:</p>
|
||||
<ul>
|
||||
<li>update the text content of <code>Brief Message Text Field</code></li>
|
||||
<li>Append the message to log file (create if not existed) <code>$"logs/log-{DateTime.Now:yyyy-MM-dd}.txt"</code></li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<ul>
|
||||
<li>Handle the situation that logs over one day.</li>
|
||||
<li>Check if passing argument of <a class="xref" href="../../../api/Hi.Common.Messages.MessageKit.html#Hi_Common_Messages_MessageKit_OnAdding">OnAdding</a> is <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.exception">Exception</a>. If the it is Exception, update text content by <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.exception">Exception</a>.<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.exception.message">Message</a> but log to file with the full Exception information.</li>
|
||||
<li>Consider <a class="xref" href="../../../api/Hi.Common.Messages.MessageFlag.html">MessageFlag</a> to set the behavior of Message Section. For example, apply alert style if passing argument is exception. The <a class="xref" href="../../../api/Hi.Common.Messages.MessageFlag.html#Hi_Common_Messages_MessageFlag_Info">Info</a> (and the other flags that the priority lower than it) should only record in the logs but not shows in the Message Section.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h2 id="wpf-application-layout">WPF Application Layout</h2>
|
||||
<ul>
|
||||
<li>Message Section Bottom Bar
|
||||
<ul>
|
||||
<li>Brief Message Text Field</li>
|
||||
<li>Show Log Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>The text field should be selectable to let user easy to copy the message.</p>
|
||||
</div>
|
||||
<h2 id="web-page-application-layout">Web Page Application Layout</h2>
|
||||
<ul>
|
||||
<li>Message Section Stacking Toast
|
||||
<ul>
|
||||
<li>Brief Message Text Field</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Enable toast Auto-Hide only if the message level is low.</p>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>The convention of web page is not like WPF panel. Use Boostrap or Bootstrap-like toast. They are much appropriate than the fixed bottom bar on WPF.</p>
|
||||
</div>
|
||||
<h3 id="log-page-layout">Log Page Layout</h3>
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li>Log Label</li>
|
||||
<li>Show Log Button</li>
|
||||
<li>Download Log Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Log TextArea</li>
|
||||
</ul>
|
||||
<h2 id="behavior-of-show-log-button">Behavior of Show Log Button</h2>
|
||||
<p>Call an editor (or reader, bootstrap modal like poping block) to show the current log.</p>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Handle the situation that the current log file does not exist. It may occurs if no message has added.</p>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,242 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>List Command Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="List Command Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="list-command-panel">List Command Panel</h1>
|
||||
|
||||
<p>The key model is <a class="xref" href="../../../../api/Hi.ShellCommands.ListCommand.html">ListCommand</a>.</p>
|
||||
<ul>
|
||||
<li>Assistant Model
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Columns Layout (Two column with one splition bar)
|
||||
<ul>
|
||||
<li>Command Entry List Panel
|
||||
Provide entrys for selection
|
||||
The model is <a class="xref" href="../../../../api/Hi.ShellCommands.ListCommand.html#Hi_ShellCommands_ListCommand_CommandEntryList">CommandEntryList</a>.
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li>Add Command Dropdown Button
|
||||
(Note that Dropdown is not combobox.)
|
||||
<ul>
|
||||
<li>Buttons for adding:
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.ShellCommands.PreSettingCommand.html">PreSettingCommand</a>
|
||||
<ul>
|
||||
<li>Content Panel: <a href="PreSettingCommand-panel.html">PreSetting Command Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.ShellCommands.NcOptOptionCommand.html">NcOptOptionCommand</a>
|
||||
<ul>
|
||||
<li>Content Panel: <a href="NcOptOption-panel.html">NcOptOption Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.ShellCommands.NcFileCommand.html">NcFileCommand</a>
|
||||
<ul>
|
||||
<li>Content Panel: <a href="NcFileCommand-panel.html">NcFile Command Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.ShellCommands.NcCodeCommand.html">NcCodeCommand</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.ShellCommands.ScriptCommand.html">ScriptCommand</a>
|
||||
<ul>
|
||||
<li>Content Panel: <a href="script-command-panel.html">Script Command Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="xref" href="../../../../api/Hi.ShellCommands.PostExecutionCommand.html">PostExecutionCommand</a>
|
||||
<ul>
|
||||
<li>Content Panel: <a href="PostExecutionCommand-panel.html">PostExecution Command Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Remove Command Button</li>
|
||||
<li>Move Up Command Button</li>
|
||||
<li>Move Down Command Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Command Entrys Selection Panel
|
||||
<ul>
|
||||
<li>(Each) Command Entry Box:
|
||||
The boxes are multi-selectable for re-order, remove and etc..
|
||||
The boxes are draggable for re-order.
|
||||
<ul>
|
||||
<li>Enable CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.EnablingWrapper.html#Hi_ShellCommands_EnablingWrapper_IsEnabled">IsEnabled</a>.</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Show the label text.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>Title Label
|
||||
<ul>
|
||||
<li>Apply <xref:Hi.ShellCommands.ITitleCommand.GetCommandTitle()> if the command is inherited from <a class="xref" href="../../../../api/Hi.ShellCommands.ITitleCommand.html">ITitleCommand</a>; otherwise, show the class name.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Apply style changed if the entry is selected.</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li>If there is only one <a class="xref" href="../../../../api/Hi.ShellCommands.PreSettingCommand.html">PreSettingCommand</a> in the list and at the begining, Keep it at begining when items adding, shows a “pin at begining” label with a pin icon.</li>
|
||||
<li>If there is only one <a class="xref" href="../../../../api/Hi.ShellCommands.PostExecutionCommand.html">PostExecutionCommand</a> in the list and at the end, Keep it at end when items adding, shows a “pin at end” label a pin icon.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Support file drag from the external application (such as file explorer), files drag into the Command Entrys List Panel is equivalent to create <a class="xref" href="../../../../api/Hi.ShellCommands.NcFileCommand.html">NcFileCommand</a>s (with the <a class="xref" href="../../../../api/Hi.ShellCommands.EnablingWrapper.html">EnablingWrapper</a>) and set the file into the NC File Command.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Vertical Splition Bar
|
||||
<ul>
|
||||
<li>The bar can be drag to tune the width.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Selected Command Content Panel
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.EnablingWrapper.html#Hi_ShellCommands_EnablingWrapper_Command">Command</a>.</li>
|
||||
<li>The panel is based on command type</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>The width of the entry block should expand to fulfill the content block.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Use Disabled Style for command panels if the Enable checkbox is not checked.</p>
|
||||
</div>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>Each command entry can be individually enabled or disabled without removing it from the list.</p>
|
||||
</div>
|
||||
<h2 id="features">Features</h2>
|
||||
<p>Update the Title Label if the Command is updated by the Command Content Panel.</p>
|
||||
<h2 id="wpf-application-source-code-path">WPF Application Source Code Path</h2>
|
||||
<ul>
|
||||
<li>Mission/ListCommandPanel</li>
|
||||
</ul>
|
||||
<p>see <a href="../index.html">this page</a> for git repository.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,172 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>NcFileCommand Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="NcFileCommand Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="ncfilecommand-panel">NcFileCommand Panel</h1>
|
||||
|
||||
<p>The key model is <a class="xref" href="../../../../api/Hi.ShellCommands.NcFileCommand.html">NcFileCommand</a>.</p>
|
||||
<ul>
|
||||
<li>Other Model: string BaseDirectory.</li>
|
||||
</ul>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>NcFileCommand Panel
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li>NC File Setting
|
||||
<ul>
|
||||
<li>The model is <xref:Hi.ShellCommands.ClassicNcFileCommand.NcFile>.</li>
|
||||
<li>NC File Label</li>
|
||||
<li>NC File Text Field
|
||||
<ul>
|
||||
<li>About 20 charactor width</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Load File Browser Button
|
||||
<ul>
|
||||
<li>Apply universal file filter for the NC files.
|
||||
Since NC File has too many extensions, such as but not limits to: nc, h, mpf, ptp.</li>
|
||||
<li>Follow the <a href="../widget/gui-file-path-assignment.html">Load Pattern</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>NC File Editor
|
||||
The editor only available for text file.
|
||||
If the file lines within 20000 line, enable the NC File Editor;
|
||||
Otherwise, just preview the first 20000 line of the file and show the message to the Head Message Place.
|
||||
Auto-Save the file if the content changed.
|
||||
<ul>
|
||||
<li>Head Message Place
|
||||
<ul>
|
||||
<li>Show the error or exception of the File.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>NC Code TextArea</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Fix the height of NC Code TextArea to the panel bottom.
|
||||
Set NC Code TextArea height resizable.</p>
|
||||
</div>
|
||||
<h2 id="wpf-application-source-code-path">WPF Application Source Code Path</h2>
|
||||
<ul>
|
||||
<li>Mission/NcFileCommandPanel</li>
|
||||
</ul>
|
||||
<p>see <a href="../index.html">this page</a> for git repository.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,237 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>NC Optimization Option Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="NC Optimization Option Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="nc-optimization-option-panel">NC Optimization Option Panel</h1>
|
||||
|
||||
<p>Key model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html">NcOptOption</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li><p>General Optimization Section</p>
|
||||
<ul>
|
||||
<li>Enable Optimization CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_EnableOpt">EnableOpt</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Enable Feedrate Optimization CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_EnableOptFeedrate">EnableOptFeedrate</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Enable Depth Splitting CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_EnableDepthSplition">EnableDepthSplition</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Enable Interpolation CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_EnableInterpolation">EnableInterpolation</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Distance Settings Section</p>
|
||||
<ul>
|
||||
<li>Extended Pre-Distance Floating Number Field (with Unit)
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_ExtendedPreDistance_mm">ExtendedPreDistance_mm</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Extended Post-Distance Floating Number Field (with Unit)
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_ExtendedPostDistance_mm">ExtendedPostDistance_mm</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Feedrate Limits Section</p>
|
||||
<ul>
|
||||
<li>Minimum Feedrate Floating Number Field (with Unit)
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_MinFeedrate_mmdmin">MinFeedrate_mmdmin</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Maximum Feedrate Floating Number Field (with Unit)
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_MaxFeedrate_mmdmin">MaxFeedrate_mmdmin</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Rapid Feed Floating Number Field (with Unit)
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_RapidFeed_mmdmin">RapidFeed_mmdmin</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Motion Dynamics Section</p>
|
||||
<ul>
|
||||
<li>Maximum Acceleration Floating Number Field (with Unit)
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_MaxAcceleration_mmds2">MaxAcceleration_mmds2</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Maximum Jerk Floating Number Field (with Unit)
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_MaxJerk_mmds3">MaxJerk_mmds3</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Force and Safety Section</p>
|
||||
<ul>
|
||||
<li>Preferred Force Floating Number Field (with Unit)
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_PreferedForce_N">PreferedForce_N</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Spindle Torque Safety Factor Floating Number Field
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_SpindleTorqueSafetyFactor">SpindleTorqueSafetyFactor</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Spindle Power Safety Factor Floating Number Field
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_SpindlePowerSafetyFactor">SpindlePowerSafetyFactor</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Compensation Section</p>
|
||||
<ul>
|
||||
<li>Enable Forward Compensation CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_EnableForwardCompensation">EnableForwardCompensation</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Enable Side Compensation CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_EnableSideCompensation">EnableSideCompensation</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Enable Depth Compensation CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_EnableDepthCompensation">EnableDepthCompensation</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Use XmlConvert.ToDouble and FromDouble to parse the <code>double</code> value for dealing with the inf value.</p>
|
||||
</div>
|
||||
<h2 id="wpf-application-source-code-path">WPF Application Source Code Path</h2>
|
||||
<ul>
|
||||
<li>NcOpt/NcOptOptionPanel</li>
|
||||
</ul>
|
||||
<p>see <a href="../index.html">this page</a> for git repository.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>PostExecutionCommand Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="PostExecutionCommand Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="postexecutioncommand-panel">PostExecutionCommand Panel</h1>
|
||||
|
||||
<ul>
|
||||
<li>Key Model
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.ShellCommands.PostExecutionCommand.html">PostExecutionCommand</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Assistant Model
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Output Step Files Section
|
||||
<ul>
|
||||
<li>Enable Write Step Files CheckBox
|
||||
<ul>
|
||||
<li>The model is <xref:Hi.ShellCommands.ClassicSessionCommand.EnableWriteStepFiles>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Step File Template Label</li>
|
||||
<li>Step File Template Text Field
|
||||
<ul>
|
||||
<li>The model is <xref:Hi.ShellCommands.ClassicSessionCommand.StepFileTemplate>.</li>
|
||||
<li>Default value: “Output/[NcName].step.csv”</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Apply one line layout to the label and the text field.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Output Shot Files Section
|
||||
Visible if <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true.
|
||||
<ul>
|
||||
<li>Enable Write Shot Files CheckBox
|
||||
<ul>
|
||||
<li>The model is <xref:Hi.ShellCommands.ClassicSessionCommand.EnableWriteShotFiles>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Shot File Template Text Field
|
||||
<ul>
|
||||
<li>The model is <xref:Hi.ShellCommands.ClassicSessionCommand.ShotFileTemplate>.</li>
|
||||
<li>Default value: <code>Output/[NcName].shot.csv</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Shot File Time Resolution (ms) Number Field
|
||||
<ul>
|
||||
<li>The model is <xref:Hi.ShellCommands.ClassicSessionCommand.ShotFileTimeResolution_ms>.</li>
|
||||
<li>Default value: 1</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Optimization Files Section
|
||||
Visible if <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_EnablePhysics">EnablePhysics</a> is true.
|
||||
<ul>
|
||||
<li>Enable Optimize To Files CheckBox
|
||||
<ul>
|
||||
<li>The model is <xref:Hi.ShellCommands.ClassicSessionCommand.EnableOptimizeToFiles>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Optimization File Template Text Field
|
||||
<ul>
|
||||
<li>The model is <xref:Hi.ShellCommands.ClassicSessionCommand.OptimizationFileTemplate>.</li>
|
||||
<li>Default value: “Output/Opt-[NcName]”</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Geometry Difference Section
|
||||
<ul>
|
||||
<li>Enable Geom Diff CheckBox
|
||||
<ul>
|
||||
<li>The model is <xref:Hi.ShellCommands.ClassicSessionCommand.EnableGeomDiff>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Geom Diff Detect Radius Number Field (with Unit)
|
||||
<ul>
|
||||
<li>One Line layout</li>
|
||||
<li>The model is <xref:Hi.ShellCommands.ClassicSessionCommand.GeomDiffDetectRadius_mm>.</li>
|
||||
<li>Default value: 1</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="wpf-application-source-code-path">WPF Application Source Code Path</h2>
|
||||
<ul>
|
||||
<li>Mission/PostExecutionCommandPanel</li>
|
||||
</ul>
|
||||
<p>see <a href="../index.html">this page</a> for git repository.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+205
@@ -0,0 +1,205 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>PreSettingCommand Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="PreSettingCommand Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="presettingcommand-panel">PreSettingCommand Panel</h1>
|
||||
|
||||
<ul>
|
||||
<li>Key Model
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.ShellCommands.PreSettingCommand.html">PreSettingCommand</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Assistant Model
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Machining Resolution Label (with Unit)</li>
|
||||
<li>Machining Resolution ComboBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.PreSettingCommand.html#Hi_ShellCommands_PreSettingCommand_MachiningResolution_mm">MachiningResolution_mm</a>.</li>
|
||||
<li>Default value: 0.125</li>
|
||||
<li>Options (powers of 2)
|
||||
<ul>
|
||||
<li>0.0009765625</li>
|
||||
<li>0.001953125</li>
|
||||
<li>0.00390625</li>
|
||||
<li>0.0078125</li>
|
||||
<li>0.015625</li>
|
||||
<li>0.03125</li>
|
||||
<li>0.0625</li>
|
||||
<li>0.125</li>
|
||||
<li>0.25</li>
|
||||
<li>0.5</li>
|
||||
<li>1</li>
|
||||
<li>2</li>
|
||||
<li>4</li>
|
||||
<li>8</li>
|
||||
<li>16</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>The Machining Resolution is initialized from workpiece's InitResolution if available.</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li><p>Machining Motion Resolution Setting</p>
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.PreSettingCommand.html#Hi_ShellCommands_PreSettingCommand_MachiningMotionResolution">MachiningMotionResolution</a>.</li>
|
||||
<li>Motion Resolution Label</li>
|
||||
<li>Type ComboBox (Feed Per Cycle, Feed Per Tooth, Fixed)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>FixedMachiningMotionResolution Section
|
||||
If <a class="xref" href="../../../../api/Hi.ShellCommands.PreSettingCommand.html#Hi_ShellCommands_PreSettingCommand_MachiningMotionResolution">MachiningMotionResolution</a> is <a class="xref" href="../../../../api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html">FixedMachiningMotionResolution</a>, show the panel.</p>
|
||||
<ul>
|
||||
<li>Linear Resolution Label (with Unit)</li>
|
||||
<li>Linear Resolution Number Input Field</li>
|
||||
<li>Angle Resolution Label (with Unit)</li>
|
||||
<li>Angle Resolution Number Input Field</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Detection Settings Setting</p>
|
||||
<ul>
|
||||
<li>Enable Collision Detection CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.PreSettingCommand.html#Hi_ShellCommands_PreSettingCommand_EnableCollisionDetection">EnableCollisionDetection</a>.</li>
|
||||
<li>Default value: true</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Enable Pause On Failure CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.PreSettingCommand.html#Hi_ShellCommands_PreSettingCommand_EnablePauseOnFailure">EnablePauseOnFailure</a>.</li>
|
||||
<li>Default value: false</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Enable Physics CheckBox</p>
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.PreSettingCommand.html#Hi_ShellCommands_PreSettingCommand_EnablePhysics">EnablePhysics</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="wpf-application-source-code-path">WPF Application Source Code Path</h2>
|
||||
<ul>
|
||||
<li>Mission/PreSettingCommandPanel</li>
|
||||
</ul>
|
||||
<p>see <a href="../index.html">this page</a> for git repository.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+246
@@ -0,0 +1,246 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Classic Session Command Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Classic Session Command Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="classic-session-command-panel">Classic Session Command Panel</h1>
|
||||
|
||||
<p>The key model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html">SimpleSessionCommand</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a href="../widget/object-management-menu-button.html">Object Management Menu Button</a>
|
||||
<ul>
|
||||
<li>file extension is ShellCommand</li>
|
||||
<li>The pointed Editor Panel is Session Management Panel</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Title Label</li>
|
||||
<li>Session Management Panel
|
||||
<ul>
|
||||
<li>NC/Command List Tab
|
||||
<ul>
|
||||
<li>Shell Commands ListBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html#Hi_ShellCommands_SimpleSessionCommand_NcCommandList">NcCommandList</a>.</li>
|
||||
<li>Support add, remove, reorder commands.</li>
|
||||
<li>The items are multi-selectable.</li>
|
||||
<li>Support file drag from the external application (such as file explorer), files drag into the Shell Commands List is equivalent to create <a class="xref" href="../../../../api/Hi.ShellCommands.NcFileCommand.html">NcFileCommand</a>s.</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>don't use file filter to the drag behavior</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li>On each Classic NC File Command:
|
||||
<ul>
|
||||
<li>Only one line for each entry.</li>
|
||||
<li>Batch Selection CheckBox with ‘Select’ Text Label</li>
|
||||
<li><a href="ClassicNcFileCommand-panel.md">Classic NC File Command Panel</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>The horizontal auto scroll bar is required.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Output Tab
|
||||
<ul>
|
||||
<li>Output Shot Files Tab
|
||||
<ul>
|
||||
<li>Enable Write Shot Files CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html#Hi_ShellCommands_SimpleSessionCommand_EnableWriteShotFiles">EnableWriteShotFiles</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Shot File Template Text Field
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html#Hi_ShellCommands_SimpleSessionCommand_ShotFileTemplate">ShotFileTemplate</a>.</li>
|
||||
<li>Default value: <code>Output/[NcName].shot.csv</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Shot File Time Resolution (ms) Number Field
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html#Hi_ShellCommands_SimpleSessionCommand_ShotFileTimeResolution_ms">ShotFileTimeResolution_ms</a>.</li>
|
||||
<li>Default value: 1</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Output Step Files Tab
|
||||
<ul>
|
||||
<li>Enable Write Step Files CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html#Hi_ShellCommands_SimpleSessionCommand_EnableWriteStepFiles">EnableWriteStepFiles</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Step File Template Label</li>
|
||||
<li>Step File Template Text Field
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html#Hi_ShellCommands_SimpleSessionCommand_StepFileTemplate">StepFileTemplate</a>.</li>
|
||||
<li>Default value: “Output/[NcName].step.csv”</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Apply one line layout to the label and the text field.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Optimization Files Tab
|
||||
<ul>
|
||||
<li>Enable Optimize To Files CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html#Hi_ShellCommands_SimpleSessionCommand_EnableOptimizeToFiles">EnableOptimizeToFiles</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Optimization File Template Text Field
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html#Hi_ShellCommands_SimpleSessionCommand_OptimizationFileTemplate">OptimizationFileTemplate</a>.</li>
|
||||
<li>Default value: “Output/Opt-[NcName]”</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Geometry Difference Tab
|
||||
<ul>
|
||||
<li>Enable Geom Diff CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html#Hi_ShellCommands_SimpleSessionCommand_EnableGeomDiff">EnableGeomDiff</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Geom Diff Detect Radius (mm) Number Field
|
||||
<ul>
|
||||
<li>One Line layout</li>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.SimpleSessionCommand.html#Hi_ShellCommands_SimpleSessionCommand_GeomDiffDetectRadius_mm">GeomDiffDetectRadius_mm</a>.</li>
|
||||
<li>Default value: 1</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Use Disabled Style if the section key checkbox is not checked.</p>
|
||||
</div>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>The file templates support placeholder <code>[NcName]</code> which will be replaced with actual NC program name.</p>
|
||||
</div>
|
||||
<h2 id="wpf-application-source-code-path">WPF Application Source Code Path</h2>
|
||||
<ul>
|
||||
<li>Mission/SimpleSessionCommandPanel</li>
|
||||
</ul>
|
||||
<p>see <a href="../index.html">this page</a> for git repository.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,174 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Mission Page | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Mission Page | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="mission-page">Mission Page</h1>
|
||||
|
||||
<ul>
|
||||
<li>Key model: <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_PlayerCommand">PlayerCommand</a>.</li>
|
||||
<li>Assistant Model
|
||||
<ul>
|
||||
<li><a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a></li>
|
||||
<li><a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Mission Page
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a href="../widget/object-management-menu-button.html">Object Management Menu Button</a>
|
||||
<ul>
|
||||
<li>file extension is ShellCommand</li>
|
||||
<li>The pointed Editor Panel is Mission Edit Panel</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Mission Type Selection Section
|
||||
<ul>
|
||||
<li>Mission Type Label</li>
|
||||
<li>Mission Type ComboBox</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Mission Edit Panel
|
||||
<ul>
|
||||
<li>Content depends on the Mission Type Selection.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="mission-type-selection-combobox">Mission Type Selection ComboBox</h2>
|
||||
<p>The options:</p>
|
||||
<ul>
|
||||
<li><a href="script-command-panel.html">Script Command Panel</a> for <a class="xref" href="../../../../api/Hi.ShellCommands.ScriptCommand.html">ScriptCommand</a>.</li>
|
||||
<li><a href="ListCommand-panel.html">List Command Panel</a> for <a class="xref" href="../../../../api/Hi.ShellCommands.ListCommand.html">ListCommand</a>.</li>
|
||||
</ul>
|
||||
<h2 id="step-by-step-building-guide">Step by Step Building Guide</h2>
|
||||
<ol>
|
||||
<li>create the Mission Page window and Mission Page panel.</li>
|
||||
<li>build the options panel and set into the Mission Page panel.
|
||||
<ol>
|
||||
<li>Build List Command Panel.</li>
|
||||
<li>Build Script Command Panel.</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<h2 id="wpf-application-source-code-path">WPF Application Source Code Path</h2>
|
||||
<ul>
|
||||
<li>Mission/MissionWindow</li>
|
||||
<li>Mission/MissionPanel</li>
|
||||
</ul>
|
||||
<p>see <a href="../index.html">this page</a> for git repository.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,135 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Script Command Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Script Command Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="script-command-panel">Script Command Panel</h1>
|
||||
|
||||
<p>The key model is <a class="xref" href="../../../../api/Hi.ShellCommands.ScriptCommand.html">ScriptCommand</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li>Script Title Label</li>
|
||||
<li>Script Title Text Field</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>C# Rich Text Editor Area
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.ShellCommands.ScriptCommand.html#Hi_ShellCommands_ScriptCommand_ScriptText">ScriptText</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="wpf-application-source-code-path">WPF Application Source Code Path</h2>
|
||||
<ul>
|
||||
<li>Mission/ScriptCommandPanel</li>
|
||||
</ul>
|
||||
<p>see <a href="../index.html">this page</a> for git repository.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,167 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Player Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Player Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="player-panel">Player Panel</h1>
|
||||
|
||||
<p>The model of the player panel is <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a> and <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.</p>
|
||||
<h2 id="step-by-step-program-construction-check-list">Step by Step Program Construction Check List</h2>
|
||||
<ol>
|
||||
<li>Create the <code>Player Panel</code> Layout and set <code>Player Panel</code>/<code>RenderingCanvas</code>.</li>
|
||||
<li>Set behavior of RenderingCanvas.</li>
|
||||
<li>Create <a href="player-tool-bar.html">Player Tool Bar</a>.</li>
|
||||
<li>Create layout of <a href="player-extended-renderingcanvas-tool-bar.html">Player extended RenderingCanvas Tool Bar</a>.</li>
|
||||
<li>Complete Behavior of <code>Navigation Menu</code>/<code>Player</code> on the <a href="../main-panel.html">Main Panel</a>.</li>
|
||||
<li>Build behavior of <code>Player extended RenderingCanvas Tool Bar</code>
|
||||
<ol>
|
||||
<li>Set behavior of <a href="player-extended-renderingcanvas-tool-bar.html#behavior-of-cl-strip-buttons-and-fit-view-button">Behavior of CL Strip Buttons and Fit View Button</a>.</li>
|
||||
<li>Set behavior of <a href="player-extended-renderingcanvas-tool-bar.html#behavior-of-project-rendering-items-dropdown">Behavior of Project Rendering Items DropDown</a>.</li>
|
||||
<li>Set notification to <code>Player extended RenderingCanvas Tool Bar</code> if project changed by <a href="../main-panel.html">Main Panel</a>.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Set Player Panel as default panel on <code>Page Panel</code> when open the main window. The related toolbar has to be set, too.</li>
|
||||
<li>Build <a href="../session-message-panel/index.html">Session Message Panel</a>.</li>
|
||||
<li>Build <a href="../preference/step-present-preference-page.html">Step Present Preference Page</a></li>
|
||||
<li>Build <a href="selected-step-info-panel.html">Selected-Step Info Panel</a></li>
|
||||
</ol>
|
||||
<h2 id="belonged-tool-bars">Belonged Tool Bars</h2>
|
||||
<ul>
|
||||
<li><a href="player-tool-bar.html">Player Tool Bar</a></li>
|
||||
<li><a href="../renderingcanvas-tool-bar.html">RenderingCanvas Tool Bar</a></li>
|
||||
<li><a href="player-extended-renderingcanvas-tool-bar.html">Player extended RenderingCanvas Tool Bar</a></li>
|
||||
</ul>
|
||||
<h2 id="layout-of-player-panel">Layout of <code>Player Panel</code></h2>
|
||||
<ul>
|
||||
<li>Central <a href="../../basic/rendering/rendering-canvas/index.html">RenderingCanvas</a></li>
|
||||
<li>vertical splition bar (draggable to resize the width of the two div)</li>
|
||||
<li>Side Panel
|
||||
<ul>
|
||||
<li>Upper <a href="selected-step-info-panel.html">Selected-Step Info Panel</a></li>
|
||||
<li>horizontal splition bar (draggable to resize the height of the two panel)</li>
|
||||
<li>Lower <a href="../session-message-panel/index.html">Session Message Panel</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="behavior-of-player-panelrenderingcanvas">Behavior of <code>Player Panel</code>/<code>RenderingCanvas</code></h2>
|
||||
<p>On initializing, create <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html">MachiningProjectDisplayee</a> and set it to RenderingCanvas.DispEngine.Displayee. The <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html">MachiningProjectDisplayee</a> constructor argument is from the model <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a> from <code>Player Panel</code>.</p>
|
||||
<p>Dispose RenderingCanvas on <code>Player Panel</code> disposing.</p>
|
||||
<h2 id="source-code-path-and-specification">Source Code Path and Specification</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Play/PlayerPanel</li>
|
||||
</ul>
|
||||
<h3 id="webapi-application-source-code-path">Webapi Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/player/player-panel.js</li>
|
||||
<li>Controller/Player/PlayerController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+157
@@ -0,0 +1,157 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Player extended RenderingCanvas Tool Bar | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Player extended RenderingCanvas Tool Bar | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="player-extended-renderingcanvas-tool-bar">Player extended RenderingCanvas Tool Bar</h1>
|
||||
|
||||
<p>The model of the tool bar is <a class="xref" href="../../../../api/Hi.Disp.DispEngine.html">DispEngine</a> which is assigned from the RenderingCanvas of <a href="index.html">Player Panel</a>.</p>
|
||||
<p>The content of DispEngine.<a class="xref" href="../../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_Displayee">Displayee</a> here is <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html">MachiningProjectDisplayee</a>. the key content of the <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html">MachiningProjectDisplayee</a> is <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>.</p>
|
||||
<p>The sub-model is <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html">MachiningProjectDisplayee</a> and <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li><code>Player extended RenderingCanvas Tool Bar</code>
|
||||
<ul>
|
||||
<li><code>Show CL Strip Button</code></li>
|
||||
<li><code>Show CL Strip Dots Button</code>
|
||||
Only editable if the <a class="xref" href="../../../../api/Hi.MachiningProcs.RenderingFlag.html#Hi_MachiningProcs_RenderingFlag_ClStrip">ClStrip</a> in <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html#Hi_MachiningProcs_MachiningProjectDisplayee_RenderingFlagBitArray">RenderingFlagBitArray</a> is true.</li>
|
||||
<li><code>Fit View Button</code></li>
|
||||
<li><code>Rendering Items SubMenu</code>
|
||||
<a class="xref" href="../../../../api/Hi.MachiningProcs.RenderingFlag.html">RenderingFlag</a>-based checkboxes that deal the boolean value in <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html#Hi_MachiningProcs_MachiningProjectDisplayee_RenderingFlagBitArray">RenderingFlagBitArray</a>, such as “Show Machine”, “Show Workpiece”, etc..
|
||||
Except the ClStrip option since there has already be managed by the Show CL Strip Button.
|
||||
Show HeidenhainCoordinate checkbox only if <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>.<a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_NcEnv">NcEnv</a>.<a class="xref" href="../../../../api/Hi.Numerical.NcEnv.html#Hi_Numerical_NcEnv_CncBrand">CncBrand</a> is <a class="xref" href="../../../../api/Hi.Numerical.CncBrand.html#Hi_Numerical_CncBrand_Heidenhain">Heidenhain</a>.
|
||||
Create the submenu component class since the other GUI component also use it. See <a href="../controller/index.html">controller page</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>checkboxs in Project Rendering Items SubMenu can be classified by the category of <a class="xref" href="../../../../api/Hi.MachiningProcs.RenderingFlag.html">RenderingFlag</a> (see the hyperlink for the categories).</p>
|
||||
</div>
|
||||
<h2 id="behavior-of-cl-strip-buttons-and-fit-view-button">Behavior of CL Strip Buttons and Fit View Button</h2>
|
||||
<p>Apply <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html#Hi_MachiningProcs_MachiningProjectDisplayee_RenderingFlagBitArray">RenderingFlagBitArray</a> to set the Project Rendering Items.</p>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Extract the <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a> From the <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProjectDisplayee.html">MachiningProjectDisplayee</a> and use it to set the behaviors.</p>
|
||||
</div>
|
||||
<h2 id="behavior-of-project-rendering-items-dropdown">Behavior of <code>Project Rendering Items DropDown</code></h2>
|
||||
<p>See <a class="xref" href="../../../sample/Sample.Machining.DemoRenderingMachiningProcessAndStripPosSelection.html">DemoRenderingMachiningProcessAndStripPosSelection</a> for the sample code to complete the behavior of the buttons.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Play/PlayerExtendedRenderingCanvasToolBar</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/player-extended-toolbar.js</li>
|
||||
<li>Controller/Player/PlayerController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,387 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Player Tool Bar | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Player Tool Bar | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="player-tool-bar">Player Tool Bar</h1>
|
||||
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li><code>Player Tool Bar</code>
|
||||
<ul>
|
||||
<li><code>Status Text Field</code></li>
|
||||
<li><code>Start Button</code></li>
|
||||
<li><code>Pause Button</code></li>
|
||||
<li><code>Run-One-Line Button</code></li>
|
||||
<li><code>Run-One-Step Button</code></li>
|
||||
<li><code>Stop Button</code></li>
|
||||
<li><code>Reset Button</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="behavior-of-player-tool-bar">Behavior of <code>Player Tool Bar</code></h2>
|
||||
<p>See the example code to:</p>
|
||||
<ul>
|
||||
<li>complete the behavior of the buttons and <code>Status Text Field</code>.</li>
|
||||
<li>The rapidly used buttons should has hotkey. At least the following buttons:
|
||||
<ul>
|
||||
<li>Run One Line Button</li>
|
||||
<li>Run One Step Button</li>
|
||||
<li>Start/Continue</li>
|
||||
<li>Pause</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Add and remove the event to the <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_PacePlayer">PacePlayer</a> on <code>Player Tool Bar</code> initialization and finalization. The events update the <code>Status Text Field</code>.</li>
|
||||
<li>Alter the background color of the <code>Status Text Field</code> if the status changed.
|
||||
<ul>
|
||||
<li>Warning style color
|
||||
<ul>
|
||||
<li>Running</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Secondary style color
|
||||
<ul>
|
||||
<li>Paused</li>
|
||||
<li>No Project</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Success style color
|
||||
<ul>
|
||||
<li>Finished</li>
|
||||
<li>Ready</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>The action of <code>Reset Button</code> should be async for user experience.</p>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Use icon instead of text to the tool bar button. Run One Line Button and Run One Step Button use the same icon, use the different color to resolve them.</p>
|
||||
<ul>
|
||||
<li>Run One Line Button > default color with green seasoned</li>
|
||||
<li>Run One Step Button > default color with blue seasoned</li>
|
||||
</ul>
|
||||
<p>The other button use the default color is enough.</p>
|
||||
</div>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Play/PlayerToolBar</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/player/player-tool-bar.js</li>
|
||||
<li>Controller/Player/PlayerController.cs</li>
|
||||
</ul>
|
||||
<h3 id="razor-page-source-code">Razor Page Source Code</h3>
|
||||
<pre><code class="lang-csharp" name="SampleCode-razor">@using Hi.Common.PathUtils;
|
||||
@using Hi.HiNcKits;
|
||||
@using Hi.MachiningProcs
|
||||
@using Hi.MillingProcs;
|
||||
@using Hi.Numerical.FilePlayers;
|
||||
@inject HiNcHost hiNcHost
|
||||
|
||||
@{
|
||||
MachiningProject machiningProject = hiNcHost.MachiningProject;
|
||||
bool disabledByMachiningProject = machiningProject == null;
|
||||
}
|
||||
|
||||
<div class="btn-group" role="group">
|
||||
<div class=" btn-group"
|
||||
data-bs-toggle="collapse" data-bs-target="#player-@Tid">
|
||||
<button class="btn btn-outline-info text-nowrap "
|
||||
disabled="@disabledByMachiningProject"
|
||||
data-bs-toggle="button">
|
||||
<span class="me-1">@Loc["Player"]</span>
|
||||
<div class="d-inline-block" style="width: 4rem">
|
||||
@{
|
||||
if (machiningProject == null) { }
|
||||
else if (machiningProject.PacePlayer.IsRunning)
|
||||
{
|
||||
<span class="badge text-bg-warning">@Loc["Running"]</span>
|
||||
}
|
||||
else if (machiningProject.PacePlayer.IsLocked)
|
||||
{
|
||||
<span class="badge text-bg-secondary">@Loc["Pause"]</span>
|
||||
}
|
||||
else if (machiningProject.PacePlayer.IsFinished)
|
||||
{
|
||||
<span class="badge text-bg-success">@Loc["Finish"]</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="badge text-bg-primary">@Loc["Unlocked"]</span>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div id="player-@Tid" class="btn-group collapse collapse-horizontal show" role="group">
|
||||
|
||||
@if (machiningProject == null) { }
|
||||
else if (!machiningProject.PacePlayer.IsLocked)
|
||||
{
|
||||
<button class="btn btn-primary text-nowrap" title="@Loc["Start"] (S)"
|
||||
accesskey="s"
|
||||
disabled="@(disabledByMachiningProject||machiningProject.PacePlayer.IsFinished)"
|
||||
@onclick="StartOrContinue">
|
||||
<span class="oi oi-media-play me-1"></span>
|
||||
</button>
|
||||
}
|
||||
else
|
||||
{
|
||||
<button class="btn btn-primary text-nowrap" title="@Loc["Continue"] (S)"
|
||||
accesskey="s"
|
||||
@onclick="StartOrContinue"
|
||||
disabled="@(disabledByMachiningProject||machiningProject.PacePlayer.IsFinished||machiningProject.PacePlayer.IsRunning)">
|
||||
<span class="oi oi-media-play me-1"></span>
|
||||
</button>
|
||||
}
|
||||
<button class="btn btn-primary text-nowrap" title="@Loc["Pause"] (P)"
|
||||
accesskey="p"
|
||||
@onclick="Pause"
|
||||
disabled="@(disabledByMachiningProject||!machiningProject.PacePlayer.IsRunning)">
|
||||
<span class="oi oi-media-pause me-1"></span>
|
||||
</button>
|
||||
<button class="btn btn-primary text-nowrap" title="@Loc["Run One Line"] (L)"
|
||||
accesskey="l"
|
||||
@onclick="RunToLineEnd"
|
||||
disabled="@(disabledByMachiningProject||machiningProject.PacePlayer.IsFinished)">
|
||||
<span class="oi oi-media-step-forward me-1"></span>
|
||||
</button>
|
||||
|
||||
<button class="btn btn-primary text-nowrap" title="@Loc["Run One Step"] (K)"
|
||||
accesskey="k"
|
||||
@onclick="RunToNextPace"
|
||||
disabled="@(disabledByMachiningProject||machiningProject.PacePlayer.IsFinished)">
|
||||
<CommonRcl.Shared.CombinedIcon>
|
||||
<IconA>
|
||||
<span class="oi oi-media-step-forward me-1"></span>
|
||||
</IconA>
|
||||
<IconB>
|
||||
<span class="badge rounded-pill bg-primary-subtle text-primary-emphasis">
|
||||
step
|
||||
</span>
|
||||
</IconB>
|
||||
</CommonRcl.Shared.CombinedIcon>
|
||||
</button>
|
||||
|
||||
<button class="btn btn-primary text-nowrap" title="@Loc["Break"]"
|
||||
@onclick="@Break"
|
||||
disabled="@(disabledByMachiningProject||!(machiningProject.PacePlayer.IsLocked||machiningProject.PacePlayer.IsFinished))">
|
||||
<span class="oi oi-media-stop me-1"></span>
|
||||
</button>
|
||||
|
||||
<button class="btn btn-primary text-nowrap" title="@Loc["Reset"]"
|
||||
disabled="@disabledByMachiningProject"
|
||||
@onclick="Reset">
|
||||
<span class="bi bi-backspace"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</code></pre><pre><code class="lang-csharp" name="SampleCode-razor.cs">using Hi.Common;
|
||||
using Hi.MachiningProcs;
|
||||
using Hi.Parallels;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
namespace HiNcRcl.Areas.Player
|
||||
{
|
||||
public partial class PlayerButtonGroup : IAsyncDisposable
|
||||
{
|
||||
[Parameter]
|
||||
public string Tid { set; get; } = System.Guid.NewGuid().ToString();
|
||||
StringLocalizer Loc { get; } = new StringLocalizer(typeof(PlayerDiv));
|
||||
SemaphoreSlim DisposeSemaphore { get; } = new SemaphoreSlim(1);
|
||||
MachiningProject MachiningProject => hiNcHost.MachiningProject;
|
||||
bool disposedValue = false;
|
||||
/// <inheritdoc/>
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
base.OnAfterRender(firstRender);
|
||||
if (firstRender)
|
||||
{
|
||||
using var _ = await DisposeSemaphore.EmbraceAsync();
|
||||
if (disposedValue) return;
|
||||
var machiningProject = MachiningProject;
|
||||
if (machiningProject != null)
|
||||
{
|
||||
machiningProject.PacePlayer.IsLockedChangedEvent
|
||||
+= EnumerablePlayer_IsLockedEventHandler;
|
||||
machiningProject.PacePlayer.IsRunningChangedEvent
|
||||
+= EnumerablePlayer_IsLockedEventHandler;
|
||||
machiningProject.PacePlayer.IsFinishedChangedEvent
|
||||
+= EnumerablePlayer_IsLockedEventHandler;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public async ValueTask DisposeAsync()
|
||||
{
|
||||
using var _ = await DisposeSemaphore.EmbraceAsync();
|
||||
var machiningProject = MachiningProject;
|
||||
if (machiningProject != null)
|
||||
{
|
||||
machiningProject.PacePlayer.IsLockedChangedEvent
|
||||
-= EnumerablePlayer_IsLockedEventHandler;
|
||||
machiningProject.PacePlayer.IsRunningChangedEvent
|
||||
-= EnumerablePlayer_IsLockedEventHandler;
|
||||
machiningProject.PacePlayer.IsFinishedChangedEvent
|
||||
-= EnumerablePlayer_IsLockedEventHandler;
|
||||
}
|
||||
disposedValue = true;
|
||||
await ValueTask.CompletedTask;
|
||||
}
|
||||
|
||||
private void EnumerablePlayer_IsLockedEventHandler(bool obj)
|
||||
{
|
||||
InvokeAsync(StateHasChanged).ConfigureAwait(false);
|
||||
}
|
||||
public void StartOrContinue()
|
||||
{
|
||||
if (!MachiningProject.PacePlayer.IsLocked)
|
||||
{
|
||||
MachiningProject.PacePlayer.Start();
|
||||
}
|
||||
else if (!MachiningProject.PacePlayer.IsRunning
|
||||
&& !MachiningProject.PacePlayer.IsFinished)
|
||||
{
|
||||
MachiningProject.PacePlayer.Resume();
|
||||
}
|
||||
}
|
||||
public void Pause()
|
||||
{
|
||||
MachiningProject?.PacePlayer.Pause();
|
||||
}
|
||||
public void RunToLineEnd()
|
||||
{
|
||||
MachiningProject?.NcRunner.RunToLineEnd();
|
||||
}
|
||||
public void RunToNextPace()
|
||||
{
|
||||
MachiningProject?.PacePlayer.RunToNextPace();
|
||||
}
|
||||
public void Break()
|
||||
{
|
||||
MachiningProject?.PacePlayer.Terminate();
|
||||
}
|
||||
public async Task Reset()
|
||||
{
|
||||
await Task.Run(() => {
|
||||
MachiningProject?.PacePlayer.Reset();
|
||||
}).ShowIfCatched(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+146
@@ -0,0 +1,146 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Selected-Step Info Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Selected-Step Info Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="selected-step-info-panel">Selected-Step Info Panel</h1>
|
||||
|
||||
<p>The panel locates on the <a href="index.html">Player Panel</a>.</p>
|
||||
<p>The model is <a class="xref" href="../../../../api/Hi.MachiningSteps.MachiningStep.html">MachiningStep</a> and <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.</p>
|
||||
<p>The <a class="xref" href="../../../../api/Hi.MachiningSteps.MachiningStep.html">MachiningStep</a> is assigned by <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_ClStrip">ClStrip</a>.<a class="xref" href="../../../../api/Hi.CutterLocations.ClStrips.ClStrip.html#Hi_CutterLocations_ClStrips_ClStrip_PosSelected">PosSelected</a>.</p>
|
||||
<p>Show step infomation from <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_DisplayedStepPresentAccessList">DisplayedStepPresentAccessList</a>.</p>
|
||||
<p>The resx of <a class="xref" href="../../../../api/Hi.MachiningSteps.MachiningStep.html">MachiningStep</a> contains the translation of <a class="xref" href="../../../../api/Hi.MachiningSteps.PresentAttribute.html">PresentAttribute</a>.<a class="xref" href="../../../../api/Hi.MachiningSteps.PresentAttribute.html#Hi_MachiningSteps_PresentAttribute_Name">Name</a>, apply the translation to the GUI. If the translation not existed, use the original value.</p>
|
||||
<p>See Also <a href="../preference/step-present-preference-page.html">Step Present Preference Page</a>.</p>
|
||||
<h2 id="sample-code">Sample Code</h2>
|
||||
<p>Refer the code to show step infomation.</p>
|
||||
<pre><code class="lang-csharp" name="SampleCode-ShowStepPresent">internal static void ShowStepPresent(
|
||||
UserEnv userEnv, MachiningStep machiningStep)
|
||||
{
|
||||
foreach (var entry in userEnv.DisplayedStepPresentAccessList)
|
||||
{
|
||||
var present = entry.Value.Present;
|
||||
var valueText = string.Format("{0:" + present.DataFormatString + "}", entry.Value.GetValueFunc.Invoke(machiningStep));
|
||||
Console.WriteLine($"{present.ShortName}: {valueText} {present.TailUnitString} ({present.Name} [{entry.Key}])");
|
||||
}
|
||||
}
|
||||
</code></pre><h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Play/SelectedStepInfoPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/selected-step-info-panel.js (Vue component)</li>
|
||||
<li>wwwroot/selected-step-info-panel.css (Styles)</li>
|
||||
<li>Controllers/PlayerController.cs (REST API)</li>
|
||||
<li>Hubs/PlayerHub.cs (SignalR Hub for real-time updates)</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+141
@@ -0,0 +1,141 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Graphic-Cache SubMenu | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Graphic-Cache SubMenu | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="graphic-cache-submenu">Graphic-Cache SubMenu</h1>
|
||||
|
||||
<p>The submenu locates on the <a href="index.html">Preference Menu Dropdown</a>.</p>
|
||||
<p>The model <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a> is from its parent component.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Graphic-Cache SubMenu
|
||||
<ul>
|
||||
<li><code>Graphic-Cache Lower Limit Input Text Field</code></li>
|
||||
<li><code>Graphic-Cache Upper Limit Input Text Field</code></li>
|
||||
<li><code>Graphic-Cache Input Text Field</code></li>
|
||||
<li><code>Graphic-Cache Slider</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="behavior">Behavior</h2>
|
||||
<p><code>Graphic-Cache Input Text Field</code> and <code>Graphic-Cache Slider</code> bind the <a class="xref" href="../../../../api/Hi.HiNcKits.UserConfig.html">UserConfig</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.UserConfig.html#Hi_HiNcKits_UserConfig_GraphicCacheMb">GraphicCacheMb</a>. The limit text fields also bind to the properties of <a class="xref" href="../../../../api/Hi.HiNcKits.UserConfig.html">UserConfig</a>.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>MainWindow (be included in preference menu)</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/preference/preference-menu.js</li>
|
||||
<li>Controller/Preference/PreferenceController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,151 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Preference Menu Dropdown | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Preference Menu Dropdown | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="preference-menu-dropdown">Preference Menu Dropdown</h1>
|
||||
|
||||
<p>The model of the UI is <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.
|
||||
<a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a> contains <a class="xref" href="../../../../api/Hi.HiNcKits.UserConfig.html">UserConfig</a>, which is rapidly used in the GUI.</p>
|
||||
<p>The dropdown is on the <a href="../main-panel.html">Main Panel</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Preference Menu Dropdown
|
||||
<ul>
|
||||
<li><a href="step-present-preference-page.html">Step Present Preference</a> Button</li>
|
||||
<li><a href="graphic-cache-dropdown.html">Graphic-Cache Dropdown</a></li>
|
||||
<li><a href="language-selection-submenu.html">Language Selection SubMenu</a></li>
|
||||
<li>Show Physics Options CheckBox
|
||||
<ul>
|
||||
<li>The model is <a class="xref" href="../../../../api/Hi.HiNcKits.UserConfig.html#Hi_HiNcKits_UserConfig_ShowPhysicsOptions">ShowPhysicsOptions</a>.</li>
|
||||
<li>The checkbox is disabled and unchecked if <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_IsPhysicsLicensed">IsPhysicsLicensed</a> is false.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Show Log Button
|
||||
See <a href="../message-section-on-main-panel.html">Message Section</a>.
|
||||
The button does not exist on WPF application.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="single-user-application">Single User Application</h2>
|
||||
<p>In single user application, access global <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a> and <a class="xref" href="../../../../api/Hi.HiNcKits.UserConfig.html">UserConfig</a> by the <a class="xref" href="../../../../api/Hi.HiNcKits.LocalApp.html">LocalApp</a>.</p>
|
||||
<p>Apply <a class="xref" href="../../../../api/Hi.HiNcKits.LocalApp.html">LocalApp</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.LocalApp.html#Hi_HiNcKits_LocalApp_SaveUserConfig">SaveUserConfig()</a> or <a class="xref" href="../../../../api/Hi.HiNcKits.LocalApp.html">LocalApp</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.LocalApp.html#Hi_HiNcKits_LocalApp_LooseSaveUserConfig">LooseSaveUserConfig()</a> (save config in <a href="../general-rules.html">Loose Manner</a>) if config changed.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>MainWindow (include preference menu)</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/preference/preference-menu.js</li>
|
||||
<li>Controller/Preference/PreferenceController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Language Selection SubMenu | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Language Selection SubMenu | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="language-selection-submenu">Language Selection SubMenu</h1>
|
||||
|
||||
<p>The submenu locates on the <a href="index.html">Preference Menu Dropdown</a>.</p>
|
||||
<p>The model <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a> is from its parent component.</p>
|
||||
<p>Load the language preference on application start.</p>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>Keep language resource on each UI componenets.</p>
|
||||
</div>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Language Selection SubMenu
|
||||
<ul>
|
||||
<li>English Radio CheckBox</li>
|
||||
<li>Simlified Chinese Radio CheckBox</li>
|
||||
<li>Traditional Chinese Radio CheckBox</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>MainWindow (In the preference menu)</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/preference/preference-menu.js</li>
|
||||
<li>Controller/Preference/PreferenceController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+489
@@ -0,0 +1,489 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Step Present Preference Page | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Step Present Preference Page | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="step-present-preference-page">Step Present Preference Page</h1>
|
||||
|
||||
<p>The model <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a> is from its parent component. The <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html">UserEnv</a>.<a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_UserConfig">UserConfig</a> is rapidly used.</p>
|
||||
<p>The model of Candidate Keys Panel is <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_CandidateStepPresentKeyList">CandidateStepPresentKeyList</a>.
|
||||
The model of Displayed Keys Panel is <a class="xref" href="../../../../api/Hi.HiNcKits.UserConfig.html#Hi_HiNcKits_UserConfig_DisplayedStepPresentKeyList">DisplayedStepPresentKeyList</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Step Present Preference Page (or window)
|
||||
<ul>
|
||||
<li>Candidate Keys Panel
|
||||
<ul>
|
||||
<li>Category A Panel
|
||||
<ul>
|
||||
<li>Key a ToggleButton</li>
|
||||
<li>Key b ToggleButton</li>
|
||||
<li>...</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Category B Panel
|
||||
<ul>
|
||||
<li>...</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>...</li>
|
||||
<li>Category Other Panel</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Displayed Keys Panel
|
||||
<ul>
|
||||
<li>Key 1</li>
|
||||
<li>Key 2</li>
|
||||
<li>...</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>The categories are not defined for programming logic but only for user experience. So decide and define the categories in the GUI here only.</p>
|
||||
<p>Since the Keys are not all come from the properties of <a class="xref" href="../../../../api/Hi.MachiningSteps.MachiningStep.html">MachiningStep</a>, a category panel (Category Other Panel) for the uncategoried keys is required.</p>
|
||||
<p>The keys in the Displayed Keys Panel is in sequence of <a class="xref" href="../../../../api/Hi.HiNcKits.UserConfig.html#Hi_HiNcKits_UserConfig_DisplayedStepPresentKeyList">DisplayedStepPresentKeyList</a>. User tune the sequence and remove key by the Displayed Keys Panel. User add and remove the key from the ToggleButtons in Candidate Keys Panel. Those UI control items are required.</p>
|
||||
<p>To both Candidate Keys Panel and Displayed Keys Panel:
|
||||
Apply <a class="xref" href="../../../../api/Hi.MachiningSteps.PresentAttribute.html">PresentAttribute</a>.<a class="xref" href="../../../../api/Hi.MachiningSteps.PresentAttribute.html#Hi_MachiningSteps_PresentAttribute_Name">Name</a> as Key label by <a class="xref" href="../../../../api/Hi.HiNcKits.UserEnv.html#Hi_HiNcKits_UserEnv_StepPresentAccessDictionary">StepPresentAccessDictionary</a>. Apply the key to the button tooltip.</p>
|
||||
<p>The resx of <a class="xref" href="../../../../api/Hi.MachiningSteps.MachiningStep.html">MachiningStep</a> contains the translation of <a class="xref" href="../../../../api/Hi.MachiningSteps.PresentAttribute.html">PresentAttribute</a>.<a class="xref" href="../../../../api/Hi.MachiningSteps.PresentAttribute.html#Hi_MachiningSteps_PresentAttribute_Name">Name</a>, apply the translation to the GUI. If the translation not existed, use the original value.</p>
|
||||
<h3 id="categories">Categories</h3>
|
||||
<p>Refer the code to design Categories:</p>
|
||||
<pre><code class="lang-csharp" name="SampleCode-StepDiv">@using Hi.Common
|
||||
@using Hi.Geom
|
||||
@using Hi.Mech.Topo
|
||||
@{
|
||||
string pCalss = "d-flex flex-wrap gap-2";
|
||||
string cardTextClass = $"card-text {pCalss}";
|
||||
}
|
||||
|
||||
<div class="card" style="overflow-y: hidden; height:100%; ">
|
||||
<div style="overflow-y: scroll; ">
|
||||
<div style="height: auto">
|
||||
<div class="card-header py-0" data-bs-toggle="collapse" data-bs-target="#fileLineFlagTime-@Tid">@Loc["File"] / @Loc["Command"] / @Loc["Flag"] / @Loc["Time"] / @Loc["System"]</div>
|
||||
<div class="collapse show " id="fileLineFlagTime-@Tid">
|
||||
<div class="card-body ">
|
||||
<div class="@cardTextClass">
|
||||
<div class="w-auto" title="@Loc["File No."] : @Loc["Line No."]">
|
||||
<span class="form-label">@Loc["F.L.No."]</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.FileNo : @MillingStep?.LineNo</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["File"]</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.FilePath</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["Accumulated Time"]</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.AccumulatedTime.ToString("G"))</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["Line Text"]</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.LineText</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["Flags"]</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.FlagsText</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["Step Index"]</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.StepIndex</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-header py-0" data-bs-toggle="collapse" data-bs-target="#toolFeedrateSpindleSpeed-@Tid">@Loc["Tool"] / @Loc["Feedrate"] / @Loc["Spindle Speed"]</div>
|
||||
<div class="collapse show " id="toolFeedrateSpindleSpeed-@Tid">
|
||||
<div class="card-body ">
|
||||
<div class="@cardTextClass">
|
||||
<div class="w-auto" title="@Loc["Tool ID"]">
|
||||
<span class="form-label">@Loc["T"]</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.ToolId</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["S"] (rpm)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.SpindleSpeed_rpm.ToString("G5"))</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["F"] (mm/min)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.Feedrate_mmdmin.ToString("G5"))</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["Feed per Tooth"] (mm)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.FeedPerTooth_mm.ToString("G5"))</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["Feed per Cycle"] (mm)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.FeedPerCycle_mm.ToString("G5"))</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["Tooth Arc Duration"] (s)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.ToothArcDuration_s.ToString("G4"))</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["Spindle Cycle Period"] (s)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.SpindleCyclePeriod_s.ToString("G4"))</span>
|
||||
</div>
|
||||
<div class="w-auto">
|
||||
<span class="form-label">@Loc["Cutting Speed"] (mm/s)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.CuttingSpeed_mmds?.ToString("G4"))</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-header py-0" data-bs-toggle="collapse" data-bs-target="#coordinateAndMove-@Tid">@Loc["Coordinate"] / @Loc["Move"]</div>
|
||||
<div class="collapse show " id="coordinateAndMove-@Tid">
|
||||
<div class="card-body ">
|
||||
<div class="@cardTextClass">
|
||||
<p class="@pCalss">
|
||||
@{
|
||||
var mcCodes = HostMachiningProject?.MachiningEquipment?.GetMachiningChain()?.McCodes;
|
||||
if (mcCodes != null)
|
||||
{
|
||||
var mcTransformers = HostMachiningProject
|
||||
?.MachiningEquipment?.GetMachiningChain()?.McTransformers;
|
||||
for (int i = 0; i < mcCodes.Length; i++)
|
||||
{
|
||||
if (mcTransformers[i] == null)
|
||||
continue;
|
||||
if (mcTransformers[i] is DynamicRotation)
|
||||
{
|
||||
<div class="w-auto" title="@Loc["Machine Coordinate"] @mcCodes[i] (deg)">
|
||||
<span class="form-label">MC.@mcCodes[i] (deg)</span>
|
||||
<span class="form-control readonly w-auto">
|
||||
@MillingStep?.GetMcValue(i)?.SelfInvoke(v => MathUtil.ToDeg(v)).ToString("F5")
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="w-auto" title="@Loc["Machine Coordinate"] @mcCodes[i] (mm)">
|
||||
<span class="form-label">MC.@mcCodes[i] (mm)</span>
|
||||
<span class="form-control readonly w-auto">
|
||||
@MillingStep?.GetMcValue(i)?.ToString("F5")
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</p>
|
||||
<div class="w-auto" title="@Loc["Cutter Location Point"]">
|
||||
<span class="form-label">CL.XYZ (mm)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.Cl?.Point?.ToString("F5"))</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Cutter Location Normal"]">
|
||||
<span class="form-label">CL.IJK</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.Cl?.Normal?.ToString("F5"))</span>
|
||||
</div>
|
||||
@{
|
||||
var moveDirection = MillingStep?.MoveOnProgramCoordinate.GetNormalized();
|
||||
<div class="w-auto" title="@Loc["Move Direction"] (@Loc["Workpiece Coordinate"])">
|
||||
<span class="form-label">@Loc["Move Direction"] [W]</span>
|
||||
<span class="form-control readonly w-auto">@(moveDirection?.ToString("F4"))</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-header py-0" data-bs-toggle="collapse" data-bs-target="#gcgr-@Tid">@Loc["Cutting Geometry"] / @Loc["Chip"] / @Loc["Bias"] / @Loc["Roughness"]</div>
|
||||
<div class="collapse show " id="gcgr-@Tid">
|
||||
<div class="card-body ">
|
||||
<div class="@cardTextClass">
|
||||
<div class="w-auto" title="@Loc["Is Touched"]">
|
||||
<span class="form-label">@Loc["Is Touched"]</span>
|
||||
<span class="form-control readonly w-auto">@Loc[(MillingStep?.IsTouched)?.ToString()]</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Cutting Width"]">
|
||||
<span class="form-label">ae (mm)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.CuttingWidth_mm.ToString("G3"))</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Cutting Depth"]">
|
||||
<span class="form-label">ap (mm)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.CuttingDepth_mm.ToString("G3"))</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Material Removal Rate"]">
|
||||
<span class="form-label">MRR (mm<sup>3</sup>/s)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.Mrr_mm3ds.ToString("G3"))</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Chip Thickness"]">
|
||||
<span class="form-label">@Loc["Chip Thickness"] (um)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.ChipThickness_um?.ToString("G3"))</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Chip Volume"]">
|
||||
<span class="form-label">@Loc["Chip Volume"] (mm<sup>3</sup>)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.ChipVolume_mm3?.ToString("G3"))</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Chip Mass"]">
|
||||
<span class="form-label">@Loc["Chip Mass"] (mg)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.ChipMass_mg?.ToString("G3"))</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Program Side Cusp"]">
|
||||
<span class="form-label">@Loc["Program Side Cusp"] (um)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.ProgramSideCusp_um.ToString("G4"))</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Re-Cut Depth"]">
|
||||
<span class="form-label">@Loc["Re-Cut Depth"] (um)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.ReCutDepth_um.ToString("G4"))</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Delta Tip Deflection"] (@Loc["Tool Running Coordinate"])">
|
||||
<span class="form-label">@Loc["Delta Tip Deflection"] [TR] (um)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.DeltaTipDeflectionOnToolRunningCoordinate_um?.ToString("G3"))</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Max Tip Deflection"] (@Loc["Tool Running Coordinate"])">
|
||||
<span class="form-label">@Loc["Max Tip Deflection"] [TR] (um)</span>
|
||||
<span class="form-control readonly w-auto">@(MillingStep?.MaxTipDeflectionOnToolRunningCoordinate_um?.ToString("G3"))</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-header py-0" data-bs-toggle="collapse" data-bs-target="#phe-@Tid">
|
||||
@Loc["Mechanics"] / @Loc["Power"] / @Loc["Energy"]
|
||||
</div>
|
||||
<div class="collapse show " id="phe-@Tid">
|
||||
<div class="card-body ">
|
||||
<div class="@cardTextClass">
|
||||
<div class="w-auto" title="@Loc["Max Force"]">
|
||||
<span class="form-label">@Loc["Max Force"] (N)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.MaxAbsForce_N?.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Max Force"] (@Loc["Tool Running Coordinate"])">
|
||||
<span class="form-label">@Loc["Max Force"] [TR] (N)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.MaxForceOnToolRunningCoordinate_N?.ToString("G4")</span>
|
||||
</div>
|
||||
|
||||
<div class="w-auto" title="@Loc["Average Moment about Sensor"] (@Loc["Spindle Rotation Coordinate"])">
|
||||
<span class="form-label">@Loc["Avg Moment about Sensor"] [SR] (Nm)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.AvgMomentAboutSensor_Nm?.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Average Absolute Moment about Sensor"] (@Loc["Spindle Rotation Coordinate"])">
|
||||
<span class="form-label">@Loc["Avg Abs Moment about Sensor"] [SR] (Nm)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.AvgAbsMomentAboutSensorVec3d_Nm?.ToString("G4")</span>
|
||||
</div>
|
||||
|
||||
<div class="w-auto" title="@Loc["Thermal Stress"]">
|
||||
<span class="form-label">@Loc["Thermal Stress"] (MPa)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.ThermalStress_MPa?.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Workpiece Plastic Depth"]">
|
||||
<span class="form-label">@Loc["Workpiece Plastic Depth"] (um)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.WorkpiecePlasticDepth_um.ToString("G4")</span>
|
||||
</div>
|
||||
|
||||
<div class="w-auto" title="@Loc["Spindle Input Power"]">
|
||||
<span class="form-label">@Loc["Spindle Input Power"] (W)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.SpindleInputPower_W.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Spindle Output Power"]">
|
||||
<span class="form-label">@Loc["Spindle Output Power"] (W)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.SpindleOutputPower_W.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Accumulated Spindle Energy Consumption From Spindle Input Power"]">
|
||||
<span class="form-label">@Loc["Accumulated Spindle Energy Consumption"] (kWh)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.AccumulatedSpindleEnergyConsumption_kWh.ToString("G6")</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-header py-0" data-bs-toggle="collapse" data-bs-target="#tw-@Tid">@Loc["Temperature"] / @Loc["Wear"]</div>
|
||||
<div class="collapse show " id="tw-@Tid">
|
||||
<div class="card-body ">
|
||||
<div class="@cardTextClass">
|
||||
<div class="w-auto" title="@Loc["Chip Temperature"]">
|
||||
<span class="form-label">@Loc["Chip Temperature"] (<sup>o</sup>C)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.ChipTemperature_C?.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Cutter Dermis Temperature"]">
|
||||
<span class="form-label">@Loc["Cutter Dermis Temperature"] (<sup>o</sup>C)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.CutterDermisTemperature_C?.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Cutter Body Temperature"]">
|
||||
<span class="form-label">@Loc["Cutter Body Temperature"] (<sup>o</sup>C)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.CutterBodyTemperature_C?.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Workpiece Dermis Temperature"]">
|
||||
<span class="form-label">@Loc["Workpiece Dermis Temperature"] (<sup>o</sup>C)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.WorkpieceDermisTemperature_C?.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Instant Crater Wear"]">
|
||||
<span class="form-label">@Loc["Instant Crater Wear"] (um)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.InstantCraterWear_um?.ToString("G3")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Accumulated Crater Wear"]">
|
||||
<span class="form-label">@Loc["Accumulated Crater Wear"] (um)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.AccumulatedCraterWear_um.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Accumulated Flank Wear Depth"]">
|
||||
<span class="form-label">@Loc["Accumulated Flank Wear Depth"] (um)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.AccumulatedFlankWearDepth_um.ToString("G4")</span>
|
||||
</div>
|
||||
<div class="w-auto" title="@Loc["Accumulated Flank Wear Width"]">
|
||||
<span class="form-label">VB (um)</span>
|
||||
<span class="form-control readonly w-auto">@MillingStep?.AccumulatedFlankWearWidth_um.ToString("G4")</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-header py-0" data-bs-toggle="collapse" data-bs-target="#custom-@Tid">@Loc["Custom"]</div>
|
||||
<div class="collapse show " id="custom-@Tid">
|
||||
<div class="card-body ">
|
||||
<div class="@cardTextClass">
|
||||
@{
|
||||
var flexDictionary=MillingStep?.FlexDictionary;
|
||||
if (flexDictionary != null)
|
||||
{
|
||||
foreach(var entry in flexDictionary)
|
||||
{
|
||||
if(HostMachiningProject?.StepPropertyAccessDictionary.TryGetValue(
|
||||
entry.Key, out var stepPropertyAccess)==true)
|
||||
{
|
||||
<div class="w-auto" title="@(stepPropertyAccess.PresentAttribute?.Name)">
|
||||
<span class="form-label">@(stepPropertyAccess.PresentAttribute?.ShortName)</span>
|
||||
<span class="form-control readonly w-auto">@(stepPropertyAccess.GetValueText(MillingStep))</span>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="w-auto" title="@(entry.Key) (@Loc["Not Registered"])">
|
||||
<span class="form-label">@(entry.Key)</span>
|
||||
<span class="form-control readonly w-auto">@(entry.Value)</span>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</code></pre>
|
||||
<p>Refer the code to apply <a class="xref" href="../../../../api/Hi.MachiningSteps.PresentAttribute.html">PresentAttribute</a>.</p>
|
||||
<pre><code class="lang-csharp" name="SampleCode-ShowStepPresent">internal static void ShowStepPresent(
|
||||
UserEnv userEnv, MachiningStep machiningStep)
|
||||
{
|
||||
foreach (var entry in userEnv.DisplayedStepPresentAccessList)
|
||||
{
|
||||
var present = entry.Value.Present;
|
||||
var valueText = string.Format("{0:" + present.DataFormatString + "}", entry.Value.GetValueFunc.Invoke(machiningStep));
|
||||
Console.WriteLine($"{present.ShortName}: {valueText} {present.TailUnitString} ({present.Name} [{entry.Key}])");
|
||||
}
|
||||
}
|
||||
</code></pre><h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Preference/StepPresentPreferenceWindow</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/preference/step-present-preference.js</li>
|
||||
<li>Controller/Preference/PreferenceController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,152 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>RenderingCanvas Tool Bar | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="RenderingCanvas Tool Bar | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="renderingcanvas-tool-bar">RenderingCanvas Tool Bar</h1>
|
||||
|
||||
<p>The model of the RenderingCanvas Tool Bar is <a class="xref" href="../../../api/Hi.Disp.DispEngine.html">DispEngine</a>.</p>
|
||||
<h2 id="layout-and-behavior">Layout and Behavior</h2>
|
||||
<ul>
|
||||
<li><code>View Buttons SubMenu</code>
|
||||
<ul>
|
||||
<li>Front View Button
|
||||
Call DispEngine.<a class="xref" href="../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_SetViewToFrontView">SetViewToFrontView()</a>.</li>
|
||||
<li>Back View Button
|
||||
Call DispEngine.<a class="xref" href="../../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_SetViewToFrontView">SetViewToFrontView()</a> and turn back the view by the code:<pre><code class="lang-csharp" name="SampleCode">DispEngine.SetViewToFrontView();
|
||||
DispEngine.TurnBackView();
|
||||
</code></pre></li>
|
||||
<li>Right View Button
|
||||
...(refer the instruction above)</li>
|
||||
<li>Left View Button
|
||||
...</li>
|
||||
<li>Top View Button
|
||||
...</li>
|
||||
<li>Bottom View Button
|
||||
...</li>
|
||||
<li>Isometric View Button
|
||||
...</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>(other RenderingCanvas tool bar item may be appended here)</li>
|
||||
</ul>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Disp/RenderingCanvasToolBar</li>
|
||||
</ul>
|
||||
<h3 id="webapi-application-source-code-path">Webapi Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/disp/rendering-canvas-tool-bar.js</li>
|
||||
<li>wwwroot/disp/rendering-canvas-tool-bar.css</li>
|
||||
</ul>
|
||||
<p>To build it, you can refer <a href="https://superhightech-gitea.webredirect.org/HiNC-Deploy/Hi.Sample.Webapi/raw/branch/master/wwwroot/disp/rendering-canvas-view-dropdown.js">Hi.Sample.Webapi/wwwroot/disp/rendering-canvas-view-dropdown.js</a>.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,200 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Session Message Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Session Message Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="session-message-panel">Session Message Panel</h1>
|
||||
|
||||
<p>The model is <a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a>.<a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_SessionMessageHost">SessionMessageHost</a>.</p>
|
||||
<p><a class="xref" href="../../../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a> is assigned from the <a href="../player/index.html">Player Panel</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Top Message Filter ToolBar
|
||||
<ul>
|
||||
<li>Message Type Filter SubMenu
|
||||
<ul>
|
||||
<li>NC CheckBox</li>
|
||||
<li>Progress CheckBox</li>
|
||||
<li>Error CheckBox</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Message Text Filter Input
|
||||
<ul>
|
||||
<li>Message Text Filter Input Text Area</li>
|
||||
<li>Message Text Filter Reset Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Export Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Central Message Table</li>
|
||||
</ul>
|
||||
<h2 id="central-message-table">Central Message Table</h2>
|
||||
<p>The model of Central Message Table is <a class="xref" href="../../../../api/Hi.MachiningProcs.SessionMessageHost.html">SessionMessageHost</a>.<a class="xref" href="../../../../api/Hi.MachiningProcs.SessionMessageHost.html#Hi_MachiningProcs_SessionMessageHost_MessageCollection">MessageCollection</a>.</p>
|
||||
<p>Only take last 1000 filtered elements in the <a class="xref" href="../../../../api/Hi.MachiningProcs.SessionMessageHost.html#Hi_MachiningProcs_SessionMessageHost_MessageCollection">MessageCollection</a> by <a class="xref" href="../../../../api/Hi.MachiningProcs.SessionMessageHost.html#Hi_MachiningProcs_SessionMessageHost_GetFliteredList_Hi_MachiningProcs_SessionMessageHost_FilterFlag_System_String_">GetFliteredList(FilterFlag, string)</a> to show for user experience. Find the usage example in the code:</p>
|
||||
<pre><code class="lang-csharp" name="Demo_UseSessionMessageHost">internal static void DemoUseSessionMessageHost(MachiningProject project)
|
||||
{
|
||||
SessionMessageHost sessionMessageHost = project.SessionMessageHost;
|
||||
|
||||
SessionMessageHost.FilterFlag filterFlags =
|
||||
SessionMessageHost.FilterFlag.NC |
|
||||
SessionMessageHost.FilterFlag.Progress |
|
||||
SessionMessageHost.FilterFlag.Error;
|
||||
string filterText = null;
|
||||
var filteredSessionMessageList = sessionMessageHost
|
||||
.GetFliteredList(filterFlags, filterText);
|
||||
|
||||
foreach (var sessionMessage in filteredSessionMessageList)
|
||||
{
|
||||
//M.I.: Message Index.
|
||||
Console.Write($"M.I.: {sessionMessage.Index}; Role: {sessionMessage.MessageRoleText}");
|
||||
|
||||
// For SessionMessageHost.FilterFlag.NC
|
||||
var nc = sessionMessage.DirectInstantSourceCommand;
|
||||
if (nc != null)
|
||||
Console.Write($"Message/NC: {nc.Line}; File: {nc.FilePath}; LineNo: {nc.GetLineNo()}; ");
|
||||
|
||||
// For SessionMessageHost.FilterFlag.Progress or Error.
|
||||
var multiTagMessage = sessionMessage.MultiTagMessage;
|
||||
if (multiTagMessage != null)
|
||||
Console.WriteLine($"Message/NC: {multiTagMessage.Message}");
|
||||
var exception = sessionMessage.Exception;
|
||||
if (exception != null)
|
||||
Console.WriteLine($"Message/NC: {exception.Message}");
|
||||
}
|
||||
File.WriteAllLines("output-session-messages.txt",
|
||||
filteredSessionMessageList.Select(m =>
|
||||
$"Msg[{m.Index}][{m.MessageRoleText}]: {m}"));
|
||||
}
|
||||
</code></pre>
|
||||
<p>In the table, show the columns: <code>Role</code>, <code>NC/Message</code>.</p>
|
||||
<p>Add update table event to <a class="xref" href="../../../../api/Hi.MachiningProcs.SessionMessageHost.html#Hi_MachiningProcs_SessionMessageHost_CollectionItemChanged">CollectionItemChanged</a>. The updating process has to be called by <a href="../general-rules.html">Loose Manner</a> for user experience.</p>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>On window desktop application (WPF), consider use textarea instead of datagrid to MessageTable for better performance. Use padding to show the different columns. And use the font in the textarea that with consistent width.</p>
|
||||
</div>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>The message display should be real-time.</p>
|
||||
</div>
|
||||
<h2 id="behavior-of-export-button">Behavior of Export Button</h2>
|
||||
<p>Export ALL filtered elements in the <a class="xref" href="../../../../api/Hi.MachiningProcs.SessionMessageHost.html#Hi_MachiningProcs_SessionMessageHost_MessageCollection">MessageCollection</a> by <a class="xref" href="../../../../api/Hi.MachiningProcs.SessionMessageHost.html#Hi_MachiningProcs_SessionMessageHost_GetFliteredList_Hi_MachiningProcs_SessionMessageHost_FilterFlag_System_String_">GetFliteredList(FilterFlag, string)</a>.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Play/SessionMessagePanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/player-panel.js (include in Player Panel)</li>
|
||||
<li>Controller/Player/PlayerController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,164 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Translation Remarks | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Translation Remarks | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="translation-remarks">Translation Remarks</h1>
|
||||
|
||||
<p>The translation terminology and convention has to keep consistency.</p>
|
||||
<ul>
|
||||
<li><p>Anchor 定位</p>
|
||||
</li>
|
||||
<li><p>Cutter 刀具</p>
|
||||
<ul>
|
||||
<li>Insert Cutter 刀片式刀具
|
||||
<ul>
|
||||
<li>Insert 刀片</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Holder 刀把</p>
|
||||
<ul>
|
||||
<li>Cylindroid Holder 柱狀刀把</li>
|
||||
<li>Freeform Holder 任意形刀把</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Shank 刀柄</p>
|
||||
</li>
|
||||
<li><p>Fixture 夾具</p>
|
||||
</li>
|
||||
<li><p>Milling Cutter 銑刀</p>
|
||||
</li>
|
||||
<li><p>Freeform Remover 任意移除工具</p>
|
||||
</li>
|
||||
<li><p>Flute 刀刃</p>
|
||||
<ul>
|
||||
<li>Flute-Profile 刃包絡型</li>
|
||||
<li>Flute-Contours 刃型</li>
|
||||
<li>Flute-Inner-Beam 刃中芯</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Upper-Beam 夾持柱</p>
|
||||
</li>
|
||||
<li><p>Integral Mode 組裝形式</p>
|
||||
<ul>
|
||||
<li>Solid End 一體式</li>
|
||||
<li>Insert End 刀片式</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Preset 前設置</p>
|
||||
</li>
|
||||
<li><p>Runtime Geometry 運行時幾何</p>
|
||||
</li>
|
||||
<li><p>Machining Resolution 加工解析度</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,123 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Machine Tool Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Machine Tool Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="machine-tool-panel"><code>Machine Tool Panel</code></h1>
|
||||
|
||||
<h2 id="layout-of-machine-tool-panel">Layout of <code>Machine Tool Panel</code></h2>
|
||||
<ul>
|
||||
<li>Top Item: <code>Load</code> button and the Loaded Machine Tool File Name readonly textarea.</li>
|
||||
<li>Central Panel: RenderingCanvas</li>
|
||||
</ul>
|
||||
<h2 id="behavior-of-machine-tool-panel">Behavior of Machine Tool Panel</h2>
|
||||
<p>RenderingCanvas.Displayee is the machine tool (MachiningProject.MachiningEquipment.MachiningChain)</p>
|
||||
<p><code>Load</code> button load the machine tool to MachiningProject.MachiningEquipment.MachiningChain and MachiningProject.MachiningEquipment.MachiningChainFile by XFactory.Default.GenByFile.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,400 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Mission Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Mission Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="mission-panel">Mission Panel</h1>
|
||||
|
||||
<p>The <code>Mission Panel</code> manages NC program loading, editing, and preparation for simulation in the geometry-only HiNC application.</p>
|
||||
<h2 id="panel-layout">Panel Layout</h2>
|
||||
<ul>
|
||||
<li><p>Left side: <code>NC Program Management Panel</code></p>
|
||||
<ul>
|
||||
<li><code>Program Files Section</code>
|
||||
<ul>
|
||||
<li><code>Load NC File</code> button</li>
|
||||
<li><code>New NC File</code> button</li>
|
||||
<li>List view of loaded NC programs</li>
|
||||
<li><code>Remove</code> button (to remove selected program)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>Program Properties Section</code>
|
||||
<ul>
|
||||
<li>File name and path display</li>
|
||||
<li>Program description input field</li>
|
||||
<li>Program size and line count display</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>Program Association Section</code>
|
||||
<ul>
|
||||
<li>Tool mapping controls:
|
||||
<ul>
|
||||
<li>Dropdown to select T-code</li>
|
||||
<li>Dropdown to select corresponding tool from Tool House</li>
|
||||
<li><code>Apply Mapping</code> button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Work offset mapping controls:
|
||||
<ul>
|
||||
<li>Dropdown to select work offset code (G54, G55, etc.)</li>
|
||||
<li>X, Y, Z offset value inputs</li>
|
||||
<li><code>Apply Offset</code> button</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Right side: <code>NC Program Editor/Viewer</code></p>
|
||||
<ul>
|
||||
<li>Syntax-highlighted G-code editor</li>
|
||||
<li>Line numbers</li>
|
||||
<li><code>Save</code> button</li>
|
||||
<li><code>Validate</code> button</li>
|
||||
<li>Validation results display area</li>
|
||||
<li><code>Show Toolpath Preview</code> toggle button</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Bottom: <code>Toolpath Preview Panel</code> (shown when preview is toggled on)</p>
|
||||
<ul>
|
||||
<li>3D view of the toolpath</li>
|
||||
<li>Color-coded display based on operation type or feed rate</li>
|
||||
<li>Basic camera controls</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="behavior">Behavior</h2>
|
||||
<h3 id="loading-nc-program-files">Loading NC Program Files</h3>
|
||||
<p>When the user clicks the <code>Load NC File</code> button:</p>
|
||||
<ol>
|
||||
<li>Open a file selection dialog showing NC files (*.nc, *.cnc, *.ngc, etc.)</li>
|
||||
<li>After selection, validate the file format</li>
|
||||
<li>Add the file to the list of NC programs</li>
|
||||
<li>Display the file in the editor/viewer</li>
|
||||
<li>Update program properties display</li>
|
||||
</ol>
|
||||
<pre><code class="lang-csharp">// Example code
|
||||
public void LoadNCFile(string filePath)
|
||||
{
|
||||
if (File.Exists(filePath))
|
||||
{
|
||||
// Read and validate NC file
|
||||
string programContent = File.ReadAllText(filePath);
|
||||
|
||||
// Create a new program object
|
||||
NCProgram program = new NCProgram
|
||||
{
|
||||
FilePath = filePath,
|
||||
FileName = Path.GetFileName(filePath),
|
||||
Content = programContent,
|
||||
LineCount = programContent.Split('\n').Length,
|
||||
FileSize = new FileInfo(filePath).Length
|
||||
};
|
||||
|
||||
// Add to the project's mission
|
||||
machiningProject.MachiningMission.Programs.Add(program);
|
||||
|
||||
// Update the NC program list view
|
||||
UpdateProgramListView();
|
||||
|
||||
// Select the newly added program
|
||||
SelectProgram(program);
|
||||
|
||||
// Display the program in the editor
|
||||
LoadProgramIntoEditor(program);
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
<h3 id="creating-a-new-nc-program">Creating a New NC Program</h3>
|
||||
<p>When the user clicks the <code>New NC File</code> button:</p>
|
||||
<ol>
|
||||
<li>Create a new empty NC program object</li>
|
||||
<li>Add it to the list of programs</li>
|
||||
<li>Load it into the editor with minimal template content</li>
|
||||
<li>Allow the user to start editing</li>
|
||||
</ol>
|
||||
<pre><code class="lang-csharp">public void CreateNewNCProgram()
|
||||
{
|
||||
// Create a basic template for a new NC program
|
||||
string templateContent = "%\nO0001\n(NEW PROGRAM)\n\nG90 G40 G17\nG21 (MM)\n\n(PROGRAM BODY)\n\nM30\n%";
|
||||
|
||||
// Create a new program object
|
||||
NCProgram program = new NCProgram
|
||||
{
|
||||
FileName = "NewProgram.nc",
|
||||
Content = templateContent,
|
||||
LineCount = templateContent.Split('\n').Length,
|
||||
IsNew = true
|
||||
};
|
||||
|
||||
// Add to the project's mission
|
||||
machiningProject.MachiningMission.Programs.Add(program);
|
||||
|
||||
// Update the NC program list view
|
||||
UpdateProgramListView();
|
||||
|
||||
// Select the newly added program
|
||||
SelectProgram(program);
|
||||
|
||||
// Display the program in the editor
|
||||
LoadProgramIntoEditor(program);
|
||||
}
|
||||
</code></pre>
|
||||
<h3 id="tool-mapping">Tool Mapping</h3>
|
||||
<p>When the user sets up a tool mapping and clicks <code>Apply Mapping</code>:</p>
|
||||
<ol>
|
||||
<li>Extract the T-code from the selected dropdown</li>
|
||||
<li>Get the corresponding tool from the Tool House based on the selection</li>
|
||||
<li>Add or update the mapping in the mission's tool map</li>
|
||||
<li>Update the display to show the active mapping</li>
|
||||
</ol>
|
||||
<pre><code class="lang-csharp">public void ApplyToolMapping(string tCodeStr, int toolHousePosition)
|
||||
{
|
||||
if (int.TryParse(tCodeStr.Substring(1), out int tCode))
|
||||
{
|
||||
// Get the tool from the tool house
|
||||
var tool = machiningProject.MachiningToolHouse[toolHousePosition];
|
||||
if (tool != null)
|
||||
{
|
||||
// Update or add the mapping
|
||||
machiningProject.MachiningMission.ToolMap[tCode] = toolHousePosition;
|
||||
|
||||
// Update the display
|
||||
UpdateToolMappingDisplay();
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
<h3 id="work-offset-mapping">Work Offset Mapping</h3>
|
||||
<p>When the user sets up a work offset and clicks <code>Apply Offset</code>:</p>
|
||||
<ol>
|
||||
<li>Extract the offset code (G54, G55, etc.)</li>
|
||||
<li>Create a vector from the X, Y, Z input values</li>
|
||||
<li>Add or update the offset in the mission's work offset map</li>
|
||||
<li>Update the display to show the active offset</li>
|
||||
</ol>
|
||||
<pre><code class="lang-csharp">public void ApplyWorkOffset(string offsetCode, double x, double y, double z)
|
||||
{
|
||||
// Create the offset vector
|
||||
Vec3d offset = new Vec3d(x, y, z);
|
||||
|
||||
// Update or add the mapping
|
||||
machiningProject.MachiningMission.WorkOffsetMap[offsetCode] = offset;
|
||||
|
||||
// Update the display
|
||||
UpdateWorkOffsetDisplay();
|
||||
}
|
||||
</code></pre>
|
||||
<h3 id="validating-nc-program">Validating NC Program</h3>
|
||||
<p>When the user clicks the <code>Validate</code> button:</p>
|
||||
<ol>
|
||||
<li>Parse the current program content in the editor</li>
|
||||
<li>Check for syntax errors</li>
|
||||
<li>Verify tool references against the tool map</li>
|
||||
<li>Check for unsupported G/M codes</li>
|
||||
<li>Display validation results in the results area</li>
|
||||
</ol>
|
||||
<pre><code class="lang-csharp">public void ValidateProgram()
|
||||
{
|
||||
// Get the current content from the editor
|
||||
string programContent = GetEditorContent();
|
||||
|
||||
// Create a validator
|
||||
NCProgramValidator validator = new NCProgramValidator(machiningProject);
|
||||
|
||||
// Perform validation
|
||||
ValidationResult result = validator.Validate(programContent);
|
||||
|
||||
// Display results
|
||||
ClearValidationResultsDisplay();
|
||||
if (result.IsValid)
|
||||
{
|
||||
DisplayValidationSuccess("Program validation successful.");
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var error in result.Errors)
|
||||
{
|
||||
DisplayValidationError(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
<h3 id="displaying-toolpath-preview">Displaying Toolpath Preview</h3>
|
||||
<p>When the user toggles the <code>Show Toolpath Preview</code>:</p>
|
||||
<ol>
|
||||
<li>If toggled on:
|
||||
a. Parse the NC program
|
||||
b. Generate a toolpath using the geometry-only simulation engine
|
||||
c. Render the toolpath in the preview panel
|
||||
d. Show the preview panel</li>
|
||||
<li>If toggled off:
|
||||
a. Hide the preview panel</li>
|
||||
</ol>
|
||||
<pre><code class="lang-csharp">public void ToggleToolpathPreview(bool showPreview)
|
||||
{
|
||||
if (showPreview)
|
||||
{
|
||||
// Get the current program
|
||||
NCProgram program = GetSelectedProgram();
|
||||
|
||||
// Generate toolpath (simplified for geometry-only)
|
||||
Toolpath toolpath = ToolpathGenerator.GenerateFromNCProgram(
|
||||
program.Content,
|
||||
machiningProject.MachiningMission.ToolMap,
|
||||
machiningProject.MachiningMission.WorkOffsetMap,
|
||||
machiningProject.MachiningEquipment);
|
||||
|
||||
// Render the toolpath
|
||||
RenderToolpathPreview(toolpath);
|
||||
|
||||
// Show the preview panel
|
||||
toolpathPreviewPanel.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Hide the preview panel
|
||||
toolpathPreviewPanel.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
<h3 id="data-structure">Data Structure</h3>
|
||||
<p>The panel operates primarily on the <code>MachiningMission</code> of the <code>MachiningProject</code>:</p>
|
||||
<pre><code class="lang-csharp">public class MachiningMission
|
||||
{
|
||||
public List<NCProgram> Programs { get; set; } = new List<NCProgram>();
|
||||
public Dictionary<int, int> ToolMap { get; set; } = new Dictionary<int, int>();
|
||||
public Dictionary<string, Vec3d> WorkOffsetMap { get; set; } = new Dictionary<string, Vec3d>();
|
||||
// Other mission-related properties
|
||||
}
|
||||
|
||||
public class NCProgram
|
||||
{
|
||||
public string FilePath { get; set; }
|
||||
public string FileName { get; set; }
|
||||
public string Content { get; set; }
|
||||
public long FileSize { get; set; }
|
||||
public int LineCount { get; set; }
|
||||
public bool IsNew { get; set; }
|
||||
public string Description { get; set; }
|
||||
// Other program-related properties
|
||||
}
|
||||
</code></pre>
|
||||
<h2 id="integration-with-main-application">Integration with Main Application</h2>
|
||||
<p>The <code>Mission Panel</code> is activated when the user selects the <code>Mission</code> item in the <code>Navigation Menu</code>. It accesses and modifies the <code>MachiningMission</code> component of the current <code>MachiningProject</code> instance.</p>
|
||||
<p>When changes are made in this panel, the following notifications should be sent:</p>
|
||||
<ol>
|
||||
<li><code>ProgramListChanged</code> - When programs are added or removed</li>
|
||||
<li><code>ProgramContentChanged</code> - When program content is edited</li>
|
||||
<li><code>ToolMapChanged</code> - When tool mappings are updated</li>
|
||||
<li><code>WorkOffsetMapChanged</code> - When work offsets are updated</li>
|
||||
</ol>
|
||||
<p>These notifications allow other components (particularly the Player panel) to update their behavior accordingly when preparing for or executing the simulation.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+158
@@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>GUI File Path Assignment | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="GUI File Path Assignment | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="gui-file-path-assignment">GUI File Path Assignment</h1>
|
||||
|
||||
<p>See the remarks of <a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html#Hi_Common_XmlUtils_IMakeXmlSource_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a> to know the design pattern of file path treatment.</p>
|
||||
<p>if the assigned file path is descendent of the configuration directory, it is straight forward that set the <code>baseDirectory</code> to the configuration directory and apply relative path to <code>relFile</code>; if not, set <code>baseDirectory</code> to null and set <code>relFile</code> to absolute path.</p>
|
||||
<p>GUI that needs to assign file generally requires a code-behind <code>BaseDirectory</code> property as assistent model. The property is assigned by the parent model from the parent GUI.</p>
|
||||
<p>In most cases, the first <code>BaseDirectory</code> is the project directory if the project has assigned (created or loaded).</p>
|
||||
<h2 id="portability">Portability</h2>
|
||||
<p>To maintain For the portability of project or the other folder-based unit, if the sub-item is loaded by absolute path outside the folder-based unit directory, redirect the saving path to the folder-based unit directory, i.e. the SubItemFile below.</p>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>You have no need to do an additional action to create a duplicate in the folder-based unit directory. Since the file-writing pattern of <a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html#Hi_Common_XmlUtils_IMakeXmlSource_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a> create files when user call to save. In other perspective, if user does not call to save, the local duplicate should be created.</p>
|
||||
</div>
|
||||
<p>The design pattern is usually saw in the HiAPI program, a object contains the properties:</p>
|
||||
<ul>
|
||||
<li>object SubItem;</li>
|
||||
<li>string SubItemFile;</li>
|
||||
</ul>
|
||||
<p>Then you should keep the Protability.</p>
|
||||
<h2 id="file-path-of-load-button-and-save-button">File Path of Load Button and Save Button</h2>
|
||||
<p>The genneral convention of the File Path of Load and Save is different by the single-user desktop application and web page application.</p>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p>Always preserve an empty filter ( * . * ) for the browser.</p>
|
||||
</div>
|
||||
<h3 id="single-user-desktop-application">Single-User Desktop Application</h3>
|
||||
<p>The default directory of the Save/Load button are generally:</p>
|
||||
<ul>
|
||||
<li>System Default Directory or Project Directory (default, if not explicitly indicated)
|
||||
The initial directory is the project directory.</li>
|
||||
<li>Resource Directory
|
||||
The path always point to <code><application path>/Resource/<classification></code> directory.
|
||||
The button label has to explicitly show ‘Load Resource’.</li>
|
||||
</ul>
|
||||
<p>The kinds of buttons are not exclusive, they can be existed on the same tool bar.</p>
|
||||
<p>If the selected file path is under the project directory, apply the relative path from the project, i.e. baseDirectory is project directory and relFile is the relative path.</p>
|
||||
<h3 id="web-page-application">Web Page Application</h3>
|
||||
<p>The default directory of the Save/Load button are generally:</p>
|
||||
<ul>
|
||||
<li>Admin Directory</li>
|
||||
<li>Project Directory</li>
|
||||
<li>Resource Directory</li>
|
||||
</ul>
|
||||
<p>The Resource Directory and Project Directory are generally under the Admin Directory. And the admin directory is generally set in the appsettings.json file.</p>
|
||||
<h2 id="typical-action-if-exhibitiononly-false">Typical Action if <code>exhibitionOnly</code> false</h2>
|
||||
<p>On <a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a>.<a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html#Hi_Common_XmlUtils_IMakeXmlSource_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a> with <code>exhibitionOnly</code> false, the argument (<code>baseDirectory</code> and <code>relFile</code>) should be the same from object's host (if exist) XML output function.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+211
@@ -0,0 +1,211 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Object Management Menu Button | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Object Management Menu Button | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="object-management-menu-button">Object Management Menu Button</h1>
|
||||
|
||||
<p>The menu button represent the target object with getter function and setter function. The target object generally is <a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a>.</p>
|
||||
<p>the target object with getter function and setter function is such like:</p>
|
||||
<pre><code class="lang-csharp">object TargetObject{get=>TargetObjectGetter?.Invoke();set=>TargetObjectSetter?.Invoke(value);}
|
||||
Func<TargetObject> TargetObjectGetter{get;set;}
|
||||
Action<TargetObject> TargetObjectSetter{get;set;}
|
||||
</code></pre>
|
||||
<p>The target object has the following functions:</p>
|
||||
<ul>
|
||||
<li>File Save/Load
|
||||
<ul>
|
||||
<li>See <a href="gui-file-path-assignment.html">GUI File Path Assignment</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Object Copy/Paste</li>
|
||||
<li>Editor Panel Mode Selection
|
||||
<ul>
|
||||
<li>GUI (user-friendly)</li>
|
||||
<li>XML
|
||||
<ul>
|
||||
<li>Get XML by <a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a> with <code>exhibitionOnly</code> true.</li>
|
||||
<li>Set XML by <a class="xref" href="../../../../api/Hi.Common.XmlUtils.XFactory.html">XFactory</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>If the target object is not <a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a>, then the XML Editor Panel Mode should not appear. The other functions are still buildable.</p>
|
||||
<p>Don't use <a class="xref" href="../../../../api/Hi.Common.XmlUtils.GenMode.html">GenMode</a>.<a class="xref" href="../../../../api/Hi.Common.XmlUtils.GenMode.html#Hi_Common_XmlUtils_GenMode_Default">Default</a> on <a class="xref" href="../../../../api/Hi.Common.XmlUtils.XFactory.html">XFactory</a> functions. Use <a class="xref" href="../../../../api/Hi.Common.XmlUtils.GenMode.html">GenMode</a>.<a class="xref" href="../../../../api/Hi.Common.XmlUtils.GenMode.html#Hi_Common_XmlUtils_GenMode_Rebase">Rebase</a>. Since <a class="xref" href="../../../../api/Hi.Common.XmlUtils.GenMode.html">GenMode</a>.Default pass the inner exception silently.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Object Management Menu Button
|
||||
<ul>
|
||||
<li>Load Button</li>
|
||||
<li>Load Resource Button</li>
|
||||
<li>Save As Button</li>
|
||||
<li>(splitter)</li>
|
||||
<li>Copy Button (with hotkey support if the Object Management Menu Button is focused)</li>
|
||||
<li>Paste Button (with hotkey support if the Object Management Menu Button is focused)</li>
|
||||
<li>(splitter)</li>
|
||||
<li>GUI Ratio Button</li>
|
||||
<li>XML Ratio Button</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<ul>
|
||||
<li>Since the Object Management Menu Button has special meaning, use icon instead of text label.</li>
|
||||
<li>Do not use icon on the other child buttons. The icons gains nothing but hard to keep style to the full application.</li>
|
||||
<li>If the model is selected, show a different style (may be color) on the menu button.</li>
|
||||
<li>The model should contain a ResourceDirectory property.</li>
|
||||
<li>Do not show Load Resource Button if Resource directory not explicitly gave.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h2 id="copy--paste">Copy & Paste</h2>
|
||||
<ul>
|
||||
<li>Object Copy/Paste (i.e. Select/Set or Duplicated-Set)
|
||||
<ul>
|
||||
<li>Copy (i.e. Select)
|
||||
Set the model to UserEnv.SelectedItem.</li>
|
||||
<li>Paste
|
||||
Set UserEnv.SelectedItem to the model.
|
||||
Set by reference is default. Apply Duplicated-Set if explicitly required.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>While a object is copied (selected) here, it can also be paste (drag) to:</p>
|
||||
<ul>
|
||||
<li>Text editor
|
||||
Use <a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a>.<a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html#Hi_Common_XmlUtils_IMakeXmlSource_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a> with <code>exhibitionOnly</code> false and the argument (<code>baseDirectory</code> and <code>relFile</code>) from object's host to paste the text, it should be the same text content by the host XML output.</li>
|
||||
<li>File browser
|
||||
Use <a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a>.<a class="xref" href="../../../../api/Hi.Common.XmlUtils.IMakeXmlSource.html#Hi_Common_XmlUtils_IMakeXmlSource_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a> with <code>exhibitionOnly</code> true, <code>baseDirectory</code> destination folder, <code>relFile</code> destination file name (maybe xxx.class-name) to paste the file.</li>
|
||||
</ul>
|
||||
<p>Show message when paste action success or failed. See <a href="../general-rules.html">Handle Message and Exception</a>.</p>
|
||||
<p>If the data type is not matched, show the un-matched message.</p>
|
||||
<h2 id="editor-panel-mode-ratio-button">Editor Panel Mode Ratio Button</h2>
|
||||
<p>The Editor Panel switched by the Editor Panel Mode Ratio Button.</p>
|
||||
<p>The BaseDirectory and RelFile properties should exist. Use the RelFile property if the object's host has the corresponding property like XXXFile.</p>
|
||||
<p>The Apply action should be well-set. Include <a class="xref" href="../../../../api/Hi.Common.XmlUtils.SetFileDelegate.html">SetFileDelegate</a> from <a class="xref" href="../../../../api/Hi.Common.XmlUtils.XFactory.html">XFactory</a>.<a class="xref" href="../../../../api/Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Gen__1_System_Xml_Linq_XElement_System_String_Hi_Common_XmlUtils_SetFileDelegate_Hi_Common_XmlUtils_GenMode_System_Object___">Gen<T>(XElement, string, SetFileDelegate, GenMode, params object[])</a> function.
|
||||
The last argument should also be delivered by the host. So there must exist an property to pass the argument.</p>
|
||||
<h3 id="xml-editor-panel-layout">XML Editor Panel Layout</h3>
|
||||
<ul>
|
||||
<li>XML Editor Panel
|
||||
<ul>
|
||||
<li>Cancel Button</li>
|
||||
<li>Apply Button</li>
|
||||
<li>XML TextArea</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Shows error message if the xml-parsing or object creation failed on XML Editor Panel Apply Button applied.</p>
|
||||
<h2 id="wpf-application-source-code-path">WPF Application Source Code Path</h2>
|
||||
<ul>
|
||||
<li>Common/ObjectManagementMenuButton</li>
|
||||
</ul>
|
||||
<p>see <a href="../index.html">this page</a> for git repository.</p>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+153
@@ -0,0 +1,153 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Polar Resolution 2D Panel | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Polar Resolution 2D Panel | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="polar-resolution-2d-panel">Polar Resolution 2D Panel</h1>
|
||||
|
||||
<p>The model is <a class="xref" href="../../../../api/Hi.Geom.Resolution.PolarResolution2d.html">PolarResolution2d</a>.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<ul>
|
||||
<li>Polar Resolution 2D Panel
|
||||
<ul>
|
||||
<li>Enable Custom Resolution CheckBox
|
||||
<ul>
|
||||
<li>enabled if host.model is not null.</li>
|
||||
<li>set host.model to null if not enabled.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Linear Resolution (mm) Input Field
|
||||
<ul>
|
||||
<li>enabled if model not null</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Angle Resolution (deg) Input Field
|
||||
<ul>
|
||||
<li>enabled if model not null</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="feature">Feature</h2>
|
||||
<p>There is a code-behind property to set visibility of Enable CheckBox.</p>
|
||||
<p>If the host.model is null, it may mean the resolution applied the default value.</p>
|
||||
<h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/PolarResolution2dPanel</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/widget/polar-resolution-2d-panel.js</li>
|
||||
<li>Controller/Widget/WidgetController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,601 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Vec3dControl Component | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Vec3dControl Component | 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="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="vec3dcontrol-component">Vec3dControl Component</h1>
|
||||
|
||||
<p>Vec3dControl is a user control for <a class="xref" href="../../../../../api/Hi.Geom.Vec3d.html">Vec3d</a> and display.</p>
|
||||
<h2 id="main-features">Main Features</h2>
|
||||
<ol>
|
||||
<li><p>Dual Input Modes</p>
|
||||
<ul>
|
||||
<li>Standard Mode: Input X, Y, Z components separately</li>
|
||||
<li>Text Mode: Input complete vector in text format</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Vector Normalization</p>
|
||||
<ul>
|
||||
<li>Normalization button (optional)</li>
|
||||
<li>Button visibility controlled by <code>ShowNormalizeButton</code> property</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
<h2 id="refer-sample-code">Refer Sample Code</h2>
|
||||
<pre><code class="lang-csharp" name="SampleCode-xaml"><UserControl x:Class="HiNC_2025_win_desktop.Geom.Vec3dControl"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="30" d:DesignWidth="200">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<!-- Standard Mode Panel -->
|
||||
<StackPanel x:Name="StandardModePanel" Orientation="Horizontal" Grid.ColumnSpan="5">
|
||||
<TextBox x:Name="XTextBox" Width="60" Margin="0,0,2,0" TextChanged="XTextBox_TextChanged" IsReadOnly="{Binding IsReadOnly}"/>
|
||||
<TextBox x:Name="YTextBox" Width="60" Margin="0,0,2,0" TextChanged="YTextBox_TextChanged" IsReadOnly="{Binding IsReadOnly}"/>
|
||||
<TextBox x:Name="ZTextBox" Width="60" Margin="0,0,2,0" TextChanged="ZTextBox_TextChanged" IsReadOnly="{Binding IsReadOnly}"/>
|
||||
<Button Content="{DynamicResource Vec3d_TextMode_Toggle}" Width="20" Click="TextModeToggle_Click" Margin="0,0,2,0" ToolTip="{DynamicResource Vec3d_TextMode_Tooltip}"/>
|
||||
<Button Content="{DynamicResource Vec3d_Normalize}" Width="20" Click="NormalizeButton_Click" Visibility="{Binding ShowNormalizeButton, Converter={StaticResource BooleanToVisibilityConverter}}" ToolTip="{DynamicResource Vec3d_Normalize_Tooltip}"/>
|
||||
</StackPanel>
|
||||
|
||||
<!-- Text Mode Panel -->
|
||||
<StackPanel x:Name="TextModePanel" Orientation="Horizontal" Grid.ColumnSpan="5" Visibility="Collapsed">
|
||||
<TextBox x:Name="VectorTextBox" Width="180" Margin="0,0,2,0" TextChanged="VectorTextBox_TextChanged" IsReadOnly="{Binding IsReadOnly}"
|
||||
ToolTip="{DynamicResource Vec3d_TextMode_Format_Tooltip}"/>
|
||||
<Button Content="{DynamicResource Vec3d_StandardMode_Toggle}" Width="20" Click="StandardModeToggle_Click" Margin="0,0,2,0" ToolTip="{DynamicResource Vec3d_StandardMode_Tooltip}"/>
|
||||
<Button Content="{DynamicResource Vec3d_Normalize}" Width="20" Click="NormalizeButton_Click" Visibility="{Binding ShowNormalizeButton, Converter={StaticResource BooleanToVisibilityConverter}}" ToolTip="{DynamicResource Vec3d_Normalize_Tooltip}"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
</code></pre><pre><code class="lang-csharp" name="SampleCode-xaml.cs">using System;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows;
|
||||
using Hi.Geom;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.ComponentModel;
|
||||
using Hi.Common;
|
||||
using Hi.Common.Messages;
|
||||
|
||||
namespace HiNC_2025_win_desktop.Geom
|
||||
{
|
||||
/// <summary>
|
||||
/// Vec3dControl.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class Vec3dControl : UserControl, INotifyPropertyChanged
|
||||
{
|
||||
private bool _isUpdating = false;
|
||||
private Func<Vec3d> _getterFunc;
|
||||
private Func<Task> _updateByContentFunc;
|
||||
private bool _showNormalizeButton = false;
|
||||
private bool _isTextMode = false;
|
||||
private bool _isReadOnly = false;
|
||||
|
||||
// 用于匹配各种格式的正则表达式
|
||||
private static readonly Regex VectorRegex = new Regex(@"^\s*[\(\[\{]?\s*(-?\d*\.?\d+)\s*,\s*(-?\d*\.?\d+)\s*,\s*(-?\d*\.?\d+)\s*[\)\]\}]?\s*$", RegexOptions.Compiled);
|
||||
|
||||
// 用于匹配变换矩阵格式的正则表达式(包括带有花括号的嵌套格式)
|
||||
private static readonly Regex MatrixRegex = new Regex(@"\{(?:\s*\{?\s*(-?\d*\.?\d+)\s*,\s*(-?\d*\.?\d+)\s*,\s*(-?\d*\.?\d+)\s*,\s*(-?\d*\.?\d+)\s*\}?\s*,){3}\s*\{?\s*(-?\d*\.?\d+)\s*,\s*(-?\d*\.?\d+)\s*,\s*(-?\d*\.?\d+)\s*,\s*(-?\d*\.?\d+)\s*\}?\s*\}", RegexOptions.Compiled);
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
public string ControlId { get; set; } = Guid.NewGuid().ToString();
|
||||
|
||||
public Func<Vec3d> GetterFunc
|
||||
{
|
||||
get => _getterFunc;
|
||||
set
|
||||
{
|
||||
_getterFunc = value;
|
||||
UpdateUI();
|
||||
}
|
||||
}
|
||||
|
||||
public Func<Task> UpdateByContentFunc
|
||||
{
|
||||
get => _updateByContentFunc;
|
||||
set => _updateByContentFunc = value;
|
||||
}
|
||||
|
||||
public bool ShowNormalizeButton
|
||||
{
|
||||
get => _showNormalizeButton;
|
||||
set
|
||||
{
|
||||
if (_showNormalizeButton != value)
|
||||
{
|
||||
_showNormalizeButton = value;
|
||||
OnPropertyChanged(nameof(ShowNormalizeButton));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsTextMode
|
||||
{
|
||||
get => _isTextMode;
|
||||
set
|
||||
{
|
||||
if (_isTextMode != value)
|
||||
{
|
||||
_isTextMode = value;
|
||||
UpdateModeVisibility();
|
||||
OnPropertyChanged(nameof(IsTextMode));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsReadOnly
|
||||
{
|
||||
get => _isReadOnly;
|
||||
set
|
||||
{
|
||||
if (_isReadOnly != value)
|
||||
{
|
||||
_isReadOnly = value;
|
||||
OnPropertyChanged(nameof(IsReadOnly));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
|
||||
public Vec3dControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
DataContext = this;
|
||||
}
|
||||
|
||||
private void UpdateModeVisibility()
|
||||
{
|
||||
if (IsTextMode)
|
||||
{
|
||||
StandardModePanel.Visibility = Visibility.Collapsed;
|
||||
TextModePanel.Visibility = Visibility.Visible;
|
||||
UpdateVectorTextFromXYZ();
|
||||
}
|
||||
else
|
||||
{
|
||||
StandardModePanel.Visibility = Visibility.Visible;
|
||||
TextModePanel.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateVectorTextFromXYZ()
|
||||
{
|
||||
if (_isUpdating) return;
|
||||
|
||||
if (double.TryParse(XTextBox.Text, out double x) &&
|
||||
double.TryParse(YTextBox.Text, out double y) &&
|
||||
double.TryParse(ZTextBox.Text, out double z))
|
||||
{
|
||||
VectorTextBox.Text = $"{x},{y},{z}";
|
||||
}
|
||||
}
|
||||
|
||||
private void TextModeToggle_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
IsTextMode = true;
|
||||
}
|
||||
|
||||
private void StandardModeToggle_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
IsTextMode = false;
|
||||
}
|
||||
|
||||
private async void NormalizeButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (_isUpdating || _getterFunc == null || IsReadOnly)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
_isUpdating = true;
|
||||
|
||||
var vec = _getterFunc();
|
||||
if (vec != null)
|
||||
{
|
||||
vec.Normalize();
|
||||
|
||||
XTextBox.Text = vec.X.ToString("F3");
|
||||
YTextBox.Text = vec.Y.ToString("F3");
|
||||
ZTextBox.Text = vec.Z.ToString("F3");
|
||||
|
||||
if (IsTextMode)
|
||||
{
|
||||
VectorTextBox.Text = $"{vec.X:F3},{vec.Y:F3},{vec.Z:F3}";
|
||||
}
|
||||
if(_updateByContentFunc != null)
|
||||
await _updateByContentFunc();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageKit.AddError(string.Format(Application.Current.FindResource("Vec3d_Update_Error").ToString(), ex.Message));
|
||||
ex.ShowException(this);
|
||||
}
|
||||
finally
|
||||
{
|
||||
_isUpdating = false;
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateUI()
|
||||
{
|
||||
if (_isUpdating || _getterFunc == null)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
_isUpdating = true;
|
||||
var vec = _getterFunc();
|
||||
if (vec != null)
|
||||
{
|
||||
XTextBox.Text = vec.X.ToString("F3");
|
||||
YTextBox.Text = vec.Y.ToString("F3");
|
||||
ZTextBox.Text = vec.Z.ToString("F3");
|
||||
|
||||
if (IsTextMode)
|
||||
{
|
||||
VectorTextBox.Text = $"{vec.X},{vec.Y},{vec.Z}";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
XTextBox.Text = "";
|
||||
YTextBox.Text = "";
|
||||
ZTextBox.Text = "";
|
||||
VectorTextBox.Text = "";
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
_isUpdating = false;
|
||||
}
|
||||
}
|
||||
|
||||
private async void XTextBox_TextChanged(object sender, TextChangedEventArgs e)
|
||||
{
|
||||
await HandleTextChanged();
|
||||
}
|
||||
|
||||
private async void YTextBox_TextChanged(object sender, TextChangedEventArgs e)
|
||||
{
|
||||
await HandleTextChanged();
|
||||
}
|
||||
|
||||
private async void ZTextBox_TextChanged(object sender, TextChangedEventArgs e)
|
||||
{
|
||||
await HandleTextChanged();
|
||||
}
|
||||
|
||||
private async void VectorTextBox_TextChanged(object sender, TextChangedEventArgs e)
|
||||
{
|
||||
if (_isUpdating || _getterFunc == null || IsReadOnly)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
string text = VectorTextBox.Text.Trim();
|
||||
|
||||
// 如果文本为空或太短,不做处理
|
||||
if (string.IsNullOrWhiteSpace(text) || text.Length < 3)
|
||||
return;
|
||||
|
||||
_isUpdating = true;
|
||||
|
||||
// 尝试解析为向量格式
|
||||
if (TryParseVector(text, out double x, out double y, out double z))
|
||||
{
|
||||
await UpdateVectorValues(x, y, z);
|
||||
}
|
||||
// 尝试解析为变换矩阵格式(仅提取位移分量)
|
||||
else if (TryParseTransformMatrix(text, out double tx, out double ty, out double tz))
|
||||
{
|
||||
await UpdateVectorValues(tx, ty, tz);
|
||||
}
|
||||
// 尝试作为单值解析每个字段(宽松模式)
|
||||
else if (TryParseLooseVector(text, out double lx, out double ly, out double lz))
|
||||
{
|
||||
await UpdateVectorValues(lx, ly, lz);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageKit.AddError(string.Format(Application.Current.FindResource("Vec3d_Update_Error").ToString(), ex.Message));
|
||||
ex.ShowException(this);
|
||||
}
|
||||
finally
|
||||
{
|
||||
_isUpdating = false;
|
||||
}
|
||||
}
|
||||
|
||||
private bool TryParseVector(string text, out double x, out double y, out double z)
|
||||
{
|
||||
x = y = z = 0;
|
||||
|
||||
// 使用正则表达式匹配向量格式
|
||||
Match match = VectorRegex.Match(text);
|
||||
if (match.Success && match.Groups.Count >= 4)
|
||||
{
|
||||
if (double.TryParse(match.Groups[1].Value, out x) &&
|
||||
double.TryParse(match.Groups[2].Value, out y) &&
|
||||
double.TryParse(match.Groups[3].Value, out z))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool TryParseTransformMatrix(string text, out double tx, out double ty, out double tz)
|
||||
{
|
||||
tx = ty = tz = 0;
|
||||
|
||||
// 移除所有换行和多余空格,便于匹配
|
||||
text = Regex.Replace(text, @"\s+", " ");
|
||||
|
||||
// 尝试匹配变换矩阵格式
|
||||
Match match = MatrixRegex.Match(text);
|
||||
if (match.Success && match.Groups.Count >= 8)
|
||||
{
|
||||
// 变换矩阵的第4列通常是位移分量
|
||||
if (double.TryParse(match.Groups[4].Value, out tx) &&
|
||||
double.TryParse(match.Groups[8].Value, out ty) &&
|
||||
double.TryParse(match.Groups[12].Value, out tz))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// 尝试匹配更宽松的变换矩阵表示(例如从界面复制的数据)
|
||||
var numbers = Regex.Matches(text, @"(-?\d*\.?\d+)");
|
||||
if (numbers.Count >= 16)
|
||||
{
|
||||
// 假设这是一个4x4矩阵,提取位移分量(第4、8、12个数字)
|
||||
if (double.TryParse(numbers[3].Value, out tx) &&
|
||||
double.TryParse(numbers[7].Value, out ty) &&
|
||||
double.TryParse(numbers[11].Value, out tz))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool TryParseLooseVector(string text, out double x, out double y, out double z)
|
||||
{
|
||||
x = y = z = 0;
|
||||
|
||||
// 移除所有非数字和小数点以外的字符,然后按空白分割
|
||||
string cleanText = Regex.Replace(text, @"[^\d\.\-\s,;]+", " ");
|
||||
string[] parts = Regex.Split(cleanText, @"[\s,;]+");
|
||||
|
||||
// 尝试从分割后的部分获取三个数字
|
||||
var numbers = new System.Collections.Generic.List<double>();
|
||||
foreach (var part in parts)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(part) && double.TryParse(part, out double value))
|
||||
{
|
||||
numbers.Add(value);
|
||||
if (numbers.Count >= 3) break; // 最多取3个数字
|
||||
}
|
||||
}
|
||||
|
||||
// 如果获取到了三个数字,就认为解析成功
|
||||
if (numbers.Count >= 3)
|
||||
{
|
||||
x = numbers[0];
|
||||
y = numbers[1];
|
||||
z = numbers[2];
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private async Task UpdateVectorValues(double x, double y, double z)
|
||||
{
|
||||
XTextBox.Text = x.ToString("F3");
|
||||
YTextBox.Text = y.ToString("F3");
|
||||
ZTextBox.Text = z.ToString("F3");
|
||||
|
||||
var vec = _getterFunc?.Invoke();
|
||||
if (vec != null)
|
||||
{
|
||||
vec.X = x;
|
||||
vec.Y = y;
|
||||
vec.Z = z;
|
||||
|
||||
if (_updateByContentFunc != null)
|
||||
{
|
||||
await _updateByContentFunc();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async Task HandleTextChanged()
|
||||
{
|
||||
if (_isUpdating || _getterFunc == null || IsReadOnly)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
_isUpdating = true;
|
||||
|
||||
// 尝试解析每个文本框的值
|
||||
bool allValid = true;
|
||||
|
||||
allValid &= double.TryParse(XTextBox.Text, out double x);
|
||||
allValid &= double.TryParse(YTextBox.Text, out double y);
|
||||
allValid &= double.TryParse(ZTextBox.Text, out double z);
|
||||
|
||||
if (allValid)
|
||||
{
|
||||
if (IsTextMode)
|
||||
{
|
||||
VectorTextBox.Text = $"{x},{y},{z}";
|
||||
}
|
||||
|
||||
var vec = _getterFunc();
|
||||
if (vec != null)
|
||||
{
|
||||
vec.X = x;
|
||||
vec.Y = y;
|
||||
vec.Z = z;
|
||||
|
||||
if(_updateByContentFunc != null)
|
||||
await _updateByContentFunc();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 如果有无效输入,不进行更新但也不显示错误
|
||||
// 这允许用户在输入过程中有不完整的状态
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// 记录异常但不中断用户操作
|
||||
MessageKit.AddError(string.Format(Application.Current.FindResource("Vec3d_Update_Error").ToString(), ex.Message));
|
||||
ex.ShowException(this);
|
||||
}
|
||||
finally
|
||||
{
|
||||
_isUpdating = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre><h2 id="source-code-path">Source Code Path</h2>
|
||||
<p>See <a href="../../index.html">this page</a> for git repository.</p>
|
||||
<h3 id="wpf-application-source-code-path">WPF Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>Geom/Vec3dControl</li>
|
||||
</ul>
|
||||
<h3 id="web-page-application-source-code-path">Web Page Application Source Code Path</h3>
|
||||
<ul>
|
||||
<li>wwwroot/widget/vec3d-control.js</li>
|
||||
<li>Controller/Widget/WidgetController.cs</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user