CREATING 3D COMPONENT BODIES IN A FOOTPRINT LIBRARY
Learn how to create 3D Component Bodies in a Footprint Library
In today’s PCB design process, you need to be able to integrate mechanical design workflows into an electrical design tool. Transferring inaccurate design data back and forth between the ECAD and MCAD worlds not only causes frustrations for both design teams, but can also drastically increase the number of design spins required to fit the PCB into its final assembly. And regardless of the electrical design tool’s actual 3D capabilities, if you don’t have accurate component 3D modeling information, you can’t accurately analyze the mechanical clearances.
Different EDA environments offer different levels of support for creating 3D component bodies via modeling. Some have none at all, so all mechanical information needs to be supplied by the MCAD tool. Others use outdated methods like DXF or IDF to exchange information. Altium Designer PCB design software supports embedding STEP models to provide accurate modeling information that can not only be passed over to the MCAD world, but can also be used directly in the host ECAD tools.
Obtaining and embedding STEP models is a fairly easy process, as is detailed in this document. However, there may be situations when you either can’t or simply don’t want to use a STEP model. You may not have an internal MCAD department. You might not own any 3D MCAD tools. Or maybe your organization doesn’t allow externally-sourced CAD data of any sort, thus preventing you from downloading the models. Other security restrictions may prevent you from accessing the Internet altogether.
Fortunately, Altium Designer provides you with methodologies to create the mechanical details of your components, directly inside the tool. This is ideally done in the footprint library itself (.PcbLib), but can also be done right at the board level (.PcbDoc) for one-off situations. This paper will show you how to create 3D models and provide tips for creating common components.
Altium Designer provides three basic 3D shape types for creating mechanical models: Extruded, Cylinder, and Sphere. Each of these can be used alone or in combination with one another. The Extruded model is probably the most commonly used. To create one, draw any polygon shape, then give that shape a height value. The shape will then be extruded upward (or downward) by that height.
The Cylinder and Sphere types are self-explanatory. The cylinder’s radius, height, and rotation values are entered, and the system draws the shape accordingly. The Sphere needs only the radius. Using these simple shapes, a large variety of surface-mount and through-hole components can be created, ranging from the simple to the surprisingly complex.
Even though we’re working with 3D models, the best way to create them is in 2D Layout Mode (View -> 2D Layout Mode). Then we can switch to 3D later, to make modifications to the model. Each model type starts the same way. First go to Place -> 3D Body. Then choose the applicable “3D Model Type” option:
To create an Extruded model, the only required field is the “Overall Height” field.
Other areas are optional and/or can be edited later.
Creating Extruded Model
Clicking OK takes you back into the design workspace, in a drawing mode. After that, use standard Altium Designer methods to create a fully enclosed polygon region to act as the model shape. Click to start the shape, then drag the mouse and click again to add subsequent corners. Right-click the mouse or hit the “Escape” key to finish the shape. The 3D Body dialog will reappear if a second shape needs to be added. Click the Cancel button if only one shape is needed.
Some tips on creating your desired polygon:
Before starting the shape, use the “G” shortcut key to set the snap grid
Use “Shift+E” to toggle between the different “Snap To…” modes
“Shift+Space Bar” changes the corner mode (e.g., orthogonal, diagonal, arc, etc.)
The space bar alone changes the direction of next segment to be added
Hitting the “Delete” key during the drawing process will remove the last corner/vertex entered
Upon completion of the shape, a cross-hatched area will be displayed in 2D workspace mode, which indicates the body, as in the pink hatched area in the example below:
2D Workspace Mode
Switching to 3D mode (View -> 3D Layout Mode) will display the 3D model:
Display of 3D Model
While in 3D mode, the component body can be moved within the X/Y plane by clicking on the body and dragging it. While dragging, it can be rotated using the Spacebar or flipped along the X or Y axes using the “X” or “Y” shortcut keys.
Further edits can be made by double-clicking the body, to return to the 3D Body dialog. From there, you can change other aspects of the model, such as its color or its Standoff Height (i.e. the height above the board surface, where the model will sit). These edits can also be made while in 2D mode, but in some situations it can be helpful to have the immediate visual feedback within 3D mode. Editing the outline of the shape itself, on the other hand, should always be done in 2D mode.
Cylinder and Sphere shape types are a bit simpler to create: they only require you to enter in the dimensions. The system automatically draws the shapes using those dimensions.
Cylinders can be useful for creating models such as through-hole resistors and electrolytic cap bodies. They can also be used to stand in for the through-hole pins or wire stubs themselves.
Cylinder shape type
Spheres are considerably less versatile than Extruded or Cylinder models, but they can still be very useful in conjunction with other shape types. For example the LED model (below), was created using all 3 model types:
Here are the individual pieces from which the LED is constructed:
Individual pieces of LED model
Part of the work that goes into creating a component’s land pattern may include silkscreen or other mechanical outline data, which defines the component body shape. Take, for example, this BGA package:
The yellow overlay (silkscreen) outline was very likely created in the same shape and size as the actual component body. So why not reuse that information instead of having to redraw it manually? Altium Designer includes a feature to create Extruded 3D bodies based on existing 2D shapes.
In the footprint library (.PcbLib), go to Tools -> Manage 3D Bodies for Current Component… The resulting dialog shows a list shapes that were found in the footprint:
List of shapes in footprint library
Notice that some of the shapes listed are described as “Polygon shape created from primitives on…” These are the actual 2D lines and/or arcs that exist within the footprint. There are also “Shapes created from bounding rectangle on…” In these cases, the system looked at any existing objects on a particular layer (including the copper layers) and drew a rectangle around the outermost points.
A preview of the basic shape is shown in the right-hand preview area (the pink box above). In our BGA example we’ll use “Polygon shape created from primitives on TopOverlay,” which is our actual silkscreen outline.
The “Body State” column indicates whether that particular shape has been added to the component or not. Clicking the “Not in Component” link will toggle its state and add that shape to the component:
Body state column in Component Body Manager
Notice that the Body State changed to “In Component” and the left-hand footprint preview now shows the shape overlaid on the land pattern. This gives us a general idea as to whether we’ve chosen the correct shape or not.
The “Overall Height” column sets the body height, just as when we created the Extruded polygon manually in the first example. As before, the other fields, such as body color, are optional and can be changed later. Clicking Close adds the shape to the component, shown in the figure below:
The Tools -> Manage 3D Bodies for Library… menu command provides access to a list of all the components in the library. It also includes a “Batch Update” mode for adding the shape from the same layer of every component in the library. For example, perhaps the footprints were all created with a 2D “bounding box” on one of the mechanical layers. That outline could be added in a batch process to all (or some) of the components in the library at once.
If there is no existing PCB footprint library for a particular board, or if a one-time shape height edit needs to be made, the Printed Circuit Board PCB editor environment also provides the same “Manage 3D Bodies” features. Going to Tools Manage 3D Bodies for Components on Board… presents a similar dialog to “Manage 3D Bodies for Library.” Additionally, you can add a 3D Body to an individual component by right-clicking the component and navigating to Component Actions -> Manage 3D Bodies in the menu. The functions there are identical to those found in the library editor’s “.Manage 3D Bodies for Current Component.”
More information on creating and managing 3D bodies can be found here: