Archived
248 lines
14 KiB
HTML
248 lines
14 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Building a Mission | HiAPI-C# 2025 </title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="title" content="Building a Mission | 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="building-a-mission">Building a Mission</h1>
|
|
|
|
<p>A mission is the list of commands a run executes, in order. Nothing plays until there is one, and
|
|
what plays is exactly what the list says — including which entries are ticked and which are not.</p>
|
|
<h2 id="where-it-is">Where it is</h2>
|
|
<p>The Execution page at <code>/execution</code>, <strong>Mission</strong> branch of the Control Tree; <code>/mission</code> lands on the
|
|
same place. This is the page the application opens on.</p>
|
|
<p>The branch root is the list editor: it is where the list is assembled and rearranged. A command's
|
|
own settings are edited one level in, on that command's node.</p>
|
|
<h2 id="add-a-command">Add a command</h2>
|
|
<p><strong>Add Command</strong> opens a search-first picker. Type to narrow it: the search matches a command's
|
|
display name, its internal kind key and the aliases it declares, and an alias matches both by its
|
|
English key and by its word in the interface language. Arrow keys walk the results and
|
|
<kbd>Enter</kbd> takes the highlighted one.</p>
|
|
<p>Results are grouped by category. Thirteen kinds ship:</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Category</th>
|
|
<th>Commands</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><strong>Setup</strong></td>
|
|
<td>Machining Resolution, Machining Motion Resolution, Collision Detection, Pause on Failure, Physics</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Program</strong></td>
|
|
<td>Program File, NC Code, Script</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Optimization</strong></td>
|
|
<td>NC Optimization Config</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Output</strong></td>
|
|
<td>Post-Execution, Record Meshed Geometry, Export Meshed Geometry (STL)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Flow</strong></td>
|
|
<td>List</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>What you pick is appended to the <strong>end</strong> of the list you added it to, and the selection stays on the
|
|
list rather than jumping into the new command. Nothing is pinned to a position: the order is
|
|
entirely yours, and every command is placeable anywhere.</p>
|
|
<p><strong>Add Command is disabled until a project is open.</strong> With nothing open the list reads <em>No project
|
|
loaded</em>; with a project and an empty mission it reads <em>No commands yet</em> and names the button.</p>
|
|
<p>The set on offer is served by the application rather than built into the interface, so a command
|
|
kind can appear in this dialog before this manual has a page for it.</p>
|
|
<p>The picker over the demo mission, at <code>/execution?tree=execution/mission</code> with <strong>Add Command</strong>
|
|
pressed. The five category headings are the grouping in the table above, the search box at the top
|
|
is what narrows them, and the first result is highlighted ready for <kbd>Enter</kbd>.</p>
|
|
<p><img src="building-a-mission-img/add-command.en.png" alt="The Add Command dialog open over the Execution page: a Search commands box above thirteen entries under five headings — Setup with Machining Resolution, Machining Motion Resolution, Collision Detection, Pause on Failure and Physics; Program with Program File, NC Code and Script; Optimization with NC Optimization Config; Output with Post-Execution, Record Meshed Geometry and Export Meshed Geometry STL; and Flow with List"></p>
|
|
<h2 id="read-a-row">Read a row</h2>
|
|
<p>Each row shows the command's kind followed by the detail that identifies it, in brackets. Where you
|
|
can name a command that detail is the title you typed, so a row still says what it is after it has
|
|
been named: <code>List [Roughing]</code>, <code>NC Code [Face check]</code>. Where you cannot, the command brackets what
|
|
it holds instead — <code>Program File [NC/facing.ptp]</code>, <code>Machining Resolution [0.25 mm]</code>,
|
|
<code>Collision Detection [On]</code> — so a mission is readable without opening anything.</p>
|
|
<p>Beside the label sit four buttons — <strong>up</strong>, <strong>down</strong>, <strong>duplicate</strong> and <strong>delete</strong>. Up and down are
|
|
disabled at the ends of the list. Delete asks first, in a dialog naming the command. Duplicate is a
|
|
deep copy: a group copies with everything inside it, and the copy lands directly after the original.</p>
|
|
<p>Clicking a row anywhere but on a button selects that command's node and opens its editor.</p>
|
|
<h2 id="tick-what-runs">Tick what runs</h2>
|
|
<p><strong>The checkbox is on the tree item, not in the row, and it is the only thing that decides whether a
|
|
command runs.</strong> Clearing it greys the row and the tree node; the editor stays open and fully
|
|
editable. Clearing the box on a group greys the whole group, and the run skips the group together
|
|
with everything nested inside it.</p>
|
|
<p>Leaving a command in place with its box cleared is how you skip a step without losing its settings,
|
|
which is what you want while you narrow down a problem.</p>
|
|
<h2 id="group-with-a-list">Group with a list</h2>
|
|
<p><strong>List</strong> is an ordinary command in the Flow category, and adding one grows a sub-tree: its children
|
|
are its own entries, edited by the same list editor one level down. That nests to any depth, so a
|
|
mission can be grouped by operation rather than left flat.</p>
|
|
<p>A list carries an optional title, entered on its own node above the embedded editor. The row reads
|
|
<code>List</code> while the title is empty and <code>List [title]</code> once it says something; a title of nothing but
|
|
spaces counts as unset. The Mission root is the one list with no title field — it reads <strong>Mission</strong>.</p>
|
|
<p>The demo mission at <code>/execution?tree=execution/mission</code>: three groups and four loose entries. The
|
|
tree above shows <strong>List [Setup]</strong> opened, with the three settings commands inside it bracketing
|
|
their values; the editor below shows the same seven entries as rows. The greyed <strong>Script</strong> row is an
|
|
entry left in place with its checkbox cleared — part of the mission, and not run.</p>
|
|
<p><img src="building-a-mission-img/grouped-mission.en.png" alt="The Mission branch of the Control Tree with List Setup expanded over Machining Resolution 0.25 mm, Collision Detection On and Physics On, then NC Optimization Config, List Roughing, List Finishing, NC Code Face check, Post-Execution and a greyed Script Export result row with its checkbox cleared; below it the list editor shows the same seven entries, each with up, down, duplicate and delete buttons, above the line reading that commands run top-down"></p>
|
|
<h2 id="reorder-and-move-in-and-out">Reorder, and move in and out</h2>
|
|
<p>Up and down move an entry within its own list and never change which list owns it. Dragging does
|
|
more, and where you drop decides which:</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Drop it on</th>
|
|
<th>What happens</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Another row</td>
|
|
<td>Reorder within this list. A row splits at its midline into <em>before</em> and <em>after</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>The middle band of a <strong>List</strong> row</td>
|
|
<td>Move the entry <strong>into</strong> that list. The row's outer quarters still reorder around it.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>The drop-out zone below a nested list's entries</td>
|
|
<td>Move the entry <strong>out</strong>, landing directly after the list it came from.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>The drop-out zone belongs to a nested list's editor and appears only while a row inside it is being
|
|
dragged. Moving a list into itself, or into one of its own groups, is refused.</p>
|
|
<p>Dragging serves rearrangement only — dropping text or files on the list does nothing. To bring
|
|
several programs in at once, use one Program File command's picker and select them together; see
|
|
<a href="playing-a-program.html">Playing a Program</a>.</p>
|
|
<h2 id="edit-one-command">Edit one command</h2>
|
|
<p>Select a command's node. Its editor opens below a control bar carrying the same up, down, duplicate
|
|
and delete operations the row has, and a note while the command is switched off.</p>
|
|
<p>A command with one job — Program File, NC Code, Script — puts its whole editor on that one node.
|
|
A command with several cards spreads them: the general settings stay on the command node and each
|
|
remaining card becomes a <strong>child node</strong> beneath it, so a long command is read by walking down the
|
|
tree rather than by scrolling one panel. Where a card had its own <em>Enable</em> switch, that switch is
|
|
the child node's own checkbox. Which commands do that, and what each card holds, is
|
|
<a href="the-other-commands.html">The Other Commands</a>.</p>
|
|
<h2 id="see-also">See Also</h2>
|
|
<ul>
|
|
<li><a href="index.html">Running a Simulation</a> — the rest of running a job</li>
|
|
<li><a href="playing-a-program.html">Playing a Program</a> — the two commands that put NC code into a run</li>
|
|
<li><a href="the-other-commands.html">The Other Commands</a> — what the rest of the command kinds are for</li>
|
|
<li><a href="a-mission-that-resumes.html">A Mission That Resumes</a> — a layout that reads as values and restarts mid-job</li>
|
|
<li><a href="running-a-simulation.html">Starting and Stepping</a> — the transport that plays the list built here</li>
|
|
<li><a class="xref" href="../../anatomy/execution/mission/mission-root-panel.html">Mission Root Panel</a> — the component behind this branch: the list editor, the picker and the three drag landings</li>
|
|
<li><a class="xref" href="../../anatomy/execution/mission/ListCommand-panel.html">List Command Panel</a> — the component behind a group: what nesting costs, and what a disabled list skips</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>
|