This repository has been archived on 2026-10-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
HiNC-2025-win-desktop-Deploy/App/wwwroot/HiAPI-docsite/manual/basics/preferences.html
T
2026-09-12 18:16:27 +08:00

228 lines
15 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Preferences | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Preferences | 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 &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<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="preferences">Preferences</h1>
<p>The settings that follow the application rather than the project are kept on two sides: the service,
where one value serves every browser signed in to it, and the browser, for the device it is sitting
at. The <strong>Preference</strong> menu carries four of them — the language, the physics switch and the two
controller checkboxes — and the rest are reached from the panel each one belongs to. Which side
keeps a setting is the thing worth knowing about it, because that is
what decides who else sees the change.</p>
<h2 id="where-it-is">Where it is</h2>
<p>The <strong>Preference</strong> dropdown on the menu bar, after <strong>Project</strong> and <strong>Page</strong>. It carries no OK and no
Cancel: every control commits the moment it is pressed. Picking a language closes the language
submenu and leaves the dropdown itself open, exactly as the checkboxes do; nothing in the dropdown
commits on a close. A setting the service refuses is rolled back in the menu, so the dropdown never
shows a value that did not take — the refusal arrives separately, as a message naming what failed.</p>
<h2 id="what-the-dropdown-carries">What the dropdown carries</h2>
<p><strong>Language</strong> opens a submenu of the codes the service offers, each row carrying a language's own name
over the code that names it — <em>English</em> over <code>en</code>, and the two Chinese scripts over <code>zh-Hans</code> and
<code>zh-Hant</code>. The caption on the parent row is the language in force. Picking one re-resolves the
interface immediately and without navigating, which is why the confirmation message already reads in
the language just chosen. The service keeps this one.</p>
<p><strong>Show Physics Options</strong> reveals the physics-only parts of two editors, named under <em>Making a physics
change take</em> below, and switches the cutter drawn on the Tool House canvas and on the
Execution page's <strong>CWE</strong> canvas from a plain bounding shape to its detailed flute geometry. The
service reports whether the physics feature is licensed alongside the setting itself, and without
that licence the checkbox is drawn disabled and clear, with nothing in the menu saying more about
why. Where the licence is present the setting starts on: a service that has never had a preference
saved reports it as on. The service keeps this one too.</p>
<p><strong>CSV Controller</strong> and <strong>CL Controller</strong> each add a node of their own to the General Setup tree once
a project is open — with no project open neither node is built, whatever the boxes say. Both are
kept by the browser, are clear by default, and are never sent to the service. The caption under each
box says whether the open project actually plays that kind — <em>This project plays CSV</em>, or <em>Not used
by this project</em> — and is blank when no project is open and when the service cannot say; it is read
when the menu opens, so it answers for whatever project is open at that moment.</p>
<h2 id="what-is-kept-where">What is kept where</h2>
<p><strong>One service holds one set of values.</strong> There is nothing per account: two people signed in under
different names read and write the same language, the same physics setting, the same everything else
on this side. A change one browser makes is what the next browser to ask will be told. What the
service keeps this way is the language, the physics setting, the properties the Execution page lists
for a selected step, which of that page's charts, its <strong>Session Messages</strong> panel and its <strong>Step
Properties</strong> panel are switched on, the General Setup canvas's display options including the work
coordinate its marker draws, and the graphic cache budget.</p>
<p><strong>The browser keeps the arrangement of the screen in front of it.</strong> That is the two tree pages'
layout — which columns are shown, how wide the docks are and how the right-hand dock is divided
between its two columns, how tall the editor row under each tree is, which tree nodes are left
unfolded, which node each tree page reopens on, the heights dragged between stacked panels, the two
shared chart legend widths and the shared strip-chart x-axis mode — together with the two controller
checkboxes above, and the File Explorer's editor pane, its split, its auto-save and its sort order. Three of the Execution page's panels sit
on this side rather than with that page's others: the <strong>3D Rendering Canvas</strong>, <strong>CWE</strong> and
<strong>Sentence Syntax</strong>. The browser also holds a copy of the language, used only to paint the first
frame before the service can be asked; the service's value wins every disagreement, so a language
changed from another browser shows up here immediately after that first frame.</p>
<p><strong>The graphic cache budget is the exception on the service side.</strong> A new budget takes effect at once
and applies to every browser on that service, exactly like the rest — but the write stops there. It
reaches the service's preference file only when some later preference save writes that file out, so a
service stopped before any such save comes back on the budget it had before.</p>
<h2 id="making-a-physics-change-take">Making a physics change take</h2>
<p><strong>Show Physics Options</strong> is read while a tree or a tab row is being built, not while one is on screen,
so the four routes below are what the tree and the tab row need; the Execution page's <strong>CWE</strong> canvas
re-reads it the next time the selected step changes, while the Tool House canvas fixes the cutter's
shape when its rendering connection is made and holds it until that connection is made again.
Ticking it therefore changes nothing already built: the tree does not grow the nodes it gates, and
the Tool House cutter's section-tab row does not grow the tab, until something builds them again.
Folding a branch shut and opening it again is not a rebuild.</p>
<p>Four things do rebuild one:</p>
<ol>
<li>Reload the browser. That rebuilds the whole application, every tree included.</li>
<li>The project under the session changes — <strong>New</strong>, a <strong>Load</strong> that picks a different project,
<strong>Close Project</strong>, or a <strong>Save As</strong> to a location other than the one already open. Every screen the session has built is discarded and
built again, and <strong>ReLoad</strong> does the same on the path already open.</li>
<li>On Tool House, select a different tool in the left column and come back. The tab row is built for
whichever tool is being shown, so moving between two tools rebuilds it twice.</li>
<li>Edit the structure of a branch and that branch alone is rebuilt — adding, removing or re-kinding a
mission command, or installing a different tool house — so a branch being worked on picks the
setting up without being asked.</li>
</ol>
<p>What appears once one of those has happened: in the Execution tree's Mission branch, the <strong>Shot Files
Output</strong> and <strong>Optimization Output</strong> blocks under a <strong>Post-Execution</strong> command; and in Tool House, the
cutter's <strong>Material</strong> section tab.</p>
<p>Tool House at <code>/tool-house/1/cutter/material</code>, with the setting on. The tab row above the editor —
<strong>General</strong>, <strong>Cutter</strong>, <strong>Holder</strong>, <strong>Clamping</strong>, <strong>Int. Holder</strong> — belongs to the tool; the section
tabs below the Cutter fields belong to the cutter, and <strong>Material</strong> leads that row only while the
physics setting is on. With it off the row starts at <strong>Flute Profile</strong> and the address is left alone,
so a link naming the Material tab opens a complete, plausible-looking panel that is not the one it
named.</p>
<p><img src="preferences-img/physics-material-tab.en.png" alt="The Tool House Cutter tab: a Cutter Type selector reading Milling Cutter above Shank Mass, Hone Radius and Relief Angle, then a row of section tabs reading Material, Flute Profile, Flute Contours, Upper Beam and Optimization with Material selected, showing a Flute Material picker with the chosen material's description under it and a Coating Layers group reading no coating layers, and the cutter drawn on the canvas at the right"></p>
<h2 id="settings-that-live-elsewhere">Settings that live elsewhere</h2>
<p><strong>Show Log</strong> is a button on the menu bar, not an entry of this dropdown.</p>
<p><strong>Step Present</strong> — which properties the Execution page lists for the selected step — opens from the
title bar of that page's <strong>Step Properties</strong> panel, in the Step Info column; the small button there is
titled <em>Step Present — choose which properties are displayed</em>. Its <strong>Clear</strong> and its <strong>Reset</strong> each ask
for confirmation before they act, and its lists of keys are fetched again every time it opens and again
whenever the language changes.</p>
<p><strong>Graphic Cache</strong> is reached through a panel rather than through the menu bar. On the Execution page,
with the canvas-and-messages column shown and the <strong>3D Rendering Canvas</strong> panel expanded, that panel's
title bar carries a toolbar; its <strong>Meshed Geom</strong> dropdown holds <strong>Graphic Cache</strong>, which opens the
<strong>Graphic Cache (MB)</strong> panel — a <em>Lower</em> and an <em>Upper</em> field bounding a <em>Current</em> field and its
slider. The toolbar belongs to the canvas and is only lent to the title bar, so collapsing the panel
takes the whole toolbar away with it, Graphic Cache included.</p>
<h2 id="taking-settings-to-another-machine">Taking settings to another machine</h2>
<p>Nothing carries a preference from one installation to another. A second service starts on the built-in
defaults — English, and the physics options on wherever the licence allows them — and has no
preference file at all until something is saved on it, so an installation that has never had a
preference changed has nothing to carry in the first place.</p>
<p>What the browser keeps travels less far still. It belongs to one browser profile on one device, so the
same person at a second machine, or in a private window on the same one, finds the tree pages laid out
as they come and both controller checkboxes clear.</p>
<h2 id="see-also">See Also</h2>
<ul>
<li><a href="index.html">Basics</a> — the rest of what is true on every screen</li>
<li><a href="the-app-window.html">The Application Window</a> — the menu bar this dropdown sits on, and what a language switch does to the footer</li>
<li><a href="messages-and-logs.html">Messages and Logs</a> — where the Show Log button goes, since it is not an entry here</li>
<li><a href="signing-in.html">Signing In</a> — why one language setting serves everyone on the service</li>
<li><a href="finding-your-way.html">Finding Your Way</a> — the tree nodes the two controller checkboxes add, and the branch the physics setting changes</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>