tune
This commit is contained in:
@@ -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.UserService.html">UserService</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#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/player/player-extended-toolbar.js (includes graphic cache dropdown)</li>
|
||||
<li>Environments/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,148 @@
|
||||
<!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.UserService.html">UserService</a>.
|
||||
<a class="xref" href="../../../api/Hi.HiNcKits.UserService.html">UserService</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.UserService.html#Hi_HiNcKits_UserService_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="source-code-locations">Source Code Locations</h2>
|
||||
<p>See <a href="../index.html">HiNC GUI Architecture</a> for git repository links.</p>
|
||||
<h3 id="wpf-application">WPF Application</h3>
|
||||
<ul>
|
||||
<li><code>MainWindow</code> (includes preference menu)</li>
|
||||
</ul>
|
||||
<h3 id="web-application">Web Application</h3>
|
||||
<ul>
|
||||
<li><code>wwwroot/preference/preference-menu.js</code></li>
|
||||
<li><code>Environments/PreferenceController.cs</code></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.UserService.html">UserService</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.UserService.html">UserService</a> is from its parent component. The <a class="xref" href="../../../api/Hi.HiNcKits.UserService.html#Hi_HiNcKits_UserService_UserConfig">UserConfig</a> is rapidly used.</p>
|
||||
<p>The model of Candidate Keys Panel is <a class="xref" href="../../../api/Hi.HiNcKits.UserService.html#Hi_HiNcKits_UserService_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.UserService.html#Hi_HiNcKits_UserService_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 = LocalProjectService.MachiningEquipment?.GetMachiningChain()?.McCodes;
|
||||
if (mcCodes != null)
|
||||
{
|
||||
var mcTransformers = LocalProjectService
|
||||
?.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(LocalProjectService.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(
|
||||
UserService 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>Environments/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>
|
||||
Reference in New Issue
Block a user