Creating the Physical Multi-board Assembly in Altium Designer
Parent page: Designing Systems with Multiple Boards
A printed circuit board does not exist in isolation, they are often assembled and connected together with other boards, which are then 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
). The logical structure of the system is defined in a multi-board schematic (*.MbsDoc
), with each logical block in the multi-board schematic referring 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 process will load the PCB referenced by each logical block in the multi-board schematic, into the multi-board assembly editor. 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 printed circuit boards in your system.
To create a new multi-board assembly document:
- 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.
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 - <MbaDoc> from the multi-board Schematic editor main menus.
- Design » Import Changes From <ProjectName> from the multi-board Assembly editor main menus.
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. This process will take some time, as the full dataset for each PCB must be analyzed and loaded.
Opening a Multi-board Assembly Created in a Previous Version of Altium Designer
Multi-board assemblies created in a previous version of Altium Designer must be imported due to file format changes required to support the 3D engine and the improved feature set.
When an old-format MbaDoc
is opened, the Legacy document import dialog will open.
Select the Design » Import command in the multi-board Assembly editor to generate ECOs that will reload the child modules. This process may take some time, as the multi-board Assembly editor loads the entire PCB file data.
Working with Mates
In mechanical CAD software, the concept of relating two objects in space is a fundamental part of the design process, which is a process known as mating those two objects. When two objects have been mated they can be manipulated as a single object. These mated objects can then be mated to another object, and through this process, a set of discrete objects are formed into an assembly - the very essence of mechanical design. Basically, objects are no longer related by aligning and positioning them, now they are mated.
A mate is a connection formed between two separate objects. The connection is at a user-selected point on a surface on each object. Once mated the objects will re-orient so their surface planes and their perpendicular axes are aligned.
Definitions:
- Target - the first site nominated as a Mate site.
- Source - the second site nominated; this object will move to mate with the Target.
- Mating axis - the perpendicular axis passing through the center of the Mate.
Defining Mates
To define a mate, perform the following steps:
- Click the button on the Active Bar to switch to Mating mode (or Tools » Mating from the main menus or use the Shift+Ctrl+A shortcut). The mating process requires one click to define each mate site but further clicks can be used when needed as described in the Notes paragraph below.
- While in mating mode, hover the cursor over an object to be mated. As the cursor is positioned over a surface on the object, that surface will change color (to gray), and display potential mate sites (glyphs).
- On a planar surface select from nine glyphs that are located at the center, corners and mid-points of the bounding rectangle.
- On a cylindrical surface select from two glyphs that are located along the axis at each end of the cylinder.
- Each glyph is a potential mate site. The glyph that is currently closest to the cursor is highlighted by a larger green dot. Click the cursor anywhere over the surface to accept the highlighted glyph as the first mate site. This is the Target for the Mate. Once selected, the Target is marked by a purple dot.
- As the cursor is moved off the surface, it will turn green indicating that the Target lies on that surface.
- Repeat this process on the second object to define the second mate site (the Source). The Source is highlighted using a brown dot.
- As soon as the Source is defined, the Source object will move so that the Source site and the Target site are mated (located together), with their surface planes and perpendicular axes aligned. The Mate location is indicated by a circular arc that remains visible through other objects (when the Mate is selected), and the perpendicular axis of the mate location is displayed using a dashed purple line.
- When objects are mated, they are locked together and move as a single object.
- To modify an existing Mate, select it in the Multiboard Assembly panel, then edit its values in the Properties panel.
Notes:
- The Status bar indicates when you are in mating mode.
- If it is difficult to select a glyph, for example, selecting the center of a hole in an object (demonstrated in the video below), or the wrong glyph was selected, you can change the Target glyph before moving on to define the Source glyph.
- As the cursor continues to be moved over the plane containing the Target, each glyph highlights in green when it becomes closest to the cursor. The current Target remains highlighted in purple. If a different glyph is required, position the cursor to highlight it in green, then left-mouse click to nominate it.
- If it is not possible to define a Mate on a mounting screw, hide the screw (right-click on the object in the Multiboard Assembly panel) and use the screw hole instead.
- The second mate site must be located on a different object from the first mate site. If a second surface is selected on the same object as the first mate site, the action is interpreted as choosing a new first mate site.
- Mated objects can be mated to a third object.
-
The workspace view can be changed while you are defining a Mate:
- Ctrl+Right click and drag to zoom in/out.
- Shift+Right click and drag to pivot the workspace view around the click location.
- Press Esc to abort the mating process and drop out of Mating mode.
Modifying a Mate
To modify a Mate, select it in the Multiboard Assembly panel then use the panel to adjust its settings. Note that the Status bar indicates when the mate is in editing mode.
- A new Mate defaults to Auto.
- There are three modes the Mate can be configured as:
- Auto - the Mate is locked in all directions. Dragging either object will move both. Using the edit fields in the panel, the Source can be Offset in the X & Y directions across the Target mating plane, and the Distance can also be adjusted along the mating axis.
- Plane-to-Plane - the Mate is locked along the mating axis but can be interactively dragged across the X/Y plane. Use the edit field to adjust the Distance, moving the Source along the mating axis.
- Axis-to-Axis - the Mate is locked in the X/Y plane but can be interactively dragged along the mating axis. Using the edit fields in the panel, the Source can be Offset in the X & Y directions of the mating plane; the Target remains stationary.
- The hotkeys (detailed in the Help section of the panel) provide an efficient way of adjusting a locked mate. A hotkey can be held; it is not necessary to press the key repeatedly.
- Once the objects have been correctly positioned, set the mode to Auto to ensure their location relationship is not inadvertently changed by dragging an object in the workspace.
- To remove a Mate, right-click on it in the Multiboard Assembly panel then select Remove Mate from the context menu, or select it in the panel and press the Delete key on the keyboard.
Multi-board Assembly Editor User Interface
In line with the schematic and PCB editors, the multi-board Assembly editor includes an Active Bar located at the top of the workspace.
All editing controls are located on the Active Bar, including Measurement mode, Mating and Section View features.
Click to enter Mating mode. The cursor will highlight potential mate sites on each surface, as the cursor is moved over the surface. Two mating sites on different objects must be nominated, these will be bought together after the second one is chosen. Press Esc to exit Mating mode. Refer to the Working with Mates section to learn more. | |
Click to enter Measurement mode. Click one object and then click a second object, the distance between their closest edges/surfaces will be displayed. Press Esc to exit Measurement mode. | |
Click to enter Section View mode. The board will be sectioned along the section plane. Click the button a second time to exit Section View. |
Collision Testing
Collisions are flagged whenever two objects have surfaces that touch or intersect. Mated surfaces are not considered to be colliding.
- To check for collisions, select Tools » Check Collisions (shortcut Ctrl+K),. All collisions will be detailed in the Messages panel.
- If required, collision violation markers can be cleared by selecting the Tools » Clear Violations command.
Support for Rigid-Flex
The multi-board assembly editor supports rigid-flex PCBs. The multi-board assembly editor displays the PCB in the final folded state as defined in the PCB editor.
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 of the space.
Once you have mastered reorienting the view, you will be ready to learn how to position and orient the boards.
Changing the Projection Type
You can change the view of the assembly editor to Perspective or Orthographic by toggling the View » Toggle Projection Type command (or use the P shortcut) from the main menus.
- Perspective is a view of a three-dimensional image that portrays height, width, and depth for a more realistic image or graphic.
- Orthographic is a view of three-dimensional objects that are created by projecting a view of an object onto a plane which is usually positioned so that it is parallel to one of the planes of the object.
Orienting Your View in the Workspace
On 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 details below).
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 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 are comfortable with rotating and turning your view using the Workspace Gizmo and the keyboard and mouse shortcuts, the next step is to learn how to orient and position the boards (and other objects) within the workspace.
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 use to move and reorient that board within the workspace.
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 a(n):
- 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 three-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.
Defining a Section View of the Assembly
A section view is one that can be used to reveal detail within an assembly that might normally not be visible. This is achieved by defining planes 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 three axes, allowing the section definition to be in 1, 2, or 3 directions.
The Section View can be Off, On, or in Edit mode. In Edit mode, the Section Planes are displayed; each plane is indicated by a colored semi-transparent surface radiating away from the Section View origin. The Section View origin is defined by the three colored arrows, referred to as the Section View Gizmo. You can enable their display and configure their direction in the View Configuration panel in the Section View region.
To work with the Section View:
- Toggle the display of the Section View between Edit/On/Off by choosing View » Toggle Section View, by using the shortcut keys Shift+Ctrl+V, or by clicking the button.
- In Edit mode, the location of each Section Plane can be changed by clicking and dragging on the appropriate colored arrow of the Section View Gizmo.
- The section view is controlled by a Section View Gizmo, which controls the location of the X, Y, and Z Section Planes. The location of the Gizmo defines the origin of the Section View.
- The default is to hide everything that is in the current Section View's negative space, i.e. display only objects that appear in the Section View's positive space. This behavior is flipped if the Invert Cutout option is enabled in the View Configuration panel. Then the objects within the negative space are displayed and the objects within the positive space are hidden.
- The direction that the sectioning is applied can be switched for each plane using the relevant Plane X/Y/Z control.
Exporting to MCAD
The assembly can be exported in STEP 3D or Parasolid format. To export the entire assembly in STEP 3D, select File » Export » STEP 3D from the main menus. To export the entire assembly in Parasolid format, select File » Export » Parasolid from the main menus.
Adding Additional Objects to the Multi-board Assembly
You also can load additional objects into a multi-board assembly (as well as the PCBs referenced in the multi-board schematic). Additional objects (referred to as parts) can be loaded using the Design 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 Design 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
Locking/Unlocking a Part
To lock/unlock a part, select or hover over the desired part, right-click then choose the Lock Selected Part/Unlock Selected Part command to lock/unlock the part (or mated parts) at its current location in the assembly editor workspace.
- Parts that are locked are marked with a padlock icon in the Multiboard Assembly panel.
- A locked individual part does not display a Gizmo (mated parts never show a Gizmo).
- A locked part cannot be mated if it is selected as the Source (the object that moves).
Notes on Updating Parts
- If a 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 Part 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).