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 (
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.
A main board with two memory cards and a PCIe WiFi card plugged in.
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.
A Multi-board Assembly has been added to the system-level project.
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's 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.
The board from each PCB project is listed as an ECO modification and is loaded into the multi-board Assembly editor when the ECOs are executed.
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.
The four boards in this multi-board assembly loaded into the Assembly editor workspace, ready to be positioned.
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.
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. Refer to the Measuring the Distance section to learn more.
||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.
Multi-board Assembly Panel
The Multiboard Assembly panel is used to navigate and manage a multi-board assembly. The panel presents an expandable tree view of the complete assembly structure, not unlike the Projects panel, and includes all PCBs in the assembly, the components, layers and nets within each PCB, and any included STEP models.
The Multi-board Assembly panel showing an assembly of 4 PCBs, and the top and bottom sections of the case.
When a Multi-board assembly document is active, the panel can be accessed in the following ways:
- Click View » Panels » Multiboard Assembly.
- Click the button at the bottom-right of the work area then select the Multiboard Assembly menu option.
Content and Use
The panel offers a structured tree view of the entire assembly, including:
- The included boards (PCBs), and the components, layers and nets within each PCB
- STEP models that have been included
- Other Multi-board assemblies that have been included
It also allows addition boards, STEP models and other MBAs to be added into the assembly, and the visibility of selected part(s) to be toggled off or on.
The Multiboard Assembly panel provides highlighting capabilities, where the part selected in the tree is highlighted in the workspace. The highlighting is bi-directional, therefore, the selection state of panel entries will change in response to objects that have been selected in the workspace.
Two boards selected in the workspace are also highlighted in the panel.
Controlling the Visibility and Transparency of Assembly Parts
As well as highlighting a specific part or parts, the panel can also be used to control the visibility and transparency of the parts currently selected in the panel. Right-click the selected part(s) then select Visible or Transparent from the context menu. When hiding the selected part(s), they will disappear from view, although, while they remain selected, they will continue to be visible. Click on another part or anywhere in the workspace to deselect them and switch off their visibility.
For example, a complete PCB can be hidden; or the silkscreen layers on that PCB; or all selected Top Side components. The animation below shows the Search feature at the top of the panel being used to locate the fan, which is then hidden.
Adding Parts into the Assembly
Three different types of additional parts can be added into a Multi-board assembly in the Multi-board Assembly (MBA) editor.
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.
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.
Measuring the Distance
The Tools » Measure Distance command from the main menus (shortcut: Ctrl+M) is used to measure distances between 3D bodies in the active Multi-board Assembly document (*.MbaDoc). After launching the command, you will enter measurement mode. Measurement is performed as follows:
- Choose the first 3D object, or specific face of that object. As you move the cursor over a potential 3D object, the color of that object will change color. If you want to select a specific face of the object, hold the Ctrl key as you move the cursor - the face currently under the cursor will be highlighted. With the cursor in place, click to confirm object/face selection.
- Choose the second 3D object, or specific face of that object.
- The tool visually presents the shortest distance between the two chosen objects (faces).
- Continue measuring the distance between other objects/faces, or press Esc to exit measurement mode.
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). After launching the command, the software checks for collisions between the various entities involved in the multi-board assembly. First, each board is checked for collision with the upper and lower enclosure/case parts (STEP parts), followed by checking between the boards themselves (PCBs).
Any collisions will be reported through the Messages panel, and the offending objects highlighted using the Violation system color. Use the Details region of the Messages panel to investigate which component on a board involved in a conflict is causing the collision.
If required, collision violations highlighted in the design space after having run collision checking 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).
Use the Gizmos (colored arrows/planes/arcs) to control your view of the workspace, and the orientation of objects within the workspace.
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 - Z axis, viewing into the X-Y plane. You can think of this as the top or bottom view.
- Red - X axis, viewing into the Y-Z plane. You can think of this as the front or rear view.
- Green - Y axis, viewing into the X-Z plane. You can think of this as the left or right view.
The Workspace Gizmo is always displayed down the bottom left.
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:
|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.
Use the Workspace Gizmo to change the orientation of your view.
View Control Shortcuts that Align with 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:
||Displays the panning hand cursor as you slide the view of the workspace around, in the current view plane.
||Rotate the view of the workspace around the current horizontal and vertical view plane axes. The click and drag location defines the center of rotation.
||Zoom the view to fit all objects, including the origin marker.
Your current view can be changed using mouse and keyboard shortcuts.
View Configuration Panel
The View Configuration panel is used to configure the color and workspace visibility options in the Multi-board Assembly editor. It is also used to control the display of the section view, and the section panels.
The Multi-board Assembly editor's View Configuration panel.
When a Multi-board assembly document is active, the panel can be accessed in the following ways:
- Click View » Panels » View Configuration.
- Click the button at the bottom-right of the workspace and select the View Configuration option.
- Use the L shortcut key.
Content and Use
The panel content is divided into three sections:
- Display Options - options to enable and configure the projection of the Multi-board assembly.
- Section View - options to enable and configure the section view feature, and control the display of the section panels.
- System Colors - options to configure the visibility and color of layers.
Projection – determine the projection of the view. Choose from:
- Orthographic - choose this option to see the exact position of objects and text on the Multi-board Assembly without being obscured by surrounding objects.
- Perspective - choose this option for a more realistic view of the Multi-board 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 cut. 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.
- Section View has three display modes:
- Edit - enable to have sectioning applied and to make planes visible and editable.
- On - enable to have sectioning applied and planes hidden.
- Off - enable to hide panels and to give a clearer view of the Multi-board Assembly.
- Invert Cutout - enable to define the section location of the cut in each plane. Each plane includes a small arrow control, click, hold, and drag on the area to change the location of that section plane. Alternatively, click and hold anywhere on the panel and move it.
- Section Plane Controls - these controls are used to enable sectioning in each plane, and to toggle on which side of that plane the assembly's content is to be removed.
||Change Plane Direction
View » Toggle Section Plane X
1 shortcut key
View » Flip Section Plane X
View » Toggle Section Plane Y
2 shortcut key
View » Flip Section Plane Y
View » Toggle Section Plane Z
3 shortcut key
View » Flip Section Plane Z
Setting the Color
Each layer includes a small color button, click this to display the color selector, as shown below.
The panel includes:
- A history row, showing (up to) the last 10 color choices that were made.
- A grid of 10 x 8 predefined color buttons, click a button to select that color.
- A Custom Color row of up to 10 custom colors.
Custom colors can be defined, to do this:
- Click Define Custom Colors to expand the color palette to also display the Custom Color Palette.
- Use the horizontal slider in the center of the Custom Color Palette to select a base color, then click anywhere on the palette to brighten or darken that color.
- Alternatively, enter the Hex or RGB values into the appropriate fields in the Custom Color Palette.
- Click the Apply button to add the new color to the Custom Color row, and apply that color to the layer being edited.
Displaying or Hiding a Workspace Feature
Certain workspace features (such as Selection), can be displayed or hidden. Click the eye icon ( ) to toggle the visibility off and on.
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.
A simple example of a Section View. Hover the cursor over the image to switch from Edit mode to On mode.
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 (*.step or *.stp), select File » Export » STEP 3D from the main menus. To export the entire assembly in Parasolid format (*.x_t), select File » Export » Parasolid from the main menus.
An example of the STEP file of the multi-board assembly opened in the Rhinoceros MCAD editor.
Exporting to PDF 3D
A Multi-Board Assembly document can also be exported to a PDF file (*.pdf). To do this, choose the File » Export to PDF File command 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 design space. Alternatively, right-click on a part entry in the Multiboard Assembly panel then choose Locked.
- A locked part cannot be edited/moved.
- 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).
Updating a Part
If a part or 3D body added into an assembly has been updated, the update can be loaded into the multi-board assembly using one of the following actions:
- Choose the Edit » Update All Parts command from the main menus or right-click anywhere in the design space and choose the Update All Parts command from the context menu (shortcut: Shift+Ctrl+U) to update all parts in the active multi-board assembly with the latest layout information from their corresponding child PCB documents.
- Select the required part(s) and choose the Edit » Update Selected Part command from the main menus or right-click anywhere in the design space and choose the Update Selected Part command from the context menu (shortcut: Ctrl+U) to update the selected parts in the active multi-board assembly with the latest layout information from their corresponding child PCB documents.
- Select the required 3D body and choose the Edit » Update Selected 3D Body command from the main menus or right-click anywhere in the design space and choose the Update Selected 3D Body command from the context menu to update the selected 3D bodies in the active multi-board assembly with the latest layout information from their corresponding child PCB documents.
Editing a Part
An assembly or PCB edit session can be launched from within the multi-board assembly editor. Select the required part and run the Edit » Edit Selected Part command or right-click anywhere in the design space and choose the Edit Selected Part command from the context menu (shortcut: Ctrl+E). After launching the command, you will enter part editing mode, with the selected PCB zoomed and centered (where possible) to fit within the main design window. The board will remain displayed in its full coloring, with all other boards grayed-out (read-only).
Make changes to the placement of components as required, using manual placement and/or alignment features. Once you are finished editing, use the Finish Part Editing command (Ctrl+E). The view of the design space will return to fit all boards in the assembly, with the board that was being edited remaining selected.
If you want to cancel editing without implementing any of the changes, use the Cancel Part Editing command.