Contact our corporate or local offices directly.
Parent page: Laying out Your PCB
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.
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:
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.
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.
More than simple visualization, Altium Designer's 3D capabilities allow you to:
To support the various design tasks, the PCB editor has 3 display modes (View menu):
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:
The video below demonstrates most of these view control techniques.
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.
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 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.
► Learn more about placing and editing 3D Body objects.
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:
*.Stp), Parasolid (
*.x_b) and SolidWorks Parts File (
Notes on using a 3D MCAD model sourced from a connected Workspace:
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.
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.
STEP is a complex and highly detailed file format. To maximize the success of transferring design data, keep the following in mind:
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.
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.
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 visibility of all 3D models is controlled in the 3D Models mode of the PCB panel.
To hide a sub-part in a model:
Free Modelsin the Components section of the panel.
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.
To define the PCB editor board shape from a shape within the imported STEP model:
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).
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.
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
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.
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:
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.
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.
Notes about using this dialog:
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.
|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.|
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).
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.
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.
► Learn more about Streamlining Generation of Manufacturing Data with Output Jobs
► Learn more about releasing output data with the Project Releaser
Contact our corporate or local offices directly.