Component Placement

Now reading version 23. For the latest, read: Component Placement for version 24

There is a saying that PCB design is 90% placement and 10% routing. While you could argue about the percentage of each, it is generally accepted that good component placement is critical for good board design. Keep in mind that you may need to also tune the placement as you route.

The component footprint defines the space and connection points needed to mount the physical component on the printed circuit board. It is a group object made up of a collection of simple primitive objects, which could include pads, lines and arcs, as well as other design objects.

The component footprint defines the component mounting and connections on the PCB and can also include 3D body objects to define the actual component. 
The component footprint defines the component mounting and connections on the PCB and can also include 3D body objects to define the actual component.

The pads provide the mounting and connection points for the component pins. Additional design primitives, such as lines and arcs, are often included to define the outline of the component shape on the component overlay (silkscreen) layer.

The component footprint can also include optional 3D body objects, which define the physical space or envelope of the actual component that is mounted on the board. If the physical component has been defined using 3D body objects or imported STEP models, three-dimensional component clearance checking can be performed.

Component footprints are created in the PCB footprint editor by placing suitable design objects to create the shape required to mount and connect the component. The component reference point is the origin of the PCB footprint editor design space, which can be set in the editor to: pin 1, the geometric center, or a user-defined location on the component. To learn more about footprint creation, refer to the Creating a PCB Footprint page.

Component Availability on the PCB

PCB component footprints are automatically placed from the available libraries when the design is transferred from the schematic editor to the PCB editor. This is called Design Synchronization, which is a process to detect and resolve the differences between the schematic and the PCB.

Altium Designer supports a set of tools facilitating the placement of the required component footprint in the PCB design space. See the following pages to learn about these tools:

Browsing Placed Components

In the PCB panel’s Components mode, its three main regions change to reflect the component hierarchy of the current PCB design (in order from the top):

  • Component Classes
  • Components within a class
  • Component Primitives

The PCB panel regions allow a cumulative filter selection through component classes to individual components to component primitives.
The PCB panel regions allow a cumulative filter selection through component classes to individual components to component primitives.

Right-click on a component or component primitive entry then choose the Properties command (or double-click on the entry directly) to access to the Properties panel in the associated mode, from where you can view/modify the properties of the component/primitive as required.

Right-click on a component class entry then choose Properties (or double-click on the entry directly) to open the Edit Component Class dialog for that class. From the dialog, you can view/modify the component membership of the class, rename it, or add additional classes.

Editing a selected component class.
Editing a selected component class.

To learn more about working with classes, refer to the Working with Classes on a Schematic & PCB page.

The display/inclusion of each component primitive type in the Component Primitives region of the panel depends on whether the corresponding option for each has been enabled on the right-click menu accessed from either the Components or Component Primitives regions.

Right-click on a component or component primitive entry to select the items to include.
Right-click on a component or component primitive entry to select the items to include.

While browsing, components can be easily locked or unlocked by double-clicking in the box to the right of the Footprint column in the Components region.

Locking/Unlocking from the PCB panel saves you from having to navigate through the Properties panel.
Locking/Unlocking from the PCB panel saves you from having to navigate through the Properties panel.

Component Selection Bounding Box

When you click and select a component, the selection bounding box appears. Traditionally, the default bounding box behavior has been to use the smallest rectangle that encloses all of the primitives in that component, excluding the designator and comment strings.

To provide better support for more complex component shapes, the PCB.ComponentSelection Advanced Setting was added (click Advanced Settings on the System – General page of the Preferences dialog). This option gives the designer control over which layers are used to define the bounding box. After changing the PCB.ComponentSelection value in the Advanced Settings dialog, you will need to restart Altium Designer in order for the change to take effect.

The advanced option supports three modes (enter the value 0, 1 or 2; the default mode is 2):

  • 0 - legacy mode - this mode combines geometries from all layers, except the Silkscreen Designator and Comment strings.
  • 1 - by layer mode - use the geometries from the first of the layers listed below that contains objects, with the following priority:
    1. Courtyard Layer Type
    2. 3D Body Layer (STEP models are stored in a 3D Body object sized to the smallest rectangular prism that holds the model. This 3D Body is used, not the shape of the STEP model)
    3. Silkscreen Layer plus Copper Layers
    4. Copper Layers
  • 2 - by graphic mode - this mode combines geometries on the Courtyard Layer Type, the Silkscreen, 3D Body objects and Copper layers. Strings are excluded.

0 - legacy

1 - by layer

2 - by graphic

  • References to the Courtyard layer are for a Component Layer Pair with the Layer Type = Courtyard, the name of the layer pair is not considered.

  • If the component includes a 3D model the actual 3D model shape is used for component collision checking, while the shape of the component selection box is determined as described above.
  • Mechanical layer objects are excluded from the selection bounding box but are included in the collision checking bounding box when there are no 3D Bodies or Courtyard layer objects defined. The exceptions to this are the .Designator and .Comment text strings, which are always excluded. Learn more about Working with Mechanical Layers.
  • The component selection bounding box is used to calculate the component area, learn more about the component area.

Adding Primitives to a Component

Selected primitives can be added to a component by choosing the Tools » Convert » Add Selected Primitives to Component command from the main menus. After selecting a command, choose the component to which you want to add the selected primitives. When confirmed, the new primitives will be recognized as part of the single component object and may be used in conjunction with the component's original primitives.

The target component must have its primitives unlocked to carry out this operation. Use the Primitives lock icon in the component's properties to unlock component primitives.

Exploding a Component to Primitives

A component can be converted to its constituent primitive objects using the Tools » Convert » Explode Component to Free Primitives command from the main menus or by right-clicking over a placed component (selected or not) then choosing the Component Actions » Explode Component To Free Primitives (or Explode Selected Components To Free Primitives) command from the context menu. An exploded component is no longer a component, so the designator and comment will be removed and the component will revert to the various primitives from which it was made.

Explode has no effect on the footprint model stored in the applicable source library, only on the converted instance(s) of the component(s) placed on the PCB document.

  • Explode is a one-way process, there is no command to regroup an exploded component. You can use the Undo command to achieve this.
  • The Explode command should not be used to modify the properties of a component. The primitives in a component can be edited by unlocking the component primitives (using the Primitives lock icon in the component's properties), editing them as required, then re-locking the primitives.

Accessing Clickable Links to Reference Information

When named document links have been added to the component, the indicated document/page URL - specified through a defined underlying URL link parameter - for the selected component or the component under the cursor can be opened. This feature allows named document links that have been transferred from schematic components to be presented as named PCB component links to PDFs, text files, or HTML pages. That occurs when the named document links for the component have been updated from the Schematic to the PCB (Design » Update PCB Document). During that update process (via an ECO), the schematic named document links are converted to ComponentLink parameter pairs (ComponentLinknDescription/ComponentLinknURL) for the matching PCB component. For example:

Schematic Component Parameter   PCB Component Parameters
Name Url


Name Value
STM32 Family Web Page ComponentLink1Description STM32 Family Web Page

The link index number (n) used in the component parameters will define the ordered position of the matching PCB Component Link in the References submenu. With a component on the PCB selected, the defined ComponentLink parameter pairs are presented in the Parameters section of the Properties panel.

After launching the command, the web-based URL target page or indicated document will open directly (if available).

  • A web-based URL will be open either in an external browser, or as a tabbed document within Altium Designer, as determined by the Open internet links in external Web browser option, on the System - View page of the Preferences dialog. Bear in mind that to open in an external browser, the value (URL) of the link parameter must include the http:// prefix.
  • For more information about establishing document link parameters in the schematic space, refer to the Schematic Libraries page.
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.

The features available depend on your Altium product access level. If you don’t see a discussed feature in your software, contact Altium Sales to find out more.