Advanced PCB Component Placement Tools in Altium NEXUS

Created: April 12, 2022 | Updated: June 1, 2022

Parent page: Component Placement

Component Positioning and Placement Options

When you click and hold on a component to move it, if the Snap to Center option is on, then the component will be held by its reference point. The reference point is the 0,0 coordinate of the component as it was built in the library editor.

The Smart Component Snap option allows you to override this snap to center behavior and snap to the nearest component pad instead, which is handy when you need to position a specific pad in a specific location.

Preferences dialog, configuring the PCB Object Snap options
Enable Snap To Center to always hold the component by its reference point. Smart Component Snap is helpful when you need to align by a specific pad.

Placement Modes

You can cycle through component placement modes by pressing the R key during placement.

  • Ignore Obstacles - regular placement behavior, as seen in previous versions of Altium NEXUS. In this mode, the same component clearance checking routines seen in previous version of Altium NEXUS are used. These routines use the 3D body, if there is one, or the copper and silk primitives to identify an object's clearance.
  • Push Obstacles - the component to be placed will push other components away to provide compliance with clearances between components. Components in unions can be pushed and the location of components in the union may change, but the union will not break. Locked components cannot be pushed. In this mode, components are identified by their selection boundary, which is the smallest possible rectangle that encloses all of the primitives in the component.
  • Avoid Obstacles - the component to be placed will be forced to avoid violation clearances between other components during placement. In this mode, components are identified by their selection boundary, which is the smallest possible rectangle that encloses all of the primitives in the component.

The status bar at the bottom of the design space indicates the current placement mode.

Using the R hotkey to cycle through placement modes. Note that the R6 component is locked and cannot be moved in Push Obstacles mode.

Push/Avoid Obstacles cannot be used for complex selection when another object (track, pad, text, etc.,) is also selected.

Component Placement Grid

When components are placed or moved, they snap to the cartesian or polar grid currently under the component if this grid is defined for component placement. Definition of how a grid can be used (its purpose or application) is performed using the Comp and Non Comp options associated with that grid's entry in the Grid Manager region of the Properties panel.

To learn more, visit the Defining the Purpose of a Grid section of the Working with the Cursor-Snap System page.

Finding Components for Placement

If you can visually locate components that you are positioning on the board, click and hold to move them. Otherwise, in a dense design where visually looking for a particular component can prove very time-consuming, you can use the Choose Component dialog to move a specific component in the design space, either by having the cursor jump to that component or by having the component moved to the current cursor position.

To access the dialog, select the Edit » Move » Component command from the main menus and click anywhere in the design space away from components. From this list, you can select the component to be placed. You also select the behavior you would like – to move the cursor to the component or the component to the cursor.

Interactive Placement Commands

There are a number of semi-automated tools that allow you to edit the placement of your PCB design. Along with the standard object alignment commands, the commands of the Tools » Component Placement menu can be used to perform the following operations:

Arrange Within Room This command arranges the components that are assigned to a room, within that room.
Arrange Within Rectangle This command enables you to arrange selected components within a defined rectangular area.
Arrange Outside Board This command arranges the selected components outside the keepout boundary, which is usually the board outline.

Reposition Selected Components

This command is used to reposition a number of selected components sequentially in the order that you selected them.

This command can be used in conjunction with the Cross Select Mode. Enable Cross Select Mode (Tools » Cross Select Mode), select multiple schematic components, switch to the PCB editor, then run this command to reposition each component, in the same order they were selected in the schematic.

Swap Components

You can select a pair of components and easily swap their positions. After selecting the components you want to swap, right-click then select Component Actions » Swap Components.

Easily swapping components using the right-click menu.

Locked components cannot be swapped.

Component Positioning Guide

As you move a component in the design space, a thick green or red line will be displayed, traveling from a point within the component, to a location on the board. This line is called the Optimal Placement Vector, its function is to give an indication of whether the new location is better (green) or worse (red) than the previous location.

The vector has two distinct properties: its proposed target location; and its color.

To determine the locations for each end of the vector, the feature uses the centroid of the polygonal shape defined by the locations of the end points of the connection lines. There are two centroids of interest, one defined by the ends of the connection lines terminating on the component you are moving (the component centroid), the second defined by the other ends of that set of connection lines (the target location centroid).

The Optimal Placement Vector is drawn between these two centroids, with the component end highlighted by a dot. Because it is a relative indicator, when you first click to start moving a component, the vector is always drawn in green. The two centroids are continuously recalculated as you move the component because the connection lines can move from one pad to another as they are automatically re-optimized to maintain the applicable net topology for the moving component. Because of this net re-optimization, the target end of the OPV can jump around as the component is moved. If the centroids move apart and the OPV becomes longer, it may change to red. If the centroids move closer together and the OPV becomes shorter, it may change to green.

The length of the vector is not the only condition used to set the color, the color of the OPV is also affected by the overall length of the connection lines attached to the moving component. If moving the component results in the overall length of the connection lines increasing, then the OPV becomes red. Alternatively, if moving the component results in the overall length of the connection lines decreasing, then it becomes green.

Animation showing how the Optimal Placement Vector changes color to show when the connection line pattern is less optimal
Although the vector length is increasing, it remains green because the overall length of the connection lines is getting shorter. When the component is rotated, the connection lengths increase so the OPV becomes red.

Remember that the OPV is a relative guide, each time you place the component, that new location becomes the starting point for calculations the next time you move that component.

This feature is available only when the PCB.ComponentDrag.ShowAverageHelper option is enabled in the Advanced Settings dialog. The dialog is accessed by clicking the Advanced button on the System - General page of the Preferences dialog.

Found an issue with this document? Highlight the area, then use Ctrl+Enter to report it.

Contact Us

Contact our corporate or local offices directly.

We're sorry to hear the article wasn't helpful to you.
Could you take a moment to tell us why?
200 characters remaining
You are reporting an issue with the following selected text
and/or image within the active document: