Archived
deploy.
This commit is contained in:
@@ -136,8 +136,7 @@ returned to no offset at all.</li>
|
||||
<code>/general-setup?tree=equipment/controller/program-data/work-coordinates</code>. The grey line above the
|
||||
table names where this brand keeps the offsets — on Fanuc, its own parameter table — and the rows
|
||||
below it are the coordinate ids that brand holds, with only <code>G54</code> carrying a value here. The panel
|
||||
is narrow, so the row actions sit off the right edge; the same three are shown in full on the Legacy
|
||||
Controller screen below.</p>
|
||||
is narrow, so the row actions sit off the right edge.</p>
|
||||
<p><img src="program-zero-alignment-img/work-coordinates.en.png" alt="The Work Coordinates leaf of the Control Tree selected on the General Setup page, its panel showing a caption reading that the offsets are stored in the Fanuc parameter table and a table of G54 through G57 rows with X, Y and Z fields, G54 holding values and the rest zero"></p>
|
||||
<p><strong>P0 has something to write only once the scene is assembled.</strong> It works out where the program-zero
|
||||
anchor is by walking the machine chain to it, so a project with no machine tool attached, or a
|
||||
@@ -146,32 +145,25 @@ the machine position at program zero rather than writing a wrong number.</p>
|
||||
<p>The row's values can also be typed in directly when the offset is already known from the machine.
|
||||
Clicking anywhere in a row marks that coordinate on the canvas, so the offset can be seen rather
|
||||
than only read.</p>
|
||||
<h2 id="reproducing-a-real-cut-move-the-workpiece-onto-the-offset">Reproducing a real cut: move the workpiece onto the offset</h2>
|
||||
<p>Going the other way — leaving the offset alone and moving the part to meet it — is <strong>Align P0</strong>, and
|
||||
it is on the Legacy Controller screen's <strong>Coordinate Table</strong> tab (<code>/controller/coordinate-table</code>),
|
||||
not on the Controller branch. It moves the workpiece and fixture together, by changing where the
|
||||
fixture sits on the machine table, until program zero lands on the offset the row holds. The toast
|
||||
reports the translation it assigned.</p>
|
||||
<p>The tab on a demo project. Each row carries <strong>P0</strong> and <strong>M0</strong> — the same two writes the branch's
|
||||
leaf offers — and <strong>ALIGN P0</strong> beside them, which is the one control that moves the part instead of
|
||||
writing a number. <strong>Undo Align</strong> and <strong>Redo Align</strong> in the header step back and forth through the
|
||||
alignments this screen has recorded; <strong>Show on Display</strong> turns the coordinate marker in the viewer on
|
||||
and off, and the checkbox at the left of each row picks which coordinate it marks.</p>
|
||||
<p><img src="program-zero-alignment-img/align-p0.en.png" alt="The Legacy Controller screen's Coordinate Table tab: an ISO Coordinate Table with Undo Align, Redo Align and Show on Display in its header, and rows G54 through G59.5 each carrying X, Y and Z fields and an Actions column with P0, M0 and ALIGN P0"></p>
|
||||
<p>Align P0 needs a workpiece, a fixture and a machine tool on the project; without all three it writes
|
||||
nothing and says so. Driving the screen itself — the tab strip, the alignment history and what it
|
||||
does and does not survive — is <a href="../utilities/legacy-controller.html">Legacy Controller</a>.</p>
|
||||
<div class="WARNING">
|
||||
<h5>Warning</h5>
|
||||
<p><strong>Align P0 reads a different table from the one the run uses.</strong> The offsets on the Legacy
|
||||
Controller screen and the offsets on the Controller branch's Work Coordinates leaf are two
|
||||
separate stores: typing a value into one does not change the other, and nothing keeps them in
|
||||
step. A run resolves its work offsets through the branch's table, while Align P0 takes its target
|
||||
from the legacy screen's. So before aligning, check that the row you are about to press <strong>ALIGN
|
||||
P0</strong> on holds the same offset as the branch's row of the same name — otherwise the part is moved
|
||||
onto a number the program will never use. A project built with both tables filled in agrees only
|
||||
because it was written that way.</p>
|
||||
</div>
|
||||
<h2 id="reproducing-a-real-cut-place-the-workpiece-on-the-offset">Reproducing a real cut: place the workpiece on the offset</h2>
|
||||
<p>Going the other way — leaving the offset alone and moving the part to meet it — is not offered on
|
||||
the runner path. The Legacy-Controller screen that used to carry a one-press control for it
|
||||
(Align P0) was removed on 2026-09-11, and the Work Coordinates leaf's two row actions both write
|
||||
the row — <strong>P0</strong> from where program zero sits, <strong>M0</strong> to machine zero — and neither moves the part.
|
||||
So in the reproducing direction the part is placed by hand, and the row checks the placement rather
|
||||
than making it:</p>
|
||||
<ol>
|
||||
<li>Type the recorded offset into the row the program uses — the values can be entered directly, as
|
||||
above — and click the row so the canvas marks that coordinate.</li>
|
||||
<li>Move the part to meet the mark by changing where the fixture sits on the machine table: the
|
||||
fixture's <strong>Geom To Table</strong> transform, in <a href="anchor.html">Anchor</a>. The workpiece rides on the
|
||||
fixture, so its program-zero anchor moves with it.</li>
|
||||
<li>Once the program-zero anchor sits on the mark, the part sits where it really sat. Pressing <strong>P0</strong>
|
||||
afterwards rewrites the row from the scene, so use it only as a check: the numbers it writes should
|
||||
be the ones you typed, and any difference is how far the placement is off. If they differ, fix the
|
||||
placement and type the recorded offset back in — the run resolves against whatever the row holds,
|
||||
and P0 has just overwritten it.</li>
|
||||
</ol>
|
||||
<h2 id="checking-that-it-worked">Checking that it worked</h2>
|
||||
<p>A wrong alignment — a wrong offset, or a workpiece at the wrong height — shows up as <strong>overcut</strong>,
|
||||
<strong>collision</strong> or <strong>nocut</strong>, and it shows up early: usually within the first hundred or so NC lines.
|
||||
@@ -227,17 +219,16 @@ is easiest to reason about when each sits at the middle of the face it meets:</p
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Align P0 does not depend on this convention — it works out the fixture's placement from the
|
||||
assembly as it stands, whatever the transforms hold — but a scene built this way is far easier to
|
||||
check by eye.</p>
|
||||
<p>Nothing above depends on this convention — <strong>P0</strong> walks the assembly as it stands, whatever the
|
||||
transforms hold — but a scene built this way is far easier to check by eye, and far easier to place
|
||||
by hand in the reproducing direction.</p>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
<ul>
|
||||
<li><a href="anchor.html">Anchor</a> — placing the workpiece, fixture and tool relative to the machine, which comes before this</li>
|
||||
<li><a class="xref" href="../../technique/mechanism/assembly-anchors.html">Assembly Anchors</a> — the named buckle anchors this alignment resolves against</li>
|
||||
<li><a href="workpiece.html">Workpiece</a> — the branch carrying the Geom To Program Zero transform this task sets, and the Mesh resolution the check above uses</li>
|
||||
<li><a href="fixture.html">Fixture</a> — the transform Align P0 rewrites when it moves the part onto an offset</li>
|
||||
<li><a href="fixture.html">Fixture</a> — the Geom To Table transform that moves the part onto a recorded offset in the reproducing direction</li>
|
||||
<li><a href="controller.html">Controller</a> — the branch whose work-offset table a run resolves against</li>
|
||||
<li><a href="../utilities/legacy-controller.html">Legacy Controller</a> — the screen Align P0 lives on, and its alignment history</li>
|
||||
<li><a href="../../technique/nc-dialects/index.html">NC Dialects</a> — how each brand's code names the work offset this alignment is expressed against</li>
|
||||
<li><a class="xref" href="../../workflows/project-data-checklist.html">Project Data Checklist</a> — the collection step this alignment closes</li>
|
||||
<li><a class="xref" href="../../workflows/basic-simulation.html">Workflow: Basic Machining Simulation</a> — driving a simulation from an NC file or a controller log</li>
|
||||
|
||||
Reference in New Issue
Block a user