Parent page: Laying out Your PCB
The 3D Advantage
There's a saying in the design world that the cost of fixing a mistake goes up 10 fold each step of the way. So it costs 10 times as much to fix a mistake during prototyping compared to fixing it during design, then 10 times more again to fix that same mistake during production, and 10 times more again to fix it once the product has been shipped. These are rough approximations, but a cost increase in the order of 1000 times to fix a mistake when the product is in the customer's hand, compared to fixing it during design – that's a strong motivator to get it right during design!
One of the hardest areas to get right is fitting the loaded board into the product enclosure. Today's products are not large, rectangular boxes with lots of empty space – they have unusual shapes, are often compact with tightly packed innards, and might include multiple PCBs that connect together. And the board has to fit precisely into the housing, so that the mounting holes, display and other controls align exactly with their openings and fixing points.
Why is it so hard? – because the board design must move back and forth across the ECAD - MCAD divide.
Traditionally, the ECAD guy designed the board in a 2D design environment, sizing the board and positioning the case-critical elements using dimensions provided by the MCAD designer. On the other side of the fence, the MCAD guy would model the board and place the critical components based on dimensions provided by the ECAD designer – and fingers crossed – they would both get it right and the board would fit!
To help avoid mistakes and that dreaded cost multiplier, a common approach has been to mock-up the loaded board for fit in its enclosure. The board is mocked-up by printing the component overlay and pads, and sticking that printout onto thin cardboard. Then the critical components are glued on, including anything that had to project through or come close to the case, like the connectors and the display. The case is modeled using cardboard or foam, and the board fitted into it. Often this is simply not practical for many product designs, for example, things get hard when the case is an unusual shape.
Ambient Stack Machine prototype made during a practical course on Physical Computing at Ludwig-Maximilians-Universität München (image credit: FredericPK from SketchingWithHardware )
Like all areas of design, getting a board into its enclosure is about give and take – adjust that mounting hole location, tweak this component position, then modify the display opening when the supplier flags the chosen display as end of life.
The best solution is to knock down that fence and create a connection between the ECAD and MCAD design domains. A connection that allows the loaded board to be easily transferred back and forth between the ECAD and MCAD design spaces.
For this to happen, you need 3-dimensional ECAD and MCAD design environments. You also need the board and its components to have a 3D definition that can be understood in both design domains, supporting those critical changes to the board shape, component locations, and case openings.
To deliver this you need a 3D PCB editor, that can:
Create 3D component models
Import standard-format 3D component models
Import the product case/enclosure
Perform 3D collision checks within the PCB editor
Export the loaded board in a standard file format
ECAD-MCAD CoDesign
This page describes the features included in Altium Designer that give you 3D PCB design capabilities. For supported MCAD packages , it is also possible to transfer the board and components directly between MCAD and ECAD using CoDesigner, Altium's ECAD-to-MCAD connectivity technology. Working through a connected Workspace , such as an Altium 365 Workspace, CoDesigner can push the board shape and placed components back and forth between your MCAD software and Altium Designer.
► Learn more about Direct ECAD-MCAD Design with Altium CoDesigner
The 3D PCB Editor
Sometimes the response when a board designer first sees their board in 3D in the PCB editor is, "hey I don't need that, that's just eye candy!"
Yes, it does look good, but it's definitely not just eye-candy. Sure the board designer is highly skilled at mapping 3-dimensional design tasks into a multi-layered 2D design space, and many of the design tasks, such as routing, are well handled in that 2D space. But the 3D mode of the PCB editor offers the designer much more than a pretty picture.
Being able to display the board in a highly realistic 3D view allows the designer to see the loaded board, ready to be fitted into the enclosure. Now you can immediately see that a designator will be obscured by that component, or that you've forgotten to tent the vias.
Apart from looking great, there are many reasons to work in a true, 3D PCB editor. The motion in this animation was created with the PCB editor's 3D movie feature.
Add support for importing component models and now you can bring in those unusually shaped, dimensionally critical components, such as the connectors. Then add support for 3D collision detection, and now you can be confident that that component will fit under the connector, and the loaded board will fit into its enclosure.
Add the last piece in the puzzle, support for exporting the loaded board to MCAD, and the mechanical designer can test it for fit inside the final enclosure, complete with fasteners, stand-offs and the myriad of other mechanical items that go to make up the finished product.
Import and export of 3D mechanical data into and out of the PCB editor can be done using the Parasolid or STEP formats.
STEP, the St andard for the E xchange of P roduct Model Data, is the informal name for ISO 10303, an international standard for the exchange of 3-dimensional mechanical data. The nature of precisely describing objects in a 3D space is complex, and consequently, the STEP format is also highly detailed and complex. The standard supports multiple modeling geometries, such as: geometrically bounded surface geometry model, topologically bounded surface geometry model, and faceted-boundary geometry model, amongst others. Support for these modeling geometries has been delivered via a series of Application Protocols, the first that received broad acceptance was AP203 . This was followed by AP214 , which is the preferred format for importing and exporting data to the PCB editor (AP203 does not support color).
To provide access to a broader range of component models, as well as the STEP format (*.Step
and *.Stp
), components can also be imported in the Parasolid (*.x_t
and *.x_b
) and SolidWorks Parts File (*.SldPrt
) formats.
PCB Editor Display Modes
To support the various design tasks, the PCB editor has 3 display modes (View menu):
Board Planning Mode – use this mode to define the overall board shape , as well as board regions and bending lines on a rigid-flex design. Press the 1 shortcut to switch to this mode.
2D Layout Mode – the standard 2D PCB design mode, used for component placement and routing, and general board design tasks. Press L to configure the layers that are currently displayed. Press the 2 shortcut to switch to this mode.
3D Layout Mode – a highly realistic 3D representation of the board. Press L to configure the Projection mode, which layers are visible, their colors, and if 3D bodies are to be displayed/hidden. Press the 3 shortcut to switch to this mode.
Use the 1 , 2 and 3 shortcuts to quickly switch to the required display mode: Board Planning Mode, 2D Layout Mode and 3D Layout Mode.
The layers, the color of each layer, the transparency of objects and the visibility of 3D bodies are all configured in the View Configuration panel . Press the L shortcut to display the panel.
Controlling the 3D View
In the PCB editor 3D Layout Mode, you can fluidly zoom the view, rotate it and even travel inside the board using the following keyboard and mouse combinations:
Zooming
Ctrl + Right-drag mouse , or
Ctrl + Roll mouse-wheel , or
PgUp / PgDn keys .
Panning
Right-drag mouse , or
Windows Roll mouse-wheel (vertical) or Shift+Roll mouse-wheel (horizontal).
Numeric keypad, in combination with the Ctrl key:
Ctrl+4 – pan left
Ctrl+6 – pan right
Ctrl+8 – pan up
Ctrl+2 – pan down
Rotation
Shift + Right-drag mouse . When you hold the Shift key down, a directional sphere appears at the current cursor position (as shown in the animation below). Rotational movement of the model is made about the center of the sphere (position the cursor before pressing Shift to display the sphere), using the following controls. Move the mouse around to highlight and select the required control on the sphere before right-clicking:
Right-drag sphere when the Center Dot is highlighted – rotate in any direction.
Right-drag sphere when the Horizontal Arrow is highlighted – rotate the view about the Y-axis.
Right-drag sphere when the Vertical Arrow is highlighted – rotate the view about the X-axis.
Right-drag sphere when the Circle Segment is highlighted – rotate the view about the Z-plane.
Numeric keypad:
4 – rotate left
6 – rotate right
8 – rotate up
2 – rotate down
Change the View – Main Keyboard
0 (zero) – view board from above
9 – view board from above, rotated 90 degrees
8 – orthogonal view of the board
Change the View – Numeric Keypad
1 – view board from above
Ctrl+1 – view board from below
3 – view board from left
Ctrl+3 – view board from right
7 – view board from front
Ctrl+7 – view board from back
9 – view board from above, rotated 90 degrees
The video below demonstrates most of these view control techniques.
Use the keyboard keys in combination with the right mouse button to orient the 3D view.
Controlling the View as you Switch Between 2D and 3D View Modes
When you switch between 2D and 3D view modes, the default behavior is to switch back to the last-used view in that mode. So if you had the entire board shown in 2D mode, then switched to 3D mode and zoomed in, when you switch back to 2D mode the entire board will be shown. Hover the cursor over the image below to show the behavior as the 3 shortcut is pressed.
To switch view modes and retain the current zoom location, hold the Ctrl+Alt shortcuts as you press 2 or 3 . Hover the cursor over the image below to show the behavior as the Ctrl+Alt+2 shortcuts are pressed.
The Footprint and the Component
Main page: Creating a PCB Footprint
In the PCB editor, the area that the component occupies on the fabricated board is defined by the component footprint. Component footprints are created and edited in the PCB library editor. Refer to the Creating a PCB Footprint page to learn more.
A typical footprint includes pads and a component overlay, and can also include any other mechanical details required. In the example footprint below, most of the component outline is defined on a mechanical layer (the green lines) rather than the (yellow) overlay, because this component will be mounted so that it hangs over a cutout in the board.
The footprint defines the space the component occupies and provides the points of connection from the component pins/pads to the routing on the board.
The component that is mounted on that footprint can be modeled using 3D Body objects, which are placed onto the footprint in the PCB library editor. The 3D Body object is used as a container into which a generic MCAD format model can be imported, as shown in the image below.
A suitable MCAD model can be imported into a 3D Body object.
► Learn more about placing and editing 3D Body objects.
Using a 3D MCAD Component Model
An accurate 3D model is the preferred approach. Not only does it look better, if it is correctly designed it will be dimensionally accurate, giving more accurate 3D collision testing in the PCB editor.
Notes on using a 3D MCAD model sourced from a file:
When the Place » 3D Body command is selected from the menus the command will default to placing a generic 3D model. The Choose Model dialog will open, locate and select a model file created in one of the supported formats. Components can be imported in the STEP (*.Step
and *.Stp
), Parasolid (*.x_t
and *.x_b
) and SolidWorks Parts File (*.SldPrt
) formats.
When a model has been selected in the Choose Model dialog and the Open button clicked, the model will appear floating on the cursor in the design space. Click to place the model in the design space.
The default behavior of the software is to remain in placement mode, press Esc to drop out of model placement mode. The next section discusses how to orient and position the model that you have just placed on the footprint.
A 3D model is imported into a 3D Body object – if you click to select an MCAD model in the PCB library editor, such as a STEP model, the Properties panel will show the properties of the 3D Body object containing that MCAD model.
The 3D MCAD model is imported into a 3D Body object.
Notes on using a 3D MCAD model sourced from a connected Workspace:
To place an MCAD model from your Workspace, you must select the Place » 3D Extruded Body command from the main menus. This command allows access to the Workspace (via the Properties panel), whereas the Place » 3D Body command only allows an MCAD model to be placed from a file on the hard drive.
After selecting the command, press the Tab key to display the 3D Body mode of the Properties panel, where the 3D Model Type can be switched from the default Extruded to Generic (generic MCAD model).
The Source field will appear in the panel, choose Server to access the Workspace, then click the Choose button to open the Choose Item dialog. This dialog shows the content of your Workspace.
Locate the required MCAD model in your Workspace, select it then click OK .
You will return to placement mode in the library editor design space. Click the Pause button ( ) to return to editing and place the MCAD model.
The default behavior of the software is to remain in placement mode. Press Esc to exit model placement mode. The next section discusses how to orient and position the model on the footprint that you have just placed.
MCAD models can be stored in your Workspace. Refer to the 3D Model page to learn more.
A 3D model is imported into a 3D Body object in the PCB editor or the PCB library editor. If you click to select an MCAD model in the PCB library editor, such as a STEP model, the Properties panel will show the properties of the 3D Body object containing that MCAD model.
The 3D MCAD model is loaded from the Workspace into a 3D Body object.
Components can be imported in the STEP (*.Step
and *.Stp
), Parasolid (*.x_t
and *.x_b
) and SolidWorks Parts File (*.SldPrt
) formats.
3D mechanical models can sometimes be sourced from the component manufacturer.
There are excellent community portal websites, such as 3D Content Central and GrabCAD , where designers share models.
There is also a growing number of commercial 3D sites, including Ultra Librarian and PCB 3D .
Configuring the Mechanical and Display Layers
3D Body objects are normally placed on a mechanical layer. If the 3D Body object is to represent a component, the 3D Body object should be added to the component footprint in the PCB library editor.
Any mechanical layer can be used to place 3D Body objects. Typically a layer is chosen and named and that layer is used for 3D Body objects only. Because PCB components can be mounted on either surface of the finished PCB, the software supports the pairing of mechanical layers. Working in exactly the same way as the paired top and bottom silkscreen layers, when a component is flipped from the top side to the bottom side, any object on a mechanical layer that is paired is automatically flipped onto the paired mechanical layer.
Layer pairing is not required for the rendering of the model in 3D; the software uses the Board Side property to determine which surface the object is on and in which direction to render the 3D Body. Layer pairs are important if you need to generate side-of-board assembly printouts that include components on one side of the board.
When mechanical layers have been paired in the View Configuration panel, they become Component Layers and appear in the Component Layers region of the Layers list.
Refer to the View Configuration panel page for more information on pairing layers.
Orienting and Positioning the 3D Model
Once the MCAD model has been placed near the component footprint, it can be positioned. It is common that a 3D MCAD model will need to be reoriented to suit the footprint.
There are a number of tools and features to help with this process.
Generally, it is easy to perform rotation tasks in 3D display mode, and X-Y positioning tasks, such as aligning a Snap Point with a location on the footprint, in 2D display mode.
Reference Point and Snap Points
Reference and Snap Points provide a way of holding a 3D Body object during placement. If the Snap to Center option is enabled in the PCB Editor – General page of the Preferences dialog, the cursor will automatically snap to the nearest vertex/reference point/snap point when you click and hold to move the object.
Generic models will have a reference point assigned in the MCAD software in which they were designed.
Snap points are user-defined locations, which allow the object to be held at that location as it is moved in the design space. Snap points are typically assigned to an edge or corner of the object or a center location, for example, the center of a pin or mounting peg.
Snap points can be added by entering the X, Y & Z locations in the Snap Points region of the Properties panel or they can be added interactively using the Add Snap Points From Vertices command. It is easier to interactively add Snap points in 3D mode.
To add snap points:
Press 3 to switch to 3D layout mode.
Select the Tools » 3D Body Placement » Add Snap Points From Vertices command.
As shown on the Status bar, the next step is to Pick the STEP model to add snap points to ; click to select the required 3D Body object.
The Add Snap Points From Vertices command has two modes (use the Spacebar to toggle between the modes):
Click on a single vertex to add a snap point at that location, or
Click on two separate vertices; the snap point is added midway between them. Use this technique to add a snap point to the middle of a component pin.
Press the Spacebar to select the required mode.
Click a vertex to define the snap point location.
If the two-click mode is being used, click a second vertex to define the second location; the snap point will be created midway between the two click locations.
Continue placing snap points or right-click or press Esc to terminate the command.
Visibility controls for the 3D Body Reference Point and Custom Snap Points are located in the System Colors region of the View Configuration panel .
Orienting a Model in the Properties Panel
An excellent approach to orienting a model is to use the 3D Body mode of the Properties panel. Because the values can be edited from the keyboard, it is easy to quickly test various X, Y or Z values and change the orientation as you observe the model in 3D. The keyboard can be used to:
Ctrl+F – to Flip the view over.
M – to move an object.
J – to Jump to a location in the design space.
R – to select Reference (the PCB library editor design space origin) from the Jump sub-menu.
Enter – to apply the value just typed into the panel and also to place the model being moved.
This can be used to rotate the model around each axis, and raise or lower it in the Z plane (demonstrated in the video below).
The Properties panel can be used to visually reorient the model.
Using the Orientation Commands
The software includes commands for orienting and positioning a component. It requires the designer to select three snap points that lie on the surface of the PCB then indicate the three reference points on the PCB to which each of these snap points should be mated. The process is described below.
To position and align a model to a footprint:
Switch to 3D Layout Mode (3 shortcut).
Run the Tools » 3D Body Placement » Orient and Position 3D Body command.
The Status bar will prompt you to select a model; click the generic model you want to reposition.
Three anchors must now be selected, one after the other. Ideally, these will be an accurate reference, such as a pre-defined model reference point, or a snap point located at the center of a pin. The Status bar will indicate which anchor you are currently up to. Note that the Status bar displays a numerical reference value for the vertex or snap point that is currently under the cursor – user-define Snap Points have a low value, from 2 upward; keep an eye on this value to help identify the correct click location. Refer to the Defining Snap Points section to learn more about adding Snap Points.
Once the three anchors have been chosen, the next step is to select, in the same order, the three locations on the footprint where these anchors are to sit. Use the Status bar to guide you as you select the three locations. Note that the cursor will be blue as you move it through the design space, but will change to green if you are over the center of an object, such as a pad.
As soon as the third anchor location has been clicked on, the model will change its orientation and position as the software attempts to mate these three locations. The command will then terminate.
This process is demonstrated in the video below.
Video demonstrating the process of re-orienting a Generic Model.
Center Snapping for 3D models
To improve the convenience and accuracy of adding Snap Points to a 3D model, the following points are automatically snapped to, during Snap Point definition:
All hole centers.
The 90° locations (points crossing the orthogonal axes) around a hole circle.
The middle of a border line.
The model’s body axis.
The center point in a line between two snap points (Spacebar mode).
These snap points were added using the automatic snap to hole center capability.
Snapping to these locations is also available when using the
Reports » Measure Distances command in 3D Layout Mode.
Working with an Extruded, Spherical, or Cylindrical 3D Body Object
While placing generic 3D models is a recommended way of using 3D Body objects as this provides an accurate and detailed component representation on the PCB, a 3D Body object also can be used for placing extruded, spherical, and cylindrical 3D Body shapes. Refer to the collapsible section below to learn more about these 3D Body objects.
► Learn more about placing and editing an extruded, spherical, or cylindrical 3D Body object.
Extruded, Spherical, and Cylindrical 3D Body Objects
There are three styles of simple 3D Body objects that can be placed:
Extruded
In the X-Y plane (top view), the extruded object is defined interactively, in the same way that other polygonal objects are defined in the PCB editor. The object is then extruded up (or down) in the Z plane, based on the Overall Height and Standoff Height properties defined in the 3D Body mode of the Properties panel, and the Body Projection option. You can also apply a Texture File, such as a logo, to the surface of an Extruded 3D Body object.
Cylindrical
The properties of this shape are defined in the 3D Body mode of the Properties panel.
Spherical
The properties of this shape are defined in the 3D Body mode of the Properties panel.
The
Properties panel in
3D Body mode provides an efficient way of editing properties, such as the color, of multiple 3D Body objects. Select the objects in either 2D or 3D Layout Mode, then press
F11 (or click the
Panels button down the bottom right of the design space) to display the
Properties panel in
3D Body mode.
Creating 3D Body Objects from the Footprint
To accelerate the process of building up the component shape out of 3D Bodies, the software can create a series of extruded 3D Body objects based on shapes detected in the footprint. This feature can be helpful if the component has an unusual shape, which is already reflected in the shapes defined in the footprint's component overlay. You can also add additional objects into the footprint on mechanical layers, which you can then use to create additional 3D Body objects from, for example, to create the pins.
The images below show a TO-92 transistor footprint. From this, the outline drawn on the Top Overlay layer is used to define the transistor body on the chosen 3D Body layer pair (referred to as the Registration Layer in the dialog). There have also been three small squares created on a mechanical layer (each square made from four lines), which are used to define the component pins on the chosen 3D Body layer pair – the settings are shown in the dialog image below.
Existing objects in the footprint can be used to create new 3D Body objects.
To create 3D Body objects from shapes in the footprint run the Tools » Manage 3D Bodies for Current Component command, the Component Body Manager dialog will open. Note that the Body State column shows four shapes are going to be used to create 3D Body objects.
The software can create 3D Body objects based on the shape of existing objects.
Notes about using this dialog:
The detection algorithm will offer either: a rectangular shape created from the bounding rectangle, or a polygonal shape that follows the outline of the shape formed by the outline of the primitives (traced along the centerline of tracks/arcs, if their endpoints are coincident).
To create a 3D Body from an existing object, click the blue text in the Body State column.
The Overall Height defaults to the Height defined in the PCB Library Footprint dialog .
For a component pin that passes down through the board, set the Body Projection to Bottom Side .
The 3D Body objects are created when you click the Close button in the dialog. If the display is already set to 3D mode you might need to: refresh it (End shortcut), switch to 2D then back to 3D, or toggle the Show 3D Bodies option Off and On in the View Options tab of the View Configurations panel to see the new objects.
Creating 3D Body Objects from Selected Primitives
As well as interactively placing a 3D Body, they can also be created from a set of existing track, arc, and solid objects that define a closed shape. To define a 3D Body from an existing closed shape:
Select all primitives that form the closed shape.
Click Tools » Convert » Create 3D Body from Selected Primitives .
The 3D Body will be created from the closed boundary formed by the primitives on the Top Layer, regardless of the layer on which the selected tracks are located. Note that the original selected primitives will still exist after the region has been created and will remain selected. The 3D Body's boundary follows the centerline of the bounding track objects and it is not selected.
As the Create 3D Body from Selected Objects algorithm uses the centerline of the selected objects, it requires that the end and start locations of touching objects are exactly co-incident (at the same location). If this is not the case, a Confirm dialog will appear, giving the location where the algorithm failed and also providing the opportunity to instruct the algorithm to attempt to define the 3D Body from the edges of the objects instead. As long as the selected objects overlap slightly, this option should create a 3D Body with the edge of the 3D Body tracing the outer edge of the selected objects.
From the PCB library editor, you can create 3D bodies using the Tools » Convert » Create 3D Body From selected primitives . This command is an excellent choice when the model is simple.
Reference Point of an Extruded, Spherical, or Cylindrical 3D Body object
An extruded, spherical, or cylindrical 3D Body object has a reference point or origin.
For a cylinder and sphere, the reference is the center point of the object's circular shape on the X-Y plane.
For an extruded object, the reference is set to the location X-length /2 , Y-length /2 when viewed from above.
It is the position of this reference point in the design space that is shown in the X/Y Location in the Properties panel.
Extruded, spherical and cylindrical 3D Body objects have a reference point, as shown in the images. Note that the reference point lines are not long so they may not appear outside the object.
Including a Texture on an Extruded 3D Body
Extruded objects also can include an image overlayed on the uppermost surface. When a Texture File is added, it is automatically stretched to fit to cover the entire upper surface of the 3D body, as shown in the image below. This can be adjusted by altering the Center location, Size and Rotation settings in the 3D Body mode of the Properties panel. Note that the texture file is linked to the Library or Board file.
Supported Texture File formats include: *.bmp
; *.dds
; *.dib
; *.hdr
; *.jpg
; *.pfm
; *.png
; *.ppm
; and *.tga
.
A texture or logo can be added to an extruded 3D Body object.
MCAD to ECAD – the Enclosure and Board Shape
For supported MCAD packages , it is also possible to transfer the board and components directly from MCAD to ECAD, using Altium CoDesigner. Working through a connected Workspace , such as an Altium 365 Workspace, CoDesigner can push the board shape and placed components directly from your MCAD software to Altium Designer.
► Learn more about ECAD-MCAD CoDesign
Main page: STEP Export-Import
A common approach is for the mechanical designer to develop an initial concept model, so everyone involved can get a sense of what the product will look like. From there the mechanical designer refines the enclosure design and defines the initial board shape.
That enclosure and board shape can be passed over to the ECAD designer, by saving it out of the MCAD tool in the STEP format and placing it into the PCB editor design space. Altium Designer includes a command that will redefine the ECAD board shape directly from the MCAD board shape.
Exporting the Enclosure from MCAD
STEP is a complex and highly detailed file format. To maximize the success of transferring design data, keep the following in mind:
The board shape can be exported inside the enclosure, as long as it is a separate sub-assembly. If this has been done, you can redefine the ECAD board shape from the mechanical definition with a few clicks in the PCB editor.
Use the AP214 format whenever possible.
Use a surface or solid geometries option, if available.
Suitable export options for SolidWorks (first image), and PTC Creo (formerly Pro/E) (second image).
Importing the Enclosure into the PCB Editor
As well as being able to import a component model into the library editor, you can also import the enclosure into the PCB editor. Doing this allows you to perform accurate 3D collision testing of the loaded board sitting inside its enclosure.
Import the enclosure into the PCB editor to perform 3D collision testing during board design.
When you are using an MCAD component model, it is imported into the footprint in the PCB library editor. For the enclosure, you import the model into a 3D Body in the main PCB editor using the Place » 3D Body command. In the 3D Body mode of the Properties panel, you must set the source of the model to Server , Embed Model or Link to Model . If you choose the Embed Model option, the MCAD model is stored within the PCB file. For the Server and Link to Model options, the model is linked to the PCB file.
The process of importing an MCAD enclosure into the PCB editor is demonstrated in the video below.
To link or to embed?
Embedded – the MCAD model is stored inside the PCB file, the advantage is that it travels with the PCB file. The disadvantage is that the MCAD model of an enclosure (in STEP format) can be a large file, which can substantially increase the size of the PCB file.
Linked – the MCAD model is not stored inside the PCB file, so the model file must be available when the PCB is opened. The advantage is that if the referenced MCAD model file is updated, the PCB editor will detect this change and allow the designer to reload the updated model. To use a linked model, you define the location where the MCAD model is stored in the PCB Editor – Models page of the Preferences dialog.
Controlling the Display of the Enclosure
Main page: PCB – 3D Models
A big advantage of defining the PCB editor board shape from the board shape in the STEP model is that your board is then perfectly sized and positioned within the enclosure. To redefine the board shape you need to be able to see the board inside the STEP model, which you can do by hiding part or all of the enclosure (demonstrated in the next video).
The enclosure, or part of it, can be hidden from view, and also from DRCs.
The visibility of all 3D models is controlled in the 3D Models mode of the PCB panel.
To hide a sub-part in a model:
Select Free Models
in the Components section of the panel.
Select the enclosure in the Model section of the panel. If it contains sub-parts, you will be able to expand it as shown in the image above.
Click on the required sub-part model name to select it. This enables the drop-down below that section of the panel, where you can control the opacity or hide that part of the model. There is also a checkbox that can be used to disable DRC checking of any STEP model.
Defining the Board Shape from the MCAD Model
Like component models, the MCAD enclosure can also be stored in your Workspace. If it is, use the Place » Extruded 3D Body command to place the enclosure in the design space instead of the Place » 3D Body command. During placement, you will need to press Tab and use the Properties panel to place from the Workspace.
Placing from the Workspace is demonstrated in the video in the Orienting and Positioning the 3D Model section.
Refer to the 3D Model page to learn more about storing MCAD models in your Workspace.
If the imported enclosure includes the board shape, and that shape has been included as a separate sub-assembly, the ECAD board shape can easily be redefined directly from the MCAD board shape, as shown below.
If the imported STEP model includes the board shape, this can be used to redefine the board shape in the PCB editor.
To define the PCB editor board shape from a shape within the imported STEP model:
If necessary, you can hide part of the enclosure to give access to the board shape (as shown in the video above).
Run the Design » Board Shape » Define from 3D Body command with the display in 3D Layout Mode.
This is a 2-stage command, first you select the model,
then you select the face that the board shape will be defined from.
The Board Outline Creation Successful dialog will appear, here you choose which face of the board will be aligned with the model face that you just clicked on. The term top PCB board surface refers to the upper surface of the Top Layer copper. This is the zero reference for the PCB editor's Z plane, so a good approach is to click on the upper surface of the board shape in the STEP model, and align it with the top PCB board surface.
You also get the option to hide the MCAD board object from the DRC process. It is a good idea to enable this option, since the board shape is now accurately defined and will now be used for component placement and DRC testing.
In the PCB editor, the zero reference point for the Z plane is the upper surface of the top copper layer.
Once the board shape has been defined, the layer stack can be configured .
Perform 3D Collision Checks within the PCB Editor
Main page: Defining, Scoping & Managing PCB Design Rules
Perhaps the greatest strength of the 3D PCB editor is the ability to perform 3D collision testing. As well as catching general component-to-component collisions, you can also confidently position one component under another, or test if the loaded board fits correctly into the enclosure.
Collision testing relies on the Component Clearance design rule. Add Component Clearance design rules to check for collisions between components that include 3D body objects in the X, Y and Z planes. This allows you to check the clearance of one component over another component. Multiple rules can be defined to handle different clearance requirements. Note that the Design Rule Check does not test if a 3D body object is passing through the board.
This is a binary rule, meaning it tests between this object(s) and that object(s).
Multiple Component Clearance design rules can be defined, to precisely control the collision testing process.
The default behavior is to display the objects in violation, and the distance between those two objects. To see the exact location of the minimum separation between the objects, enable the Show actual violation distances option in the Component Clearance design rule.
Collisions are detected as you work. The rule being applied in this animation is shown in the previous image, it allows the push button body to fit under the LCD.
The software can only perform collision testing between STEP models and a single board design; it cannot perform collision testing between multiple PCB designs. To test for collisions between two PCB designs,
create a Multi-board assembly .
Referencing a 3D Model in a Design Rule
Main page: Defining, Scoping & Managing PCB Design Rules
To get the most out of the design rules system, it is important to understand how to best scope the design rule. The rule scope defines the set of objects targeted by that rule, for example, a rule scoped with the InPolygon
keyword will apply to all of the primitives within all of the polygons on the board. To target the objects within a specific polygon, you would use the InNamedPolygon('PolygonNameHere')
keyword.
If you are creating a rule to target a specific component, you can use the query keyword InComponent('ComponentDesignatorHere')
. That rule scope will target all objects within the component C1, including the pads, overlay tracks, 3D model, and so on.
If you only want the rule to target the 3D model in a component, you can use the id
keyword in the design rule. For example, in the video above, the LCD is a separate sub-assembly, with a designator of LCD1. The 3D model used in that component has an id value of LCD_2x16
, as shown in the first image below. To use this id, the rule could have been configured as shown in the second image below.
The 3D Body Identifier can be used to scope a design rule so that it only targets the component's 3D model.
Performing Measurements in 3D
As well as checking for collisions, another task the designer often needs to do is to measure the distance between two 3D objects. What is the clearance between the connector and the case? How much room is there between that IC and the connector that is above it?
The Measure 3D Objects command (Reports menu) gives detailed measurement distances for the X, Y and Z planes, as well as the shortest distance between the chosen objects.
The command has two modes for selecting the target object:
Hover the cursor over the required object (it will highlight in green), or
Hold Ctrl as you hover the cursor to highlight only the specific face on the target 3D object.
In the image below a surface on the blue connector has been chosen, and the closest surface on the white product case. The 3D Distance dialog has been overlaid on the image.
Perform accurate object-to-object measurements in the 3D Layout Mode. The shortest distance between the chosen objects (or surfaces in this example), is shown in yellow.
Press the Q shortcut key to toggle the units shown in the measurement results.
Press the Shift+C shortcuts to clear the measurement display, double-click on a result in the Messages panel to display a result again.
The measurement cursor will automatically snap to many of the shapes within a 3D model.
ECAD to MCAD – Export the Loaded Board
For supported MCAD packages , it is also possible to transfer the board and components directly from ECAD to MCAD, using Altium CoDesigner. Working through a connected Workspace , such as an Altium 365 Workspace, CoDesigner can push the board shape and placed components directly to your MCAD software.
► Learn more about ECAD-MCAD CoDesign
Main page: STEP Export-Import
So you're ready to export the loaded board to your MCAD designer, you do this using the File » Export » STEP 3D . Once you've entered a name for the file, the Export Options dialog will open.
Configure the STEP export options as required.
Notes about using this dialog:
If you only want to export select components, it is generally easier to select them in 2D display mode.
Free 3D Bodies are additional 3D models placed in the PCB editor, such as the enclosure.
The board is always exported. To exclude all components (only export the board), enable the Export Selected option, with no components selected.
The 3D Bodies Export Options apply to 3D bodies/models added to the component footprints in the PCB library editor. The term simple bodies refers to extruded, cylindrical or spherical 3D Body objects.
In the STEP file, each component is identified by its designator. If the MCAD designer needs to import multiple boards into a single MCAD file there is likely to be designator clashes, to avoid this include a Component Suffix .
Use the Export As Single Part option to export the board as a part rather than as an assembly.
The Export Folded Board option only functions if there bending lines defined in the design. To export the board partially folded, before running the Export command, configure the fold amount using the Fold State slider in the Layer Stack Region mode of the PCB panel. The value defined will automatically be applied in the Export Options dialog.
A partially folded rigid-flex board, exported from the PCB editor and imported into the Rhinoceros 3D MCAD design software .
The STEP export capability is delivered as a Platform Extension. If it does not appear in the Export menu, check that it is enabled in the Platform Extensions .
If you prefer you can use the Parasolid or VRML formats instead of STEP 3D. The different formats have similar options, except that Parasolid includes includes options for exporting copper. Refer to the Export Options page to learn more.
Generating Outputs
There are a variety of 3D-type outputs that can be generated. The table below summarizes the available outputs and how each is configured and generated.
A 300dpi 3D screenshot taken from the PCB editor, then scaled in an image editor to the maximum image size supported in this Web documentation editor.
Output Type
From The
Notes
Screen capture
PCB editor
When the editor is in 3D Layout Mode, press Ctrl+C to take a screenshot of the current view. The 3D Snapshot Resolution dialog will appear, select the required Render Resolution and click OK to copy the image onto the Windows clipboard. From there, paste it into your preferred bitmap editor.
Export as an image
PCB editor
Select the File » Export » PCB 3D Print command. After selecting the location to save the image file, the PCB 3D Print Settings dialog will open, where you can set the Render Resolution, how you would like the board to be viewed, and the image format.
PCB 3D Print
OutputJob
Configured in the PCB 3D Print Settings dialog . In the OutputJob, map the output a New PDF container or directly to a printer. Position the board as required before generating output, then click the Take Current Camera Position and Take Current View Configuration buttons to generate a printout of what you can see on the screen. You can also create an image file, by mapping the Output Job to a Folder Structure Output Container.
PCB 3D Video
OutputJob
Configured in the PCB 3D Video dialog . In the OutputJob, map the output to a New Video container. Output can be in a variety of video formats. To generate this output you need to first define a PCB 3D movie in the PCB 3D Movie Editor panel . Refer to the 3D PCB Video page to learn more.
PDF 3D
OutputJob / PCB editor
Configured in the PDF3D dialog . In the OutputJob, map the output to a New Folder Structure . Requires Adobe Acrobat v9 or newer to support the 3D motion. Output can also include key frames from a PCB 3D Movie, if one has been defined. Refer to the PDF3D Exporter page to learn more.
Including Mechanical Layers in the 3D View Mode
Mechanical layers can be included in the 3D display, when the 3D Settings are using Colors – By Layer . The mechanical layers that are currently configured to be visible will be displayed, as shown in the image below (hover the cursor over the image to display the View Options settings).
When the 3D board is displayed using layer colors, mechanical layers can be included.
Printing from the PCB editor
The PCB editor is able to generate printouts from both the 2D and 3D layout modes. It is also possible to define multiple 2D printouts, with different layers and objects enabled – for example, final artwork prints, composite prints, power plane prints, and so on.
Since there are multiple PCB printouts available, the printout that is generated when you select File » Print from the PCB editor menus is determined by the currently selected Default Print , which is configured via the File » Default Prints command.
Printing from an OutputJob
Main page: Streamlining Generation of Manufacturing Data with Output Jobs
Because there is a range of PCB printouts available, most designers prefer to use an OutputJob, where each specific output type can easily be added and configured, and output generated from it.
The 3D type printouts are added in the Documentation Outputs section of the OutputJob file. Click [Add New Documentation Output] to display the menu and select the required output type, as shown in the image below.
Click the appropriate Add New text to add a new output to the job, as shown above.
Each output type is then configured by selecting its name in the list and right-clicking and selecting Configure (or double-clicking on its name).
► Learn more about Streamlining Generation of Manufacturing Data with Output Jobs
► Learn more about releasing output data with the Project Releaser