Contact Us
Contact our corporate or local offices directly.
Parent page: Working with File-based Component Libraries
This document outlines the creation of PCB footprints (including adding 3D body objects) using the PCB footprint editor.
The following topics are covered:
This information assumes you have a working knowledge of the PCB editor environment and are familiar with placing and editing components.
Footprints are always built on the top side, regardless of which final side of the board they are placed. Layer-specific attributes, such as surface mount pads and solder mask definitions, are automatically transferred to appropriate bottom-side layers when you flip the footprint to the other side of the board during component placement.
This section covers the following topics:
Footprints can be copied from the PCB editor into a PCB library, copied between PCB libraries, or created from scratch using the Footprint Wizard or drawing tools. If you have a PCB design with all the footprints already placed, you could use the Design » Make PCB Library command in the PCB editor to generate a PCB library that includes only those footprints. Altium Designer also includes comprehensive libraries (*.PcbLib) of predefined through-hole and SMD component footprints for use in designing PCBs.
The footprints that are created manually in this section are only to illustrate the procedures required; they are not dimensionally accurate. Always check the specifications of a new footprint against the manufacturer's datasheet.
To create a new PCB library:
PCBComponent_1
displays.You are now ready to add, remove, or edit the footprint components in the new PCB library using the PCB footprint editor commands.
The PCB footprint editor includes a Footprint Wizard that will build a component footprint using information you supply. We will use the Wizard to create a footprint for a DIP14.
Perform the following steps to create the new component footprint DIP14 using the Footprint Wizard:
You also can create component footprints using the IPC Compliant Footprint Wizard. Rather than requiring you to enter the properties of the pads and tracks that are used to define the footprint, the IPC® Compliant Footprint Wizard takes the actual component dimensions as its inputs. Based on the formulae developed for the IPC-7351 standard, the Wizard generates the footprint using standard Altium Designer objects, such as pads and tracks. The Wizard is launched from the PCB footprint editor by clicking Tools » IPC Compliant Footprint Wizard. Click Next to progress through the pages of the Wizard, setting the options as desired on each page.
The IPC Compliant Footprint Wizard builds the footprint based on the component dimensions.
Footprints are created and modified in the PCB footprint editor using the same set of tools and design objects available in the PCB editor. Anything can be saved as a PCB footprint, including corner markers, photo tool targets, and mechanical definitions. Once a footprint has been placed onto a PCB, you can set the Type property, defining it as Graphical or Mechanical if required.
To create the component footprint, we will place pads to form the component pin connections then place tracks and arcs for the outline. Design objects can be placed on any layer, however, the outline is normally created on the Top Overlay (silkscreen) layer and the pads on the multi-layer (for thru-hole component pins) or the top signal layer (for a surface mount component pins). When you place the footprint on a PCB, all objects that make up the footprint will be assigned to their defined layers.
To manually create a footprint suitable for the NPN transistor:
The Properties panel in Pad mode includes a viewer in the Pad Stack region that allows you to inspect the pad shapes on the defined layers (select the desired layer from the Layer drop-down in the Properties region of the panel). You can define normal round, rectangular, octagonal, rounded rectangle (oval), or Hole Size in pads and toggle their Plated property and all the work needed to support thermal reliefs generation, clearances calculation, output to Gerber, ODB++, and NC Drill, for example, will be automatically handled. The NC Drill Output (NC Drill Excellon format 2) will generate up to six different NC files for three different hole kinds and whether or not they are plated or non-plated.
To place the pads:
Pads can be labeled with a designator (usually representing the component pin number) of up to 20 alphanumeric characters. The designator can be left blank if desired. If the designator begins or ends with a number, the number will auto-increment when placing a series of pads sequentially. To achieve alpha increments, e.g,. 1A, 1B, or numeric increments other than 1, use the Setup Paste Array dialog (click the Paste Array button in the Paste Special dialog (Edit » Paste Special)).
By setting the designator of the pad prior to copying it to the clipboard, you can use the Setup Paste Array dialog to automatically apply a designation sequence during pad placement. By using the Text Increment field in the Setup Paste Array dialog, the following pad designator sequences can be placed:
To increment numerically, set the Text Increment field to the amount by which you want to increment. To increment alphabetically, set the Text Increment field to the letter in the alphabet that represents the number of letters you want to skip. For example, if the initial pad has a designator of 1A, set the field to A, (first letter of the alphabet) to increment designators by 1. If you set the field to C (third letter of the alphabet), the designators will become 1A, 1D (three letters after A), 1G, etc.
The outline that appears on the PCB silkscreen is defined on the Top Overlay layer. If the component is flipped to the bottom of the board during placement, the overlay is automatically transferred to the Bottom Overlay layer.
There will be situations when you need to create a footprint with pads that have an irregular shape. This can be done using any of the design objects available in the PCB footprint editor, but there is an important factor that you must keep in mind. The software automatically creates solder and paste masks based on the shape of pad objects. If you use pad objects to build an irregular shape, the matching irregular mask shape will be generated correctly. If you build the irregular shape from other objects, such as lines (tracks), fills, regions, or arcs, you also will need to define any required solder or paste masks by placing suitably enlarged or contracted objects on the solder mask and paste mask layers.
Managing Components that Include Routing Primitives in their Footprint
When you transfer a design, the footprint specified in each component is extracted from the available libraries and placed on the board. Then each pad in the footprint has its net property set to the name of the net connected to that component pin in the schematic. If the footprint includes copper primitives touching the pads, these primitives will not be assigned the net name automatically and will create a design rule violation. In this case, you will need to perform an update process to assign the net name. The PCB editor includes a comprehensive net management tool that is launched by selecting Design » Netlist » Configure Physical Nets from the main menus. In the Configure Physical Nets dialog, click in the New Net Name region to select the net to assigned to the unassigned primitives.
The footprint shown in the image below has multiple pads that are connected to the same logical schematic component pin. For this component, both of the two mounting hole pads have the same designator of '3'. When the Design » Update PCB command is used in the schematic editor to transfer design information to the PCB, the resulting synchronization will show the connection lines going to both pads in the PCB Editor, i.e. they are on the same net. Both of these can be routed.
TO-3 footprint showing two pads with a designator of 3 on the same net.
The footprint shown in the following image is the contact set for a push button switch, which is implemented directly in the copper on the surface layer of the PCB.
Printed push button footprint, designed by placing pads, lines and arcs.
A rubber switchpad overlay is placed on top of the PCB with a small captive carbon button that contacts both sets of fingers in the footprint when the button is pressed, creating the electrical connectivity. For this to happen, both sets of fingers must not be covered by the solder mask. The circular solder mask opening has been achieved by placing an arc whose width is equal to or greater than the arc radius, resulting in the solid circle shown behind the two sets of fingers. Each set of copper fingers has been defined by an arc, horizontal lines, and a pad. The pads are required to define the points of connectivity. Manually placed solder mask definitions are automatically transferred when the component is placed on the bottom of the board.
Solder and paste masks are created automatically at each pad site on the Solder Mask and Paste Mask layers, respectively. The shape that is created on the mask layer is the pad shape, expanded or contracted by the amount specified by the Solder Mask and Paste Mask design rules set in the PCB editor or as specified in the Properties panel in Pad mode.
Pads with the solder mask displayed.
When you edit a pad, you see the settings for the solder mask and paste mask expansions. While these settings are included to give you localized control of the expansion requirements of a pad, you will not normally need them. Generally, it is easier to control the paste mask and solder mask requirements by defining the appropriate design rules in the PCB editor. Using design rules, one rule is designed to set the expansion for all components on the board, then, if required, you can add other rules that target any specific situations, such as all instances of a specific footprint type used on the board, or a specific pad on a specific component, etc.
Displaying the Masks
To check the solder and/or paste masks have been automatically defined in the PCB footprint editor, click the Top Solder layer tab at the bottom of the main design window and examine the contents.
To make the mask layers visible, open the View Configuration panel and enable the for each mask layer.
The ring that appears around the edge of each pad in the color of the Top Solder Mask layer represents the edge of the solder mask shape protruding by the expansion amount from under the multi-layer pad because multi-layer is at the top of the layer drawing order; it is drawn on top. The Layer Drawing Order is set on the PCB Editor - Display page of the Preferences dialog).
Setting Mask Expansions by Design Rules
To set the mask expansions in the design rules:
Manually Specifying Mask Expansions
To override the expansion design rules and specify a mask expansion as a pad attribute:
Default Designator and Comment Strings
What you are building in the library is a footprint. When that footprint is placed on a board, it is given a designator and comment and is then referred to as a component. You do not need to manually define placeholders for the designator and comment strings when you build the footprint since these are added automatically when the footprint is placed on a board. The locations of these strings are determined by the designator and comment string Autoposition options in the Properties panel in Parameter mode when the designator or comment string is selected in the design space. You can pre-define the required string position (and size) on the PCB Editor - Defaults page of the Preferences dialog.
Additional Designator and Comment Strings
There may be situations when you would like additional copies of the designator or comment strings. As an example, your assembly house wants a detailed assembly drawing with the designator shown within each component outline, while your company requires the designator to be located just above the component on the component overlay on the final PCB. This requirement for an additional designator can be achieved by including the .Designator special string in the footprint (there is also a .Comment special string). To satisfy your assembly house requirement, you would place the .Designator string on a mechanical layer in the library editor, then generate a printout that included this layer. If you need this feature:
There are a number of special requirements a PCB component can have, such as needing a glue dot or a peel-able solder mask definition. Many of these special requirements will be tied to the side of the board on which the component is mounted, and must flip to the other side of the board when the component is flipped. Rather than including a large number of special purpose layers that may rarely be used, Altium Designer's PCB editor supports this requirement through a feature called layer pairs. A layer pair is two mechanical layers that have been defined as a pair. Whenever you flip a component from one side of the board to the other, any objects on a paired mechanical layer are flipped to the other mechanical layer in that pair. Using this approach, you select a suitable mechanical layer to include the glue dot (or other special requirement) and define its shape using the available objects. When you place that footprint onto a board, you must set up the layer pairing. This instructs the software which layer it must transfer objects to when this component is flipped to the other side of the board. You cannot define layer pairs in the PCB footprint editor; this is done in the PCB Editor.
Given the density and complexity of today's electronic products, today's PCB designer must consider more than the horizontal component clearance requirements. You must also consider height restrictions and component-under-component placement options. There is also the need to transfer the final PCB to a mechanical CAD tool where a virtual product assembly can verify the complete packaging of the product being developed. Altium Designer includes a number of features, including realistic 3D visualization for these different situations.
At the simplest level, you can add a height attribute to your footprint. To do this, double-click on the footprint in the Footprints list in the PCB Library panel to open the PCB Library Footprint dialog. Enter the desired height for the component in the Height field.
Height design rules can be defined during board design (click Design » Rules in the PCB editor), typically testing for maximum component height in a class of components or within a room definition.
For more realistic component rendering in 3D view mode, you can add 3D body objects to the footprint. 3D bodies can be added to a footprint on enabled mechanical layers only. An extruded (simple) 3D body is a 2D polygon-type object that has surface color and a height attribute to pull or extrude the shape when rendered in 3D. 3D bodies can also be created as spheres or cylinders. One or more 3D bodies can be combined to define the physical size and shape of a component in all directions and are used by the Component Clearance design rule. Using high accuracy 3D models improves component clearance checking accuracy and generally improves the visual appeal and realism of the finished PCB assembly. Altium Designer supports directly importing 3D STEP models (*.step or *.stp files), Parasolid Models (*.x_t
and *.x_b
), and SolidWorks parts (*.SldPrt
) into PCB footprints to render the 3D model. This functionality extends to having models either embedded or linked to Altium Designer PCB documents, however, linked models are not available in the PCB footprint editor.
Manually Placing 3D Bodies
3D bodies can be placed manually in the PCB footprint editor by clicking Place » 3D Body from the main menus or by selecting from the Active Bar. They also can be added automatically to footprints in the PCB footprint editor (and to placed footprints in the PCB editor) using the Component Body Manager dialog (Tools » Manage 3D Bodies for Current Component).
We will now add a 3D body to footprint DIP14, which was created previously in this document. To manually place a 3D body in the PCB footprint editor:
DIP-14 3D representation
Interactively Creating 3D Bodies
Interactively creating 3D body objects from a footprint is very similar to the manual method. The basic difference is to use Altium Designer to detect closed shapes that can be used to "extrude" into 3D bodies from the existing objects that comprise the footprint details. This is accomplished through the Component Body Manager dialog.
The Component Body Manager dialog is used to define a 3D body for the transistor package TO-39. Using this approach is easier than attempting to define the shape manually because of the curved shape and orientation tab of the package body. To use the dialog:
Many component vendors supply detailed 3D models for use in popular mechanical CAD packages. Altium Designer can import 3D STEP models (.step or .stp), SolidWorks parts (*.SldPrt
), and Parasolid Models (*.x_t
and *.x_b
) directly into a component footprint. This saves time in creating the model yourself and also may provide a more sophisticated model.
Linked Models
Linked models are not supported in the PCB footprint editor. Embedded models are supported.
Importing Models
To import a model, perform the following steps:
Positioning and Orienting Models
When a model has been imported, the placeholder 3D body re-sizes to house the model. The model may not be oriented correctly in relation to the axes of the PCB document due to the origin used in the originating application. There are several methods for graphically positioning models, using reference points (known as snap points) placed on the model to manipulate it and using faces or surfaces on the model in relation to the board.
You can copy existing footprints into your PCB library. The copied footprint can then be renamed and modified to match the specifications required. The following are different ways to copy existing footprints to your PCB library:
As in the schematic symbol editor, there are a series of reports that you can run to check that the footprints have been created correctly and identify which components are in the current PCB library. To compile all components in the current PCB library, run the Component Rule Check report. The Component Rule Check tests for duplicate primitives, missing pad designators, floating copper, and inappropriate component reference. To run the Component Rule Check:
The PCB Library panel enables you to browse footprints stored in the active PCB library document and edit their properties. When a PCB Library document is active, the panel becomes populated with information pertaining to the constituent footprints of that library. The panel also offers the ability to pass on any changes made to them directly to the PCB design document.
The PCB Library panel
The panel has three main sections, each offering a different scope or view of the footprints in the active PCB Library:
As a footprint is selected in the panel, its constituent primitives populate the Footprint Primitives section and the footprint is displayed in the main editor workspace. Selecting a primitive object in the panel causes the corresponding object to be highlighted in the editor workspace. In this way, the PCB Library panel offers a fast and easy way to browse, view and access PCB library footprints.
The contents of the list can be filtered, enabling you to quickly find a particular footprint within the library. This is especially useful if the library contains a large number of items. Filtering can be applied using the following methods:
This method uses the Mask field at the top of the panel to filter the contents of the list. Masking is applied based on the entry in the field. Only those footprints in the list targeted by the scope of the entry will remain displayed.
Use the *
wild card operator for more elaborate filtering. For example, typing m*
will display only footprints whose names begin with m
, or as in the image below, typing *16
will display only footprints that contains 16
in the name.
This method is available for all list regions in the panel and allows you to quickly jump to an entry by directly typing within the area of the list. Masking is not applied, leaving the full content of the list visible at all times.
To use the feature to quickly find a footprint, click inside the Footprints section of the panel then type the first letter of the footprint to which you want to jumps. For example, if you wanted to quickly jump to footprint entries starting with the letter S
, you would press "S
" on the keyboard. The first footprint in the list starting with S
will be made active, and the letter will be highlighted to indicate that filtering of the list is based upon it.
If there are multiple footprints starting with the same letter and especially if the library is particularly large, type additional letters to target the specific entry you require, for example, "SO
" as shown below.
In some situations, it may be helpful to use Indirect and Direct filtering together. If, for example, you recall that the footprint you want to locate has a sub-type number of 4
and a prefix of PO
, this information can be used as Indirect (Mask) and Direct entries.
PCBCOMPONENT_1.
The Footprint Primitives section lists all primitive objects that constitute the footprint currently selected in the Footprints list. For each primitive entry, the following information is displayed:
As individual object primitives are selected in the panel, the matching object (track, arc, pad, etc.,) is graphically highlighted in the editor workspace.
Selecting an entry in either panel list region applies a filter, essentially using the entry as its scope. The visual result of the applied filtering on the document in the design editor window is determined by a series of highlighting controls located at the top of the panel.
Any combination of these options can be enabled. For example, you might want to have all filtered objects zoomed, centered and selected in the design workspace as well as applying masking to take away the clutter of other design objects. Use the Clear button to clear the currently-applied filter. All objects in the design workspace will become fully visible and available for selection/editing. If you want to re-apply the filter, click the Apply button.
The bottom section provides a mini-viewer for the document, with an image of the active footprint central to its window. The area currently displayed in the design editor window is denoted by white hash marks as highlighted in the following image.
Click the Magnify button at the top of the panel to provide a floating magnifying glass and zoom cursor in the design editor window. As you move these around in the workspace, the mini-viewer in the panel will contain the magnified image of the active footprint centered on the cursor. This allows you to browse the document at full size in the design editor window, while looking at zoomed detail in the mini-viewer window.
Use the Page Up and Page Down keys to increase or decrease the magnification. Right-click, click or press Esc to exit magnify mode.
LibraryName.CMP
) in the same folder as the source PCB library document and will automatically be opened as the active document in the design editor window. The report lists information including footprint dimensions, a breakdown of the primitive objects that constitute the footprint, and the layers on which they reside.PCBCOMPONENT_1
.*.PcbLib
). You cannot edit the footprints in an integrated library (*.IntLib
). You would have to de-compile the integrated library first then edit the required footprint(s) in the source PCB library document(s). The source can then be recompiled to produce the updated integrated library.Contact our corporate or local offices directly.