Creating the Physical Multi-board Assembly
Parent page: Designing Systems with Multiple Boards
A printed circuit board does not exist in isolation, they are often assembled together with other boards, which then together are housed inside a case or enclosure.
Helping to move through this stage of the design process, the software supports creating a multiple-board assembly, referred to as a Multi-board assembly.
A Multi-board assembly is created by first defining a multi-board project (*.PrjMbd
), then defining the logical structure of the system in a Multi-board schematic (*.MbsDoc
). Each logical block in the Multi-board schematic refers to a PCB design (*.PrjPcb
).
The physical Multi-board design is then created by transferring the system design into an empty Multi-board assembly document (*.MbaDoc
). This article discusses that process.
To learn more about the logical design stage of a Multi-board assembly, refer to the page Capturing the Logical System Design.
Creating a Multi-board Assembly
The Multi-board assembly is the physical representation of your system. To create a new Multi-board assembly, you:
- Add a new Multi-board assembly document (
*.MBAdoc
) to the Multi-board project, and save it. - Transfer the logical representation of the system from the Multi-board schematic to the Multi-board assembly document.
- If the enclosure is available, load it into the assembly.
- Position each board within the assembly, and enclosure if needed.
Let's go through each of these steps in detail.
Adding a Multi-board Assembly Document to the Project
To add a new Multi-board assembly document to the active project, you can use the following commands:
- File » New » Multi-board Assembly, or
- Right-click on the Multi-board project in the Projects panel, and select Add New to Project » Multi-board Assembly
Once the assembly document has been added to the project, right-click on it to save (and name) it.
Transferring the System Design to the Multi-board Assembly Document
The Multi-board design is transferred from the Multi-board schematic to the Multi-board assembly document using either of the following commands:
- Design » Update Assembly from the Multi-board Schematic editor.
- Design » Import Changes from the Multi-board Assembly editor.
When you run one of these commands, the software interrogates each Module on the Multi-board schematic, identifies the PCB that has been selected for each of the child PCB projects, and presents the list of modifications required to add each of those boards to the assembly, in the Engineering Change Order dialog.
When the Execute Changes button is clicked, the boards are loaded into the Multi-board Assembly editor. Each board is placed in the workspace in the same orientation that it has in the PCB project.
Changing Your View of the Workspace
When you first transfer the boards into the Assembly editor, they are neatly placed on the same plane - you can imagine them as all being laid out next to each other on a virtual table. Within a few minutes you will have moved this one, rotated that one, and pulled another one closer to you! And then you will have rotated the view, now you're not even sure which way is up!
Working in a 3D design space requires skill in managing your view into that space, and skill in manipulating the objects within that space. These are separate skills, controlling your view of the space, and positioning the boards within that space - let's start with the techniques you use to control your view.
Once you've mastered reorienting the view you'll be ready to learn how to get the boards back onto the same plane, with the same orientation.
Orienting Your View in the Workspace
Down the bottom left of the Assembly editor workspace is a red/green/blue axis marker, this is referred to as the Workspace Gizmo. When you select a board another gizmo appears, that one is called the Object Gizmo - more on that one soon.
Workspace Gizmo
The Workspace Gizmo is used to change the orientation of your view into the workspace.
Each workspace axis, and its corresponding plane, is assigned a color:
- Blue arrow - Z axis, viewing into the X-Y plane. You can think of this as the top or bottom view.
- Red arrow - X axis, viewing into the Y-Z plane. You can think of this as the front or rear view.
- Green arrow - Y axis, viewing into the X-Z plane. You can think of this as the left or right view.
As you hover the mouse over a colored Gizmo element it will become lighter, indicating that it is active. When you click on that color, the view will reorient so that you are looking down that axis into the assembly. A second click will flip the view over, looking down the same axis from the other direction. The Shortcuts table below gives more details about the various behaviors.
View Control Shortcuts that Align to the Workspace Axes
These shortcuts align the view to the Workspace Axes:
Shortcut | Behavior |
---|---|
Z key, or click Blue on the Workspace Gizmo | Re-orient the view to be looking down the Z axis, directly into the X-Y plane. Click Blue a second time to view from the opposite direction, or use the Shift+Z shortcut. |
X key, or click Red on the Workspace Gizmo | Re-orient the view to be looking down the X axis, directly into the Y-Z plane. Click Red a second time to view from the opposite direction, or use the Shift+X shortcut. |
Y key, or click Green on the Workspace Gizmo | Re-orient the view to be looking down the Y axis, directly into the X-Z plane. Click Green a second time to view from the opposite direction, or use the Shift+Y shortcut. |
View Control Shortcuts that Align to the Current View
Many of the view movements you can perform are not referenced from the workspace axes, instead they are referenced to your current view. Your current view is referred to as the Current View Plane, it is the plane you are currently seeing looking into your monitor. For example, when you zoom in the workspace contents are bought closer to you, regardless of the current angle of the workspace axes.
These shortcuts are relative to your Current View Plane:
Shortcut | Behavior |
---|---|
Ctrl+WheelRoll | Zoom in/out |
Right-click_n_drag | Displays the panning hand cursor as you slide the view of the workspace around, in the current view plane. |
Shift+Right-click_n_drag | Rotate the view of the workspace around the current X & Y view plane axes. The click and drag location defines the center of rotation. Drag Up/Down to rotate the view around the current view plane X axis, drag Left/Right to rotate the view around the current view plane Y axis. |
Shift+Ctrl+Right-click_n_drag | Rotate the view of the workspace around the current view plane Z axis. The click and drag location defines the center of rotation. Drag left to rotate the view anti-clockwise around the current view plane Z axis, drag right to rotate clockwise. |
Ctrl+PgDn | Zoom the view to fit all objects, including the origin marker. |
Positioning the Boards in the Assembly
Now that you're comfortable with rotating and turning your view, the other skill you'll need to build the assembly is orienting and positioning the boards.
When you click on a board, it will highlight in the selection color (the default is green), and colored orientation lines and arcs will appear. These colored lines and arcs are collectively referred to as the Object Gizmo, which you can click on and drag to move or reorient that board.
Each board in the assembly is loaded into the workspace with the same orientation as it was designed in the PCB editor. The object will retain the same X, Y & Z axes it had when it was created in the PCB editor, regardless of that board's current orientation in the Assembly editor.
Reorienting and Repositioning a Board
When the Object Gizmo is displayed, click and hold on an:
- Object Gizmo Arrow - to move the object along that object axis.
- Object Gizmo Arc - to rotate the object around that object axis. During rotation there is a slight stickiness whenever the object axis aligns with a workspace axis.
- Selected object - move the object across your Current View Plane. Because the Current View Plane is defined by how you currently have the view oriented, it can be difficult to predict where the object will be in the 3 dimensional space if you move it using this technique.
Constraining Movement to a Plane or an Axis
- To constrain object movement to a workspace plane (shown in the previous video):
- Use the Workspace Gizmo to reorient the workspace, as described in the Workspace Gizmo section. This orients your Current View Plane to be the same as the chosen workspace plane.
- Select the object, then click anywhere in the workspace and drag the selected object(s). Remember that whenever you move a selected board, that movement is constrained to the plane defined by your current view.
- To constrain object movement to an object axis (shown in the previous video):
- Select the object to be moved, its Object Gizmo will be displayed. If there are multiple objects to be moved, use Shift+Click to select additional objects.
- Click and drag on the appropriate Object Gizmo arrow to slide the selection along that axis.
Aligning an Object to a Workspace Axis
- To align an object with a workspace axis (shown in the previous video):
- Select the object so that the Object Gizmo is displayed.
- Use the appropriate colored arc to rotate the object in the required direction. There is a slight stickiness in the motion whenever you cross a workspace plane, use this behavior to guide you as you align the object.
Aligning One Object with Another Object
The Tools menu includes the following commands for aligning one board with another. These commands require two clicks (the selection state is ignored). The first click nominates the reference plane (or axis), the second object (axis) you click on is then aligned with the reference object's plane (or axis).
- Align Plane-to-Plane - orient the second object to be in the same plane as the first object. Available plane locations include: any surface of a board layer (including the edges); or any planar surface on a STEP model.
- Align Axis-to-Axis - orient the second axis in line with the first axis. Available axis locations include: the center of a pad or via; an edge or axis defined in a STEP model.
Defining a Section View of the Assembly
A section view is a view that can be used to reveal detail within an assembly, that might normally not be visible. This is achieved by defining a plane where a section of the assembly is sliced or cut away. The Multi-board Assembly editor supports defining a section plane along each of the 3 axes, allowing the section definition to be in 1, 2 or 3 directions.
The section location is defined by 3 colored panels, enable their display and configure their direction in the View Configuration panel, or via the commands in the View menu. The location of each panel can be changed by clicking and dragging on the colored arrow. Alternatively, click and hold anywhere on the panel and move it, the software will attempt to select and move the panel under the cursor.
Adding Additional Objects into the Assembly, such as the Case
As well as the PCB's referenced in the Multi-board schematic, you can also load additional objects into a Multi-board assembly. Additional objects (referred to as parts), are included via the commands in the File menu, or by using the buttons located at the top of the Multi-board Assembly panel.
Click the appropriate button (or use the command in the File menu) to:
- Insert another Multi-board assembly into this assembly.
- Insert another PCB into this assembly.
- Insert a STEP format mechanical model into this assembly.
Note that a part is inserted into the Multi-board assembly as a single entity. For example, if you insert the STEP model for a case, which consists of a top half and a bottom half, you will not be able to manipulate these halves independently. In this situation you need to insert each half into the assembly, separately.
Updating or Editing an Assembly Part
- If an part added into an assembly has been updated, the update can be loaded into the Multi-board assembly. Select the required part(s) and run the Edit » Update Selected Parts command (or use the right-click menu).
- Also, an assembly or PCB edit session can be launched from within the Multi-board Assembly editor. Select the required page and run the Edit » Edit Selected Part command (or use the right-click menu).