Design Style:

The Align tool is used primarily during component placement to align parts with each other. It also has functions to align vias to pins and to other vias.

There are already built-in functions in Xpedition to align parts based on their edges and origins, but none that make it easy to align parts based on the location of their pins.

The Align tool uses an approach based on the following ideas :

  • Once it’s built, the PCB does not care what placement grid, if any was used during the design process.
  • PCB Assembly equipment doesn’t care what the placement grid is, as long as the components can be placed using accepted DFM rules.
  • The location of components should depend on functionality and performance, not on an arbitrary placement system meant to suit the designer.
  • The fewer number of jogs in traces leaving component pins, the better. Jogs cause several kinds of electrical performance issues. They may not all be bad, but they are certainly not helping the PCB work better.


This is not to say that other rules regarding component placement on roughly rectangular grids, and aligning components on a grid has no place. It’s just that grid-based placement is not the only way to do it. It makes sense to use a grid in many situations, but not all of them. 

How does it work? 

The Align tool does not have a graphical interface. There is no window. It is made to be run with a hotkey. Depending on what is selected when it runs, it figures out what to do and does it. If a set of objects is selected that it can’t work with, an error message will be displayed alerting the user as to what needs to be done so it can work. If objects are selected that it can’t work with at all, it ignores them and quits without any user intervention. 

Here’s a short video that demonstrates the use of Align. 

The ExactCAD Move With Basepoint tool makes it easy to align a group of many parts (and other design objects) with a pin on another part, if you need to align more than one part at a time. 

All functions:

  • Align a single via to a single pin. Select a pin and a via, then run the Align tool. The via will be aligned to the pin.



  • Two selected vias will be aligned to the two selected pins. Vias will be centered around the centerline between the pins. This works in any part orientation.



  • Align a row of vias to each other. Select a row of vias and then run Align. They will be aligned to the left-most or bottom-most via in the row. Or, if one of the vias is locked, the rest of them will be aligned to it. Alignment will happen along the nearest multiple of 45° axis



  • Align one part to another part using pins as alignment features:

For part-to-part alignment there is a set of rules that determine which part will move and which part will remain in its original location:

– Parts with more pins win over parts with fewer pins. The part with fewer pins will move to align with the part that has more pins.

– If both parts have the same number of pins, the one selected first will remain stationary, and the other one will move into alignment with it.

– Any locked part will remain stationary, and unlocked parts will move into alignment with them. 

– The parts that move will remain separated by same amount as they were before the move. 

– When parts are on opposite sides of the board (top / bottom), they will be aligned with the selected pins directly over/under each other. The first part selected does not move; the second part selected moves. 

These rules may seem complicated at first, but they were designed to be intuitive and become second nature after some practice. 


  • Align two small parts to two pins on a larger part.
  • Align a parallel part to two pins on a larger part. Select all 4 pins and run Align. The smaller part will be placed on the centerline between the two pins of the larger part.
  • Bonus Feature: Align will fill a large pad with vias. It uses the default via assigned to the net of the pad, and will space the vias in such a way that the pad is filled with as many vias as will fit, given the minimum via-to-via spacing rule of that net. This functionality is expanded in the ExactCAD Add Ground Vias tool, with options for choosing different vias, specifying the via span, adding properties to the vias so they can be selected and deleted later if necessary.

    Why is this feature in the Align tool? Just because. When I came up with it, I needed a good place to put it that would be easy and fast to use. It works when only a single pin is selected when Align is run. If the vias can fit, they will be placed. If there is not enough room, nothing will happen.