Archived
deploy.
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 58 KiB |
@@ -0,0 +1,222 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>File Explorer | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="File Explorer | 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="System/File-Explorer">
|
||||
<h1 id="file-explorer">File Explorer</h1>
|
||||
|
||||
<p>Working with the files a project is built from, on the server rather than on your own machine. The
|
||||
File Explorer lists what is there, opens text files in an editor beside the listing, and uploads,
|
||||
downloads, renames, copies and deletes them.</p>
|
||||
<h2 id="where-it-is">Where it is</h2>
|
||||
<p>Its own page, reached from the menu bar's <strong>Page → File Explorer</strong>, at <code>/util/file-explorer</code>. It
|
||||
needs no project loaded. The same browser also runs inside every file dialog the application opens
|
||||
— the <strong>Project</strong> menu's entries, the Object Management buttons on the Control Tree, and the
|
||||
Mechanism Builder's Load and Save As actions — so learning it here is learning all of those. Only
|
||||
the page has the editor beside the listing; a dialog opens with that panel hidden and adds a bar
|
||||
for confirming the pick.</p>
|
||||
<h2 id="the-three-roots">The three roots</h2>
|
||||
<p>The root selector at the left of the toolbar picks which tree is shown. There are three:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Root</th>
|
||||
<th>What it holds</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>Admin</strong></td>
|
||||
<td>The server's working area. Projects and the shared resource library both live under it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Project</strong></td>
|
||||
<td>The folder of the currently-loaded project. Listed only while a project is open.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Resource</strong></td>
|
||||
<td>The shipped library — controllers, cutter and workpiece materials, machine tools, spindle capabilities — in a folder named <code>Resource</code> under Admin.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Everything the browser reports is named relative to the chosen root. Absolute server paths are not
|
||||
shown and are not sent to the browser, so a path copied out of this page names a location inside a
|
||||
root rather than a place on a disk.</p>
|
||||
<p><img src="file-explorer-img/listing-row-actions.en.png" alt="The File Explorer at the shipped Table-B1 machine tool folder: the root selector reads Resource, the breadcrumb reads Resource / MachineTool / Table-B1.default, and the hovered row has revealed its four actions — download, rename, duplicate and delete"></p>
|
||||
<p><em>At <code>/util/file-explorer/Resource/MachineTool/Table-B1.default</code>, with the pointer resting on one
|
||||
row. The action strip appears only on the row under the pointer, and it is laid over the size and
|
||||
modified columns so nothing on the row moves as it appears.</em></p>
|
||||
<h2 id="finding-a-file">Finding a file</h2>
|
||||
<p>Three ways in, and they agree with each other:</p>
|
||||
<ol>
|
||||
<li><strong>Expand the tree.</strong> A folder lists its contents the first time it is opened, so a large tree
|
||||
costs nothing until it is walked into.</li>
|
||||
<li><strong>Type the path.</strong> The path box in the toolbar takes a path relative to the selected root;
|
||||
<code>Enter</code> goes there. The arrow beside it goes up one level.</li>
|
||||
<li><strong>Use the address.</strong> The location is mirrored into the page address as
|
||||
<code>/util/file-explorer/<Root>/<path></code>, so a folder can be bookmarked or pasted to someone else.
|
||||
Browsing rewrites the address, and editing the address drives the browser.</li>
|
||||
</ol>
|
||||
<p>The breadcrumb above the listing goes back up in one click, and the sort control in the toolbar
|
||||
sets the order — by name, size, modified time or type, ascending or descending, with folders kept
|
||||
first or not.</p>
|
||||
<h2 id="reading-and-editing-a-file">Reading and editing a file</h2>
|
||||
<p>Clicking a text file loads it into the editor on the right; the bar above the editor names the root
|
||||
and the path, and the language selector beside it picks the syntax highlighting. That selector is
|
||||
set from the file's extension when the file opens — a project, machine tool, mechanism, material or
|
||||
milling-parameter file all arrive as XML — and can be changed for the file in hand.</p>
|
||||
<p><img src="file-explorer-img/editor-panel.en.png" alt="The same folder with the mechanism file open in the editor: the bar names Resource and the file's path, the language selector reads xml, and the anchor elements of the mechanism are syntax-highlighted beside the listing"></p>
|
||||
<p><em>At <code>/util/file-explorer/Resource/MachineTool/Table-B1.default</code>, after clicking the mechanism file.
|
||||
The pencil button at the right of the toolbar hides and shows this panel; a file clicked while it is
|
||||
hidden opens nothing, so a double-click is the gesture that opens a file either way.</em></p>
|
||||
<p>Edits are not saved until <strong>Save</strong> is pressed, and the file's name carries a red mark while there
|
||||
are unsaved edits. Ticking <strong>Auto Save</strong> instead writes shortly after typing stops and disables the
|
||||
button; switching files, closing the panel or leaving the page flushes a pending write first. With
|
||||
Auto Save off, those same three actions ask before discarding unsaved edits.</p>
|
||||
<p>Binary files do not open here. A click on one reports that it is binary rather than filling the
|
||||
editor with bytes, and an <code>.stl</code> file opens a 3D preview in the editor's place instead — closing the
|
||||
preview brings back whatever text was underneath, unsaved edits included.</p>
|
||||
<h2 id="renaming-and-moving">Renaming and moving</h2>
|
||||
<p><strong>Rename</strong> on the row's action strip edits that entry's name. Because the name is written back as a
|
||||
path relative to the folder it is in, the same action moves files:</p>
|
||||
<div class="TIP">
|
||||
<h5>Tip</h5>
|
||||
<p><strong>Moving by renaming</strong></p>
|
||||
<ul>
|
||||
<li>Renaming <code>file1.txt</code> to <code>Folder/file1.txt</code> moves the file into <code>Folder</code>.</li>
|
||||
<li>Renaming <code>file1.txt</code> inside <code>Folder</code> to <code>../file1.txt</code> moves it out to the folder above.</li>
|
||||
</ul>
|
||||
<p>Parent folders that do not exist yet are created. A move that would land outside the root is
|
||||
refused, and so is one whose destination already exists.</p>
|
||||
</div>
|
||||
<p>A rename cannot move a file from one root to another. To do that, download from one and upload to
|
||||
the other.</p>
|
||||
<h2 id="the-other-row-actions">The other row actions</h2>
|
||||
<ul>
|
||||
<li><strong>Download</strong> saves the file to your own machine. On a folder it becomes <strong>Download as ZIP</strong>,
|
||||
which packs the folder on the server and sends the archive.</li>
|
||||
<li><strong>Extract ZIP</strong>, offered on <code>.zip</code> rows only, unpacks the archive beside itself into a folder
|
||||
named after it.</li>
|
||||
<li><strong>Duplicate</strong> copies the entry next to itself under the first free <code>-Copy-00</code> … <code>-Copy-19</code> name,
|
||||
and reports that all twenty are taken rather than overwriting one.</li>
|
||||
<li><strong>Delete</strong> needs a double-click to confirm. On a folder it removes the folder and everything
|
||||
under it, and it will not delete a root.</li>
|
||||
</ul>
|
||||
<p><strong>Upload</strong>, in the toolbar, sends one file from your own machine into the folder being shown, and
|
||||
overwrites a file of the same name that is already there. <strong>New Folder</strong> and <strong>New File</strong> beside it
|
||||
create empty ones; creating a file that already exists fails rather than emptying it.</p>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
<ul>
|
||||
<li><a href="../../anatomy/util/file-explorer.html">File Explorer Page</a> — the component this page describes: its toolbar, its picker mode, the roots it exposes and the endpoints behind each action</li>
|
||||
<li><a href="mech-builder.html">Mechanism Builder</a> — the other Page-menu utility, whose Load and both Save As actions open this browser as a picker</li>
|
||||
<li><a href="index.html">Utilities</a> — the other screens the Page menu lists beside this one</li>
|
||||
<li><a href="../basics/projects.html">Projects</a> — what the Project root holds, and which of those files a Save As copies</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,132 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Utilities | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Utilities | 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="utilities">Utilities</h1>
|
||||
|
||||
<p>The supporting screens the Page menu lists below its first separator, rather than the three that
|
||||
carry a job from the tool house to a finished run: browsing the files a project is built from,
|
||||
assembling a mechanism outside the equipment tree, and the controller screen that still owns a
|
||||
handful of settings on its own. Two of the three open with no project loaded, which is what makes
|
||||
them supporting screens rather than steps.</p>
|
||||
<p>Ordered as the Page menu lists them.</p>
|
||||
<h2 id="pages">Pages</h2>
|
||||
<ul>
|
||||
<li><a href="file-explorer.html">File Explorer</a> — Finding, reading, editing and moving the server's files, and the editor beside the listing</li>
|
||||
<li><a href="mech-builder.html">Mechanism Builder</a> — Building a mechanism out of anchors and branches, and writing it out as a machine tool file</li>
|
||||
<li><a href="legacy-controller.html">Legacy Controller</a> — The three settings that have no editor anywhere else, and which face to edit for everything else</li>
|
||||
</ul>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
<ul>
|
||||
<li><a href="../setup/index.html">Setup</a> — the equipment these files are loaded into</li>
|
||||
<li><a href="../basics/index.html">Basics</a> — the window and the Page menu that reach these screens</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>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 61 KiB |
@@ -0,0 +1,208 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Legacy Controller | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Legacy Controller | 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="legacy-controller">Legacy Controller</h1>
|
||||
|
||||
<p>The Legacy Controller screen owns three settings that have no editor anywhere else in the
|
||||
application. It edits a different controller model from the General Setup page's Controller branch,
|
||||
and neither screen sees the other's edits: those three are edited here, and everything else on the
|
||||
branch.</p>
|
||||
<h2 id="where-it-is">Where it is</h2>
|
||||
<p>Its own page, reached from the menu bar's <strong>Page → Legacy-Controller</strong>, at <code>/controller/:tab?</code>. It is
|
||||
not a Control-Tree branch; nothing in a tree reaches it. The left pane is a strip of seven tabs, each
|
||||
addressable as the last URL segment: <strong>Coordinate Table</strong> (<code>coordinate-table</code>, which a bare
|
||||
<code>/controller</code> opens), <strong>Datum Preset</strong>, <strong>Datum Shift</strong>, <strong>Offset Table</strong>, <strong>Machine</strong>, <strong>Brand</strong> and
|
||||
<strong>Config</strong>; the two datum tab buttons are shown only while the brand reads Heidenhain. The right pane
|
||||
is a 3D view, described under <a href="#what-the-right-pane-draws">What the right pane draws</a> below.</p>
|
||||
<h2 id="which-face-to-edit">Which face to edit</h2>
|
||||
<p>Controller setup for a project belongs on the General Setup page's Controller branch —
|
||||
<a href="../setup/controller.html">Controller</a>. The brand, the stroke limits, the rapid feedrate, the
|
||||
tool-change time, the tool offset table, the work coordinates and the Heidenhain datum tables all
|
||||
have an editor there as well, and apart from one shared project flag — <strong>Set ideal offset dependent
|
||||
on tool house</strong>, which this screen's Offset Table tab and the branch's Tool Offsets leaf both write —
|
||||
the two screens edit different models. A value changed on one is not the value the other shows.</p>
|
||||
<h2 id="align-program-zero-onto-a-work-offset">Align program zero onto a work offset</h2>
|
||||
<p><strong>Align P0</strong> is on the <strong>Coordinate Table</strong> tab and nowhere else. The branch's Work Coordinates leaf
|
||||
carries <strong>P0</strong> and <strong>M0</strong> on every row too; the alignment is this screen's. Which direction an
|
||||
alignment runs — the work offset moved onto program zero, or program zero moved onto the offset as
|
||||
this button does — and where program zero sits on the workpiece in the first place, are both
|
||||
<a href="../setup/program-zero-alignment.html">Program Zero Alignment</a>.</p>
|
||||
<ol>
|
||||
<li>Find the row holding the work offset program zero should sit at. Ticking the table's selection
|
||||
column is not part of this — that only moves the viewer's coordinate marker onto the row, and
|
||||
that marker is not drawn until <strong>Show on Display</strong> in the tab's toolbar is on. It ships off, so
|
||||
on an untouched project the selection column appears to do nothing.</li>
|
||||
<li>Press <strong>Align P0</strong> in that row. It does not write the coordinate — it moves the workpiece and
|
||||
fixture together so that program zero lands on the offset the row already holds. The toast names
|
||||
the translation it assigned. It needs a workpiece, a fixture and a machine tool on the project —
|
||||
<a href="../setup/index.html">Setup</a> — and without them nothing is written and the button says so.</li>
|
||||
<li><strong>Undo Align</strong> and <strong>Redo Align</strong>, in the tab's toolbar, step back and forward through the
|
||||
alignments this screen has recorded.</li>
|
||||
</ol>
|
||||
<p>That history belongs to the screen rather than to the project: it holds 32 steps, survives a walk to
|
||||
another page and back, and is cleared when the project changes or the browser reloads the page. Each
|
||||
step restores the whole transform from a snapshot taken earlier, so if the fixture's placement was
|
||||
changed on another screen in between, an undo replaces that change rather than merging with it.</p>
|
||||
<p><img src="legacy-controller-img/coordinate-table.en.png" alt="The Legacy Controller on its Coordinate Table tab: five tab buttons, the ISO Coordinate Table with its Undo Align, Redo Align and Show on Display toolbar, and fifteen work-offset rows each carrying P0, M0 and Align P0 in an Actions column"></p>
|
||||
<p><em>At <code>/controller/coordinate-table</code>. <strong>Align P0 is a row action</strong> — every offset from G54 to G59.9
|
||||
has its own, and there is no single button for the table. The tab strip shows five buttons here
|
||||
rather than seven because this project's brand is not Heidenhain; the two datum tabs appear only
|
||||
under that brand, though their addresses stay valid under any of them.</em></p>
|
||||
<h2 id="the-two-switches-nothing-else-carries">The two switches nothing else carries</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Tab</th>
|
||||
<th>Setting</th>
|
||||
<th>What it is for</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>Config</strong></td>
|
||||
<td><strong>Enable Shortest Rotary Path</strong></td>
|
||||
<td>Takes each rotary axis of a block to the equivalent angle nearest the previous block's, so an axis turns the short way round instead of unwinding a whole turn. It arrives on. Under Heidenhain the same normalisation runs whatever the box reads, so clearing it changes nothing there.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Brand</strong></td>
|
||||
<td><strong>Master-axis character</strong></td>
|
||||
<td>Which rotary axis — <code>A</code>, <code>B</code> or <code>C</code> — the Heidenhain <code>PLANE … SEQ</code> orientations are resolved against; what that dialect's words do is <a href="../../technique/nc-dialects/index.html">NC Dialects</a>. The card holding it is present only while the brand reads Heidenhain.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Both commit on the click. If the master-axis write is refused a toast says so, but the select goes on
|
||||
showing the character that was picked, so a reload is what shows which one actually took — and a
|
||||
reloaded <code>A</code> settles nothing, because the Brand tab also falls back to <code>A</code>, silently, when the read
|
||||
itself fails.</p>
|
||||
<p><img src="legacy-controller-img/config-tab.en.png" alt="The Config tab: a single Options card holding the Enable Shortest Rotary Path switch, turned on, above an information banner restating what it does"></p>
|
||||
<p><em>At <code>/controller/config</code>. The whole tab is that one switch. The master-axis select is not beside it
|
||||
— it is on the <strong>Brand</strong> tab and, as the table above says, only while the brand reads Heidenhain,
|
||||
which is why it is absent here.</em></p>
|
||||
<h2 id="what-the-right-pane-draws">What the right pane draws</h2>
|
||||
<p>The 3D view beside the tabs draws the same scene as the <a href="../run/index.html">Execution page</a>, and
|
||||
its <strong>Scene</strong> dropdown writes the same switches — so what is ticked here is ticked there. It offers
|
||||
three groups: the machine tool, the cutter, the workpiece and the fixture; the program-zero and
|
||||
work-offset markers, the Heidenhain one appearing only under that brand; and the dimension bar and
|
||||
colour scale bar. Of those, only the <strong>workpiece, the fixture and the dimension bar arrive on</strong>. The
|
||||
machine tool and the cutter arrive off, and so do the coordinate markers — the work-offset one is
|
||||
exactly what <strong>Show on Display</strong> turns on for this screen's table. A freshly loaded project
|
||||
therefore opens this pane with little or nothing in it, and that is the shipped state rather than a
|
||||
failure to draw.</p>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
<ul>
|
||||
<li><a href="index.html">Utilities</a> — the other screens the Page menu lists beside this one</li>
|
||||
<li><a href="mech-builder.html">Mechanism Builder</a> — another of the supporting screens the Page menu lists, for assembling a machine chain</li>
|
||||
<li><a href="../setup/controller.html">Controller</a> — the branch that owns controller setup for a project, and every setting this screen does not exclusively hold</li>
|
||||
<li><a href="../setup/program-zero-alignment.html">Program Zero Alignment</a> — which direction an alignment runs, where program zero sits on the workpiece, and why this screen's table is not the one a run reads</li>
|
||||
<li><a class="xref" href="../../anatomy/legacy-controller.html">Legacy Controller Page</a> — the component behind this page: its seven tabs, the model it edits and the one it does not</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>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 336 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 324 KiB |
@@ -0,0 +1,240 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Mechanism Builder | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Mechanism Builder | 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="mechanism-builder">Mechanism Builder</h1>
|
||||
|
||||
<p>Building a mechanism: anchors joined by branches, each branch carrying the transform between its two
|
||||
ends, and each anchor optionally carrying a shape. It is where a virtual machine tool's topology is
|
||||
assembled and then written out as a file a project can load.</p>
|
||||
<h2 id="where-it-is">Where it is</h2>
|
||||
<p>Its own page, reached from the menu bar's <strong>Page → Mechanism Builder</strong>, at <code>/util/mech-builder</code>.
|
||||
Nothing on it belongs to a project, so it opens and edits with <strong>no project loaded</strong>, as the File
|
||||
Explorer beside it does. The mechanism is held by the server rather than by the page — more than the
|
||||
page keep-alive <a href="../basics/the-app-window.html">The Application Window</a> grants every screen,
|
||||
because there is one mechanism per server rather than one per browser: a second person editing at the
|
||||
same time is editing the same one.</p>
|
||||
<p>Three fixed, equal-width columns, none of them draggable: the <strong>File</strong> menu, the <strong>Add Anchor</strong>
|
||||
button and the graph of anchors and branches on the left, where clicking a node, or the label on an
|
||||
edge, selects it; the editor for whatever is selected in the middle, headed <strong>Anchor</strong> or <strong>Branch</strong>;
|
||||
and <strong>Display</strong>, the 3D view of the mechanism, on the right, which redraws as the mechanism changes.</p>
|
||||
<p><img src="mech-builder-img/anchor-selected.en.png" alt="The Mechanism Builder with a five-axis machine tool loaded: the graph of ten anchors on the left with the X anchor filled green, the Anchor editor in the middle showing the Identity and Geometry cards, and the assembled machine drawn in the Display column on the right"></p>
|
||||
<p><em>At <code>/util/mech-builder</code>, with an anchor picked in the graph. The open file's path sits under the
|
||||
File menu; the header of the middle column carries <strong>Extend</strong> and the delete button; and the
|
||||
Geometry card here holds a <code>TransformationGeom</code>, so its own inner geometry — an STL file — and its
|
||||
own inner transformer are edited underneath it.</em></p>
|
||||
<p>What the anchors and branches must be <em>called</em> — the motion-axis and end-anchor keywords, which way
|
||||
branches must point, and how to take the numbers off a CAD assembly — is
|
||||
<a href="../setup/machine-tool.html">Building Virtual Machine Tools</a>; this page is only how to drive the
|
||||
editor.</p>
|
||||
<h2 id="starting-loading-and-saving">Starting, loading and saving</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File menu entry</th>
|
||||
<th>What it does</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>New</strong></td>
|
||||
<td>Discards the mechanism on screen and starts an empty one holding a single root anchor.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Load…</strong></td>
|
||||
<td>Opens the server file picker — <a href="file-explorer.html">File Explorer</a>'s browser in picker mode, over the roots that page lists — filtered to <code>*.GeneralMechanism</code> and <code>*.xml</code>. The server reads the file where it sits and remembers its folder.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>ReLoad</strong></td>
|
||||
<td>Re-reads the file you last loaded, dropping the edits made since. Disabled until a file has been loaded.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Save As General Mechanism</strong></td>
|
||||
<td>Writes the mechanism as a <code>.GeneralMechanism</code> XML where you pick, and re-points <strong>ReLoad</strong> at it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Save As Machine Tool</strong></td>
|
||||
<td>Wraps the same mechanism as a machine tool and writes a <code>.MachineTool</code> XML. <strong>ReLoad</strong> goes on pointing at the mechanism file, because a machine tool is a different file type.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>There is no plain <strong>Save</strong> that overwrites what you opened: both writes are Save As and both ask
|
||||
where the result goes. Under the File menu the left column shows the open file's relative path, or
|
||||
<code>(unsaved)</code> while the mechanism has no file yet — after <strong>New</strong>, until the first Save As.</p>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p><strong>Load's file-type filter does not list the extension the shipped mechanisms use.</strong> The picker
|
||||
opens filtered to <code>*.GeneralMechanism</code> and <code>*.xml</code>, while the mechanism beside each shipped
|
||||
machine tool under the Resource root is named <code>.general-mech</code>. Switch the picker's file-type
|
||||
selector to <strong>All Files (*.*)</strong> to see it. The filter hides those files; it does not refuse
|
||||
them, and one picked that way loads normally.</p>
|
||||
</div>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p><strong>Save As Machine Tool does not check the end-anchor keywords.</strong> The write succeeds and reports
|
||||
the file saved whatever the anchors are called, including a mechanism whose tool-end and
|
||||
worktable-end anchors are mis-cased or missing altogether. A file written here asks for its
|
||||
collision pairs to be generated, and generating them needs those two anchors by their exact
|
||||
names, so such a file is refused the first time anything reads it — on the General Setup page's
|
||||
<strong>Machine Tool</strong> branch, not here, and with a message naming the keyword it wanted. Get the names
|
||||
right before saving; they are in
|
||||
<a href="../setup/machine-tool.html">Building Virtual Machine Tools</a>.</p>
|
||||
</div>
|
||||
<p>A <code>.MachineTool</code> written here is not a project's chain until it is loaded onto one, on the General
|
||||
Setup page's <strong>Machine Tool</strong> branch — see
|
||||
<a href="../setup/machine-tool.html">Building Virtual Machine Tools</a>.</p>
|
||||
<h2 id="growing-the-chain">Growing the chain</h2>
|
||||
<ol>
|
||||
<li>Click an anchor in the graph to select it. The root carries a <strong>Root</strong> badge and is the one
|
||||
anchor that cannot be deleted.</li>
|
||||
<li>Press <strong>Extend</strong> in its header. That creates a new anchor <em>and</em> the branch reaching it from the
|
||||
selected one, then selects the new anchor — the normal way a chain grows.</li>
|
||||
<li><strong>Add Anchor</strong>, beside the File menu, is for a loose anchor instead: it creates one connected to
|
||||
nothing, which you join up afterwards with the <strong>Add Branch</strong> picker on an anchor's Identity
|
||||
card. That picker offers every anchor except the selected one and those already joined to it in
|
||||
either direction.</li>
|
||||
<li>Name each anchor as you make it. New ones arrive as <code>NewAnchor-001</code>, <code>NewAnchor-002</code> and so on,
|
||||
so type the real name into <strong>Name</strong> on the Identity card; it commits a moment after you stop
|
||||
typing. A branch carries a <strong>Name</strong> field of its own in the same place.</li>
|
||||
</ol>
|
||||
<p>Deleting an anchor or a branch is a double-click on the red delete button in its header.</p>
|
||||
<h2 id="geometry-on-an-anchor">Geometry on an anchor</h2>
|
||||
<p>Geometry is optional and belongs to one anchor at a time. Select the anchor and tick <strong>Geometry</strong> on
|
||||
the Geometry card; a badge beside the checkbox names the shape currently held, and un-ticking the
|
||||
box removes it. Five kinds can be built here — <code>Box3d</code>, <code>Cylindroid</code>, <code>StlFile</code>, <code>TransformationGeom</code>
|
||||
and <code>GeomCombination</code> — and <code>TransformationGeom</code> carries its own inner geometry and inner
|
||||
transformer, so a shape can be offset from the anchor it hangs on. <strong>Display color</strong>, above the
|
||||
shape editor, is written into the mechanism file itself, so everyone who opens that file sees the
|
||||
same colour; until you set one the badge reads <strong>auto</strong> and the view uses a stable colour of its
|
||||
own, which the reset button beside the swatch returns to.</p>
|
||||
<h2 id="the-branch-transformer">The branch transformer</h2>
|
||||
<p>Click the label on a branch's edge — the transformer type, or the branch's name and type — to select
|
||||
the branch. Its Identity card names the two anchors it joins in order, the one the branch starts from
|
||||
and then the one it reaches, with an arrow between them; that order is the branch's direction. Below
|
||||
that, the <strong>Transformer</strong> card picks between seven kinds, in the order the picker lists them:
|
||||
<code>Static Translation</code>, <code>Static Rotation</code>, <code>Static Freeform</code>, <code>Dynamic Translation</code>,
|
||||
<code>Dynamic Rotation</code>, <code>General Transform</code> and <code>No Transform</code> — which is what every new branch starts
|
||||
on. Pick a kind and its fields appear underneath; the choice takes effect at once, so the right-hand
|
||||
view shows the joint as you edit it. The two dynamic kinds are the ones whose value varies at
|
||||
runtime — a machine's moving axes are branches carrying those.</p>
|
||||
<p><img src="mech-builder-img/branch-transformer.en.png" alt="The same mechanism with a branch picked instead: the graph edge is stroked green, the Identity card names the two anchors it joins with an arrow between them, and the Transformer card reads Dynamic Rotation over a rotation axis, an angle and a pivot"></p>
|
||||
<p><em>At <code>/util/mech-builder</code>, with a branch picked. A <code>Dynamic Rotation</code> carries the axis it turns
|
||||
about and the pivot it turns around; the angle is the value a run varies, so the number shown here
|
||||
is the resting one. The sentence under the fields names the same three parts.</em></p>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
<ul>
|
||||
<li><a href="file-explorer.html">File Explorer</a> — the server-side browser behind this page's Load and Save As dialogs, and the roots they offer</li>
|
||||
<li><a href="index.html">Utilities</a> — the other screens the Page menu lists beside this one</li>
|
||||
<li><a href="legacy-controller.html">Legacy Controller</a> — the other supporting screen in the Page menu, for the three settings nothing else edits</li>
|
||||
<li><a href="../setup/machine-tool.html">Building Virtual Machine Tools</a> — the naming keywords, branch direction and CAD practice a machine chain built here must follow, and where the saved file is attached to a project</li>
|
||||
<li><a class="xref" href="../../anatomy/util/mech-builder.html">Mechanism Builder Page</a> — the component behind this page: its cards, its file IO and how edits reach the canvas</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,31 @@
|
||||
|
||||
<div id="sidetoggle">
|
||||
<div>
|
||||
<div class="sidefilter">
|
||||
<form class="toc-filter">
|
||||
<span class="glyphicon glyphicon-filter filter-icon"></span>
|
||||
<span class="glyphicon glyphicon-remove clear-icon" id="toc_filter_clear"></span>
|
||||
<input type="text" id="toc_filter_input" placeholder="Filter by title" onkeypress="if(event.keyCode==13) {return false;}">
|
||||
</form>
|
||||
</div>
|
||||
<div class="sidetoc">
|
||||
<div class="toc" id="toc">
|
||||
|
||||
<ul class="nav level1">
|
||||
<li>
|
||||
<a href="index.html" name="" title="Overview">Overview</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="file-explorer.html" name="" title="File Explorer">File Explorer</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="mech-builder.html" name="" title="Mechanism Builder">Mechanism Builder</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="legacy-controller.html" name="" title="Legacy Controller">Legacy Controller</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,2 @@
|
||||
|
||||
{"items":[{"name":"Overview","href":"index.html","topicHref":"index.html"},{"name":"File Explorer","href":"file-explorer.html","topicHref":"file-explorer.html"},{"name":"Mechanism Builder","href":"mech-builder.html","topicHref":"mech-builder.html"},{"name":"Legacy Controller","href":"legacy-controller.html","topicHref":"legacy-controller.html"}]}
|
||||
Reference in New Issue
Block a user