> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Assembly instructions

> Step-by-step 3D build guides for a made part, authored in the ERP from its CAD model and played to operators on the shop floor.

An assembly instruction is a 3D build guide for a made part. It divides the part's CAD model into ordered steps that identify installed components and their motion paths. Operators follow these steps in the shop floor's [guided assembly view](/docs/reference/mes.md#the-guided-assembly-view).

Create instructions under **Production → Assemblies**. Select **New Assembly Instruction**, then choose a made-in-house **Part** with a STEP file on its **Model** tab. Alforse converts the model for 3D viewing when required, opens the editor, and begins generating draft steps.

Alforse screenshot**The assembly instruction editor: the Steps list on the left, the 3D model in the middle, and the selected step's Details tab on the right with Components and the Playback box**

Steps on the left, the model in the middle, the selected step's settings on the right.

## Versions and status

<details>
  <summary>**Draft**</summary>

  The only editable status. A new instruction, and every new version, starts here.
</details>

<details open>
  <summary>**Published**</summary>

  The active version. Job operations that use this instruction follow it.
</details>

<details>
  <summary>**Archived**</summary>

  A version that was active before a newer one took over. Read-only.
</details>

Each version is an independent copy of the instruction. On a published instruction, **New Version** creates an editable draft containing the existing steps. On a draft, **Make Active** publishes it and archives the previously active version.

HEADS UP

**Making a version active updates jobs in progress.**

Every job operation that points at another version of this instruction is moved to the new one and has its steps synced, as long as the operation isn't done or canceled and its job isn't locked. Operations on finished jobs keep the steps they were built with.

## Steps

A new instruction starts without steps. **Generate Steps** runs the motion planner to determine a build order and collision-free path for each part. Planning usually takes one to three minutes. **Add step manually** creates a blank step. After steps exist, use **Add Step** to create another or drag a row handle to reorder it.

Each step carries a status you change from the icon at the end of its row:

<details>
  <summary>**Todo**</summary>

  A step you added by hand that nobody has checked yet.
</details>

<details>
  <summary>**Review**</summary>

  A step the motion planner generated. Check that it reads and plays correctly.
</details>

<details open>
  <summary>**Done**</summary>

  An author has checked the step.
</details>

The planner menu next to **Add Step** can recompute motion paths without changing step order (**Run Motion Planning**) or replace all steps with a new plan (**Regenerate Steps**). Regeneration is blocked when any step was added manually or has status **Done**.

Step-list icons identify planning concerns. A warning triangle means the planner found no collision-free path; the parts fade into their final position instead of moving. A hand means a placed part may tip and could require a fixture or a second person.

## Step details

The **Details** tab holds what the operator reads at this step:

FieldType

<details>
  <summary>**Type**</summary>

  What the operator records: a plain **Task**, a value, a measurement with a minimum and maximum, a checkbox, a list choice, a timestamp, a person, a file, or an inspection.
</details>

<details>
  <summary>**Title**</summary>

  Leave it blank to use a title built from the step's components, such as "Add Bearing (×2)".
</details>

<details>
  <summary>**Instruction**</summary>

  Free text for the operator. Type `@` to mention a part from the item's bill of materials.
</details>

<details>
  <summary>**Required**</summary>

  The operator must record this step before the operation can be completed.
</details>

These fields save with **"Save"** at the bottom of the panel (or ⌘/Ctrl+Enter). Everything else on the step saves the moment you change it: components, hidden parts, playback settings, status, materials, tools, and slides.

## Components and hidden parts

**Components** lists what the step installs. Press **"Add"**, click parts in the 3D view (shift-click adds several), then **"Done Adding"**. Remove a part with the ✕ on its row.

To expose obstructed work, select the eye on a row in the **Components** tab. This hides the part only for the selected step. The **Hidden on this step** list shows hidden parts and restores them. A step cannot hide its own components. Parts hidden by an author are also hidden from operators.

## Playback settings

The **Playback** box sets how the step plays:

FieldType

<details>
  <summary>**Motion**</summary>

  "Automatic" uses the path the planner found; "Custom path" means you drew it, and **"Reset"** puts the planner's path back. A drawn path also replaces "No clear path". **"Edit Path"** shows the path as red waypoints in the 3D view: drag one to reshape it, double-click the path to add one, and press Delete to remove the selected one. A see-through copy of the parts shows the selected waypoint's pose. Switch the viewer's **Move / Rotate** control to **Rotate** to get rotation rings on the selected waypoint: drag a ring to turn the part at that point (it snaps every 15°), so a part can be flipped on its way in. Switch back to **Move** to drag waypoints again. "No clear path" means the planner found none; hover the header note to see which parts block it.
</details>

<details>
  <summary>**Camera**</summary>

  "Automatic" frames the step's parts on its own; while the build is upright, a generated step looks from the angle the planner chose. **"Use Current View"** saves the angle you are looking from, and the row reads "Saved view"; **"Clear"** goes back to automatic. Clear shows only on a saved view.
</details>

<details>
  <summary>**Orientation**</summary>

  Turns the whole build for this step, for example to flip it and fit parts on its underside. **"Flip over"** turns it upside down; **"Tip toward you"** and **"Tip away from you"** lay it on its side; **"Spin left"** and **"Spin right"** turn it on the bench. Flip over is a half turn and the others are quarter turns, each measured from the angle you are looking at. The view stays where it is while the build turns. If the step has no saved view, a turn that leaves the build turned also saves the view you are looking from, so the Camera row reads "Saved view" and playback shows the step from that angle; turning the build back keeps that view, and **"Clear"** on the Camera row returns it to automatic. The row says how the build sits ("Upright", "Upside down", "On its side"). Later steps of the same build keep it ("Upside down, from step 11") until a step turns it again, and playback turns the build over before that step's parts go in. A sub-assembly starts upright and keeps its own orientation. **"Reset"** gives the step the orientation of the step before it.
</details>

<details>
  <summary>**Sub-assembly path**</summary>

  One row per sub-assembly the step fits. "Automatic" slides the finished unit in from beside the build. **"Edit Path"** draws the path the whole unit travels, with the same waypoints and rotation rings; **"Reset"** goes back to automatic.
</details>

## Sub-assemblies

Some parts are put together on their own first and then fitted as one piece: a hub gets its bearing, circlip and brake disc on the bench before the whole hub goes onto the trailing arm. A sub-assembly models that: a named group of steps that is built by itself and then joins the main build.

To start one, open a step's menu and choose **"Make Sub-Assembly"**; that step becomes its first step. Add more by dragging steps onto it, or with **"Move Into"** in a step's menu. **"Move Out of Sub-Assembly"** returns a step to the main list. The list numbers a sub-assembly's steps under it, such as 4.1 and 4.2 under sub-assembly 4.

Double-click a sub-assembly (or choose **"Open Sub-Assembly"**) to work on it alone: the list and the 3D view show only its steps and parts, and **"Add Step"** adds to it. **"All steps"** goes back to the whole instruction.

Selecting a sub-assembly shows its name, its steps, and **"Where it goes"**:

FieldType

<details>
  <summary>**Used in**</summary>

  The later step that fits the finished sub-assembly. Leave it on **"Main build (after its last step)"** when no step uses it, and it joins the build right after its own steps.
</details>

<details>
  <summary>**Instruction**</summary>

  Shown only when no step uses it: what the operator reads as the finished sub-assembly joins the main build.
</details>

<details>
  <summary>**Sub-assembly path**</summary>

  Shown only when no step uses it: the path the finished unit travels as it joins the main build, drawn with **"Edit Path"**.
</details>

<details>
  <summary>**Camera**</summary>

  Shown only when no step uses it: the view for that moment, saved with **"Use Current View"**.
</details>

You can also set this from the other side: on a step, **"Use Sub-Assembly"** picks a finished sub-assembly to fit in that step. The step's row then shows **"Uses 4"**.

During playback a sub-assembly's steps play in order on their own, and the finished unit arrives at the step that uses it: along its own path when it has one, otherwise gliding in from beside the build. A unit with its own path arrives before the step's other parts move; when a step fits several, they arrive one after another. Pressing play with a sub-assembly selected builds it from its first step.

**"Ungroup"** removes the sub-assembly and keeps its steps in the main list. **"Delete Sub-Assembly"** removes it together with its steps.

NOTE

**One level only.**

A sub-assembly can't sit inside another one. To build one into another, use it in one of the other's steps. A sub-assembly can only be used in a step that comes after it, and never in one of its own steps.

## Materials, tools, and slides

The **BOM** tab links the step to what it consumes: parts from the item's bill of materials and the tools it needs. **"Match BOM"** in the **Components** tab matches 3D components to bill-of-materials items and fills in each step's materials for you. The **Slides** tab adds photos, PDFs, or extra 3D models the operator sees on this step.

## On jobs and the shop floor

An **Assembly** [operation](/docs/reference/jobs.md#operation-type) picks its instruction on the item's bill of process. A job copies the instruction's steps when it is created. To bring a later edit into an existing job, use **"Sync Assembly Steps"** on the job operation: steps that came from the instruction are updated or removed to match, and steps someone wrote by hand on the job are kept.

On the shop floor the operation opens the [guided assembly view](/docs/reference/mes.md#the-guided-assembly-view), which plays the same steps, hidden parts, and sub-assemblies. A sub-assembly itself is not a step the operator records; its steps are. The instruction's steps come after any steps the operation already has.

## Related

**MES**

How operators play an instruction step by step, and the Build, Focus, and Full views.

[Open](/docs/reference/mes.md#the-guided-assembly-view)

**Jobs**

The work orders whose Assembly operations use an instruction.

[Open](/docs/reference/jobs.md)

**Methods**

The bill of materials that step materials are picked from.

[Open](/docs/reference/methods.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.