Interactive Routing

Now reading version 24. For the latest, read: Interactive Routing for version 25

Routing is the process of defining a connective path between the nodes in each net. This path is defined by placing PCB design objects, such as tracks, arcs, and vias, on the copper layers to create a continuous connection between the nodes. Rather than placing these objects one by one to build up the connective path, you interactively route the connection.

In the PCB editor, interactive routing is an intelligent process. After launching the command, click on a pad to select a connection to be routed. The interactive router then attempts to define a route path from that pad, all the way to the current cursor location.

The size of the track that is placed is controlled by the applicable Routing Width design rule, and the clearance from other net objects is controlled by the applicable electrical Clearance design rule. How the interactive router responds to existing objects, such as pads and routing on other nets, depends on the current Routing Conflict Resolution mode. The mode determines whether the router will Walkaround the obstacle, or attempt to Push it, or Stop, or Ignore it.

Cursor guided routing makes complex manual routing around obstacles fast, easy and intuitive. In other words, you create the path of the route with your mouse and the Interactive Router attempts to place the tracks according to that path. This works in accordance with design rules and also with various constraints for track placement and corner types.

Interactive routing can be performed on:

  • A single net – Route » Interactive Routing

  • Two nets configured as a differential pair – Route » Interactive Differential Pair Routinglearn more

  • A set of selected nets – Route » Interactive Multi-Routinglearn more

Interactively routing a connection - after launching the command and clicking on a connection line, the Interactive Router finds a path from the net object to the current cursor location, weaving around existing objects. A click of the mouse button will place all hatched track segments, Ctrl+Click to auto-complete the route.

Monitoring Connectivity during Interactive Routing

The PCB editor includes a net analyzer that constantly monitors the location of all objects in the design space and updates the connection lines when any net-type object is edited. The net analyzer monitors all the objects attached to a net. For example, when a connection is routed, the connection line between those two pads is automatically removed by the net analyzer. If a net is partially routed, then a shorter connection line will be displayed between the two closest route points on the net. 

It does not matter if you choose to ignore the connection line and route the net from/to a different location. As soon as routing is terminated, the net-analyzer runs and removes the connection line if it is no longer required, as shown in the video below.

Even though the connection line connects the pad centers, you are free to route wherever you choose. The net analyzer constantly monitors the routing progress and updates the connection line.
Even though the connection line connects the pad centers, you are free to route wherever you choose. The net analyzer constantly monitors the routing progress and updates the connection line.

Because the arrangement of connection lines is determined by the routing topology design rule, it is possible that the connection line will not attach to the end of the track and instead attach to some other point in the net that is closer to another point in the net. If preferred, connection lines can be forced to the track ends by enabling the Smart Track Ends option on the PCB Editing – General page of the Preferences dialog. The video below demonstrates this. Note that you can force the net analyzer to run and update the connection lines, by performing an edit action on an object belonging to that net. Edit actions include: moving an object, clicking and holding on an object, or double-clicking to display that object's properties.

Note how the GND net connection line is attached to pad 1 instead of the end of the route. Once Smart Track Ends has been enabled and an edit performed, the connection line jumps to the end of the route.
Note how the GND net connection line is attached to pad 1 instead of the end of the route. Once Smart Track Ends has been enabled and an edit performed, the connection line jumps to the end of the route.

To learn more about the connectivity in the PCB design space, refer to the Understanding Connectivity on Your PCB page.

How the Routing is Located in the Design Space

The PCB editor is a grid-based editing environment, the default behavior is for your interactive routing to be placed on the current snap grid. As well as the snap grid, the software includes a number of additional snap features, designed to help you accurately position and align design objects. Together, these features are referred to as the Unified Cursor-Snap System.

The key elements of this system include:

  • User-Definable Grids – available in both Cartesian and Polar formats.

  • Object Snapping – enabling placed objects to pull the cursor into position, based on cursor proximity to that object's snap points (hotspots). Use this to pull the cursor to the center of an off-grid pad, for example.

  • Snap Guides – that can be freely placed and provide a handy visual cue for object alignment.

  • Axis Snapping – a feature to pull the cursor, in either the X or Y direction, so that it axially aligns with a nearby object's hotspot.

Demonstration of the cursor-snap features.

The Snap System options are configured:

  • In the Properties panel, when there are no objects selected, or

  • By pressing Ctrl+E during routing to display the floating controls (as shown in the video above).

Learn more about Working with the Cursor-Snap System

The Basics of Interactive Routing

When you launch the interactive routing command and click on a connection line, the interactive routing engine will add a chain of connected track segments from the nearest existing net object, such as a pad or existing track, along the shortest available path to the current cursor location. 

Those track segments will be hatched, to show that they are proposed segments that have not yet been placed (uncommitted). When you left-click to place those segments, they will become solid. These solid segments are referred to as soft commits – meaning the software recognizes them as segments you wish to retain, but the interactive routing engine may remove them or convert them back to uncommitted (hatched) if your routing path makes them redundant or creates an illegal shape. This behavior is demonstrated in the first video on this page.

Interactively routing a simple board.

When you click on a connection line to start routing, the software will jump to the nearest existing net object. To change which object on that net that has been chosen:

  • Press 9 to switch to the net object at the other end of the connection line. If the location of the object being switched to is not in the current window, the view jumps and centers around the new cursor position.

  • When there are two or more connection lines attached, press 7 to switch to another connection line, leaving the same net object.

  • Press Shift+F1 for a list of in-command shortcuts.

Configuring the Interactive Router

The default settings for interactive routing are configured:

  • In the PCB Editor – Interactive Routing page of the Preferences dialog (), or

  • During interactive routing, in the Properties panel, press Tab to display the panel as you route. Click the Pause icon ( Pause button, displays when the Properties panel is being used, click to return to the workspace) displayed on the screen to return to routing.

The following collapsible sections contain information about the Interactive Routing options and controls:

Controlling the Corner Style

During interactive routing, the shape formed by the tracks and arcs that create a corner is referred to as the corner style. Diagonal corners are the most common, but curved corners (created by placing arcs), are also popular. There are 5 available corner styles, 4 of which also have corner direction sub-modes.

  • Press Shift+Spacebar during routing to cycle through the corner styles, the current style is displayed on the Status bar ( Status bar with the current corner style highlighted) and in the Heads Up display.

  • Press the Spacebar to toggle the corner direction.

  • Alternatively, press Tab to open the Interactive Routing mode of the Properties panel and change the corner style there.

  • Press the 1 shortcut key to toggle between routing with a look-ahead segment or placing all visible segments when you click. In the look-ahead mode, the last segment is displayed as hollow. This segment is referred to as the look-ahead segment and is not placed when you click. It allows you to work out where the previous segment needs to terminate without committing to placing that last segment. 

  • Press the Backspace key to remove the last vertex.

Corner Style Initial Corner Direction Alternate Corner Direction Notes
Track 45 Track 45 corner style Track 45 corner style – alternate corner direction  
Line 45/90 With Arc 45 degree arc corner style 45 degree arc corner style – alternate corner direction Use the ,. keys to interactively change the arc radius, hold Shift to accelerate the radius change.
Track 90 90 degree corner style 90 degree corner style – alternate corner direction  
Line 90/90 Vertical Start With Arc 90 degree arc corner style 90 degree arc corner style – alternate corner direction Use the ,. keys to interactively change the arc radius, hold Shift to accelerate the radius change.
Any Angle Any angle corner style   Use this mode in conjunction with Strong Glossing to perform snake routing.

Miter or Curve the Corners

Corners can be defined using short, straight track segments, or they can be created using one or more arcs. The images below show the two most popular corner styles; Track 45 and Any Angle.

Examples of two of the corner styles, Track 45 and Any Angle, click to enlarge an image. Example of the Line 45/90 corner styleExamples of two of the corner styles, Track 45 and Any Angle, click to enlarge an image.

Note how in the first image the interactive router is maintaining an overall orthogonal/diagonal pattern for the flow of the routing. In the Any Angle style the interactive router is finding the shortest path between the start location and the cursor location – this style of routing is called Snake Routing.

Mitered Corners

The most common routing corner shape is 45 degree mitered (diagonal) corners. Switch to the Track 45 corner mode to route diagonal corners. To ensure that it is not possible to inadvertently create right or acute corners during routing, both interactive routing and interactive sliding include a Miter Ratio option. Enter a positive value equal to or greater than zero. Some examples of the same trace routed with different values of the Miter Ratio option are shown below.

Javascript ID: InteractiveRouting_MiterRation_AD24_5

The Miter Ratio multiplied by the current track width equals the separation between the walls of the tightest U-shape that can be routed for that miter ratio, as shown below.

Sample routing showing how the Miter Ratio is applied

Set the Miter Ratio to zero to create a right- or acute-angle corner with tracks being routed or dragged. In this case, a miter is not created (true zero mitering, as it were) – show example. This feature is in Open Beta and available when the PCB.ZeroMitersRemoving option is enabled in the Advanced Settings dialog. When the option is disabled, a short miter fully covered by adjacent traces is created if Miter Ratio = 0.

  • The Miter Ratio value defined in the Properties panel is used during interactive routing, interactive sliding, glossing and retracing.

  • The default Miter Ratio value used during interactive routing and sliding is configured in the PCB Editor – Interactive Routing page of the Preferences dialog.

  • The default Miter Ratio value used during glossing and retracing is configured in the PCB Editor – Gloss and Retrace page of the Preferences dialog.

Arcs in Corners

Many designers require curved corners. Curved corners can be routed with either the Line 45/90 With Arc corner mode or the Line 90/90 With Arc corner mode. The Line 90/90 With Arc corner mode will force a 90-degree corner though, so use the Line 45/90 With Arc corner mode if the route needs to continue at 45 degrees. The arc can be interactively resized during routing using the  Comma key, used to decrease the arc radius and  Fullstop key, used to increase the arc radius keys (hold Shift to accelerate the resizing process).

When a curved corner style is selected during interactive routing, the glossing engine will favor a tangential path around existing curved objects. That is, the arc placed to create the corner is located and radially sized to exactly curve around the existing object. This is designed to form smooth routing through a sea of curved shapes, for example, the escape via pattern under a BGA. If the Routing Gloss Effort is set to Strong it can result in the straight track segments between the arcs being placed at an angle other than horizontal or vertical.

If you require all of the straight track segments to placed exactly horizontal or vertical, with curved corners, it can be more efficient to route with diagonal corners and then gloss the routing to curve the corners. This is achieved by setting the Hugging Style set to Rounded, and then running the Retrace Selected command. Retrace is used rather than the Gloss Selected because Retrace does not attempt to shorten the route path and reduce the number of corners, instead it focuses on glossing along the same path, in accordance with the current design rule settings. Glossing is discussed below.

Curving the corners of existing routing.

Snake Routing

As well as using the arc corner modes as just discussed, a style of smooth flowing, point-to-point routing can also be achieved by setting the corner style to Any Angle and the Routing Gloss Effort to Strong. This creates what is referred to as Snake Routing. Use this when the routing requires any angle routes to flow through multiple curved objects, as shown in the example video below.

Snake routing, with the corner style set to Any Angle.

Automatic Connection Completion

The Interactive Router is able to attempt automatic completion (Auto-Complete) of connections to the target pad, hold Ctrl and Left Click to instruct the Interactive Router to attempt to complete the current connection. This can make routing much faster than placing individual track segments, however, there are some limitations to the Auto-Complete feature, as follows:

  • The start point and target pad must reside on the same layer.
  • The route can be completed in accordance with design rules (provided that routing conflicts are not being ignored).

Auto-Complete is available at any time, and you can even Ctrl+click directly on a pad or connection line to route it, there is no need to select it first. You can use Auto-Complete on connections that are partially routed as well. To do this, Ctrl+click on the end of the last track segment, or the remaining connection line, to complete it to the target.

If a connection cannot be auto-completed, the tool will return to the last used interactive routing mode.

Subnet Jumpers

One of the great strengths of an FPGA-based design is that the routing challenge can be resolved in both the PCB and the FPGA, potentially resulting in fewer routing layers and a simpler PCB. For this to be a reality, the design system must support both PCB-driven and FPGA-driven pin swaps. Altium Designer supports pin swapping in the PCB editor, from simple 2-pin components through to high pin-count FPGAs. 

To support pin swapping at any stage of the design process, including on the routed PCB, the PCB editor can add and remove small routing connectors, called subnet jumpers. A subnet jumper is a short segment of track that the software recognizes as an element that can be easily placed and removed; either manually via the Add and Remove Subnet Jumper commands in the Route menu, or automatically by the routing engine if you route to a swappable pin during interactive routing.

Javascript ID: SubnetJumpers

Incoming routing approaches a high pin-count FPGA.

The PCB editor's Automatic Net/Pin Optimizer is used to find the best pin swaps, de-tangling the connection lines.

The Add Subnet Jumpers command is used to complete the routing.

Manually Placed Subnet Jumpers

When nets still include a short length of connection line, the routing can be completed by running the Route » Add Subnet Jumpers command. When this command is executed, the Subnet Connector dialog appears, as shown below. After a value is entered into the dialog and the Run button clicked, every connection line on the board is examined, and any whose length is no greater than the Maximum Subnet Separation length is replaced by a track segment. This track segment will have the same width as the narrower of the two segments being joined. Note that the angle that the subnet jumper is placed at is defined by the locations of the connection line end-points. 

Specify the maximum length allowed for subnet jumpers.Specify the maximum length allowed for subnet jumpers.

  • Run the Route » Remove All Subnet Jumpers command to remove all existing subnet jumpers from the board. 
  • To support the Add and Remove Subnet Jumpers commands, the Edit » Slice Tracks command can be used to slice existing routing.

Subnet Jumpers Placed during Interactive Routing

If the net being routed is configured to be swappable, the routing engine will recognize and highlight all potential routing targets. If you are routing toward an existing track segment (rather than a pad) and you elect to route to a swappable track segment rather than the same-net track segment, the Interactive Routing engine automatically adds a subnet jumper, as demonstrated in the video below.

A subnet jumper is automatically added during interactive routing if the target is the swappable route, rather than the same-net route.

  • To perform pin swapping, the Pin Swapping option must be enabled. Press Tab while routing to display the Interactive Routing mode of the Properties panel, and configure the option.
  • The length of a subnet jumper placed during interactive routing is defined by the Subnet Jumper Length option in the Properties panel for interactive routing.

Resolving Subnet Jumpers into Standard Tracks

To convert a subnet jumper to a regular track segment, click and hold on it briefly, then release the mouse button (without moving the mouse). The subnet jumper will be replaced by a standard track segment, as shown towards the end of the video above. To use the same approach to convert multiple subnet jumpers in a single action, select the subnet jumpers first and then click and hold on one of the selected subnet jumpers. To select all subnet jumpers on the board, run the query IsSubnetJumper in the PCB Filter panel with the Select checkbox enabled.

Interactive Routing and Interactive Sliding Options

Whether you're interactively routing a connection or dragging an existing route to make way for more routing, the same set of routing technologies are applied. This section summarizes the options available in the Interactive Routing and the Interactive Sliding modes of the Properties panel. The default settings for many of these options are configured in the PCB Editor – Interactive Routing page of the Preferences dialog.

Learn more about Modifying Existing Routes

Glossing – Smoothing the Routes

To help produce neat routing with the minimum number of corners, the PCB editor includes a Glossing tool. Glossing is a sophisticated set of algorithms developed specifically to produce cleaner routing and pad entries, that respect the intent of the applicable design rules. Glossing attempts to reduce the path length, improve the shape of corners and reduce their number, generally resulting in neater routing created from fewer segments. Glossing also leaves sub-net jumpers as they were, and when there are room-based width rules, width changes at the boundary are respected. As you move the cursor around and define a new interactive route path, all of the yet-to-be-committed routing is also automatically glossed.

The Glossing engine also includes a Retrace Selected command. Use this when you need to update selected routes to the changes you have made to settings in the routing rules. With Retrace, you can "fatten up" selected power routing, or update the selected differential pair to new width and gap settings.

Glossing is applied during: Interactive Routing, Interactive Sliding, and by running the Gloss Selected or Retrace Selected commands.

Glossing has three settings: Off, Weak, and Strong. Use the Ctrl+Shift+G shortcut to cycle through the settings during interactive routing or interactive sliding, or press Tab to open the Properties panel and select the setting:

  • Off – in this mode, glossing is essentially disabled. Note, however, that cleanup is still run after routing/dragging occurs to eliminate, for example, overlapping track segments. This mode is typically useful at the end stage of board layout when the ultimate level of fine-tuning is required (for example, when manually dragging tracks, cleaning pad entries, etc.).
  • Weak – in this mode, a low level of glossing is applied, with the Interactive Router considering only those tracks directly connected to or in the area of the tracks that you are currently routing (or tracks/vias being dragged). In other words, the geometry of the trace is mainly preserved, just locally smoothed. This mode of glossing is typically useful for fine-tuning track layout or when dealing with critical routes.
  • Strong – in this mode, a high level of glossing is applied with the Interactive Router looking for shortest paths, smoothing out tracks, etc. This mode of glossing is typically useful in the early stages of the layout process when the aim is to get a good amount of the board routed quickly. Note that when Strong glossing is combined with one of the arc in corner modes, it also allows any-angle traces. The assumption here is that since the designer is curving the corners they will be comfortable with non-orthogonal routing between corners.

Along with the current Gloss Effort setting, Glossing also obeys these settings:

  • Corner Style
  • Hugging Style (during Interactive Sliding and also when the Gloss Selected or Retrace Selected commands are run)
  • Miter Ratio
  • Min Arc Ratio

Using these options, Glossing controls how tightly a corner is created and how the curved shape is formed in the route around a curved obstacle.

To control glossing effort during interactive routing or sliding, there are two options: Gloss Effort (Routed) for the route being placed or dragged and Gloss Effort (Neighbor) for the adjacent routes that are impacted by the current interactive routing or sliding. Examples of different gloss effort modes for these options are shown below.

Javascript ID: InteractiveRouting_GlossEffortRouted_AD24
Javascript ID: InteractiveRouting_GlossEffortNeighbor_AD24

Existing routing can be glossed by running the Route » Gloss Selected command. Use this to your advantage to perform design changes, such as converting mitered corners to arcs, by configuring the Corner Style before running the command.

Learn more about Glossing & Retracing of Existing Routes

Temporarily Inhibit Glossing – Glossing is a core feature for interactive routing and sliding, but there will be situations where it prevents you from achieving the route shape you desire. Glossing can be temporarily inhibited during routing by holding the Ctrl+Shift shortcut keys; when they are released, glossing will be re-enabled at the current setting.

Performing a Gloss

The glossing tool is run:

  • During Interactive Routing – in accordance with the current gloss settings, defined in the PCB Editor – Interactive Routing page of the Preferences dialog or the Interactive Routing mode of the Properties panel.
  • During Interactive Sliding – in accordance with the current gloss settings, defined in the PCB Editor – Interactive Routing page of the Preferences dialog or the Interactive Sliding mode of the Properties panel.
  • On the currently selected routing – choose the Route » Gloss Selected command from the menus or press the Ctrl+Alt+G keyboard shortcuts, to gloss in accordance with the gloss settings defined in the PCB Editor – Gloss and Retrace page of the Preferences dialog or the Gloss And Retrace panel.
  • After ActiveRoute – by enabling the Gloss Results option in the PCB ActiveRoute panel.

Inhibit Glossing During Routing and Sliding

There may be times when you want to temporarily turn off glossing. Glossing can be inhibited by pressing and holding the Ctrl+Shift shortcut keys – as soon as the keys are released glossing resumes at the current Routing Gloss Effort setting. Note that the status bar will not reflect this state; it will continue to display the last selected state.

Controlling the Routing Width and Via Size as You Route

When you run the Interactive Routing command and click to start routing, a series of track objects are created from the nearest pad up to the current cursor location. The width of these tracks is determined by the current Track Width Mode setting, which is displayed on the status bar during routing (shown in the video below).

There are four possible Routing Width Source settings:

  • the designer's preferred width, referred to as User Choice (which must be within the range allowed by the applicable Routing Width design rule); or
  • the Minimum, Preferred, or Maximum value of the applicable Routing Width design rule.

The selection of User Choice / Min rule / Preferred rule / Max rule is stored in and can be selected using the Track Width Mode drop-down on the PCB Editor – Interactive Routing page of the Preferences dialog.

Changing the Track Width Mode While Routing

You can cycle through the four routing width options by pressing the 3 shortcut key during interactive routing, as shown in the video below. The current mode is displayed on the Status bar. If you forget any of the in-command shortcuts, press Shift+F1 to display a list while running the command.


To change the track width source while routing, press the 3 key on the keyboard. Press Shift+W to select a different value for the User Width.

When you change the track width mode, you move between the values defined in the applicable design rule (Min/Preferred/Max), and User Choice.

If you select User Choice, the track width will be:

  • the width of existing routing if the Pickup Track Width from Existing Routing option is enabled and the click location is on an existing route, or
  • the last-used User-Choice width if it falls within the range defined by the applicable rule for the net you are routing. If it does not, the width will be clipped to the nearest value that is within the range allowed by the rule.

Changing the User Choice Routing Width While Routing

Choose Width dialog

To change the width while routing, the following shortcuts are used. Note that if the Interactive Routing Width Sources options were set to one of the Rule-based width options, that option is changed to User Choice whenever one of these shortcuts is used.

  • Shift+W – use this shortcut during routing to open the Choose Width dialog. Click on a new width to close the dialog and continue routing at the chosen width. Available widths can be edited in the Favorite Interactive Routing Widths dialog acces sed by clicking the Favorite Interactive Routing Widths button on the PCB Editor – Interactive Routing page of the Preferences dialog or by using the O keyboard shortcut when in the PCB editor's design space then choosing the Favorite Routing Widths entry on the subsequent pop-up menu.
  • Tab – use this shortcut if the required width is not defined as a favorite. Pressing Tab will open the Properties panel in Interactive Routing mode. The current editing session will pause and the panel will open with the current Width selected. Type in a new width value then press Enter to continue routing at the new width. Alternatively, after typing in a new width value, click the pause button overlay to resume routing. To resume routing without editing the value, press Esc.

Remember, if you use one of these techniques to change the width during routing, the Track Width Mode is automatically changed to User Choice.

The routing track width must be between the minimum and maximum values specified in the applicable Routing Width design rule. If you attempt to change the width to a value that is outside the range defined by the rule's Minimum and Maximum settings, the software will automatically clip it back to within Min-Max range.

Changing Layers and adding a Via While Routing

There are two approaches to interactively change layers during routing:

  • Press the * key on the numeric keypad. Each press of that key will move you down to the next available signal layer.
  • Use the Ctrl+Shift+Wheel Scroll shortcut combination. Hold the Ctrl+Shift keys then scroll the mouse wheel forwards to move down through the available signal layers; scroll the mouse wheel backwards to move up through the available signal layers. Note that this shortcut can be used at any time to change layers. If you are not currently routing, this shortcut combination will step through all enabled layers.

A via is automatically added at the last corner where the last two segments meet. As with the routing width, the size of the via is determined by the current Via Size Mode as shown in the video below. The mode can be pre-configured in the Interactive Routing Width Sources option.


Use the Ctrl+Shift+Scroll shortcut to change layers, and the 4 shortcut key to cycle through the via size choices.

Changing the Via Size Mode While Routing

As with the routing width, there are four possible options for selecting the via size during interactive routing:

  • the designer's preferred via size (User Choice); or
  • the Minimum, Preferred or Maximum value of the applicable Routing Via Style design rule.

You can cycle through the four via size options by pressing the 4 shortcut key during interactive routing. The current mode is displayed on the Status bar as shown in the video above. 

Changing the User Choice Via Size While Routing

To change the User Choice via size while routing:

  • Shift+V – press this shortcut during interactive routing to open the Choose Via Size dialog. The dialog will automatically list all via sizes currently used in the design. Select a via size then click OK to make that the User Choice via size.

Using this feature will set the Via Size Mode option, under the Interactive Routing Width Sources region of the PCB Editor – Interactive Routing page of the Preferences dialog, to User Choice.
  • Tab – as well as changing the track width during routing, when you press Tab to open the Properties panel in Interactive Routing mode you can also change the Via Diameter. As with the track width, the size you enter must be between the minimum and maximum values defined in the applicable Routing Via Style design rule.

Changing the Via Type While Routing

If there are multiple Via Types defined, during a layer change there may be more than one Via Type available for the layers being spanned. An example would be when there is a blind via available between the top and mid1 layers and there is also a top-bottom Via Type available. If you are performing a layer change and there is more than one Via Type available, you can press the 6 shortcut to cycle through the possible Via Type options (or press the 8 shortcut to display a list). Refer to the Defining the Via Types page for more detailed information. Additionally, the last-used via stack is retained as the default for the next net you route. The default via stack is retained for the current editing session only.

Stacked µVias being placed during a layer change from L1 to L4. The Interactive Routing mode of the Properties panel displays the Via Type(s) that will be placed. Press 6 to cycle through the possible via stacks; press 8 to display a list of possible via stacks.
Stacked µVias being placed during a layer change from L1 to L4. The Interactive Routing mode of the Properties panel displays the Via Type(s) that will be placed. Press 6 to cycle through the possible via stacks; press 8 to display a list of possible via stacks.

Via Behavior when using the Look Ahead Routing Segment

During interactive routing the track segments that are yet to be placed are shown as hatched and the committed segments are solid. There is another mode, where the last segment connected to the cursor is displayed as hollow (an outline), this segment is referred to as the Look Ahead segment. When you are routing in Look Ahead mode all hatched segments are placed when you click, but the hollow segment is not. The idea is that you can use the Look ahead segment to accurately place the previous segment(s), without committing the last segment. Press the 1 shortcut during routing to toggle the Look Ahead mode on and off.

If you toggle the Look Ahead mode on during a layer change the via will jump from the cursor back to the previous corner, because the Look Ahead segment will not be placed when you click. The video below demonstrates the behavior.

If you press 1 to toggle the Look Ahead mode on and off during a layer change, the via will jump back to the end of the last ready-to-place segment.If you press 1 to toggle the Look Ahead mode on and off during a layer change, the via will jump back to the end of the last ready-to-place segment.

Controlling SMD Pad Entries

The SMD To Corner and SMD Entry design rules can impact the routing process. You will need to set up the necessary design rules before starting the routing process so that you can control how tracks enter and exit an SMD pad. Open the PCB Rules and Constraints Editor dialog (click Design » Rules from the main menus) to create and configure these design rules.

SMDToCorner and SMDEntry design rules

In the SMD to Corner design rule, the distance to corner value should be greater than the width of the track or the applicable clearance rule (whichever is greater). If it must be less than that, there are three ways you can approach this:

  • Press the Spacebar while performing the pad entry. This can help align the last track segment along the pad center.
  • Commit the routing close to the pad then perform the pad entry without glossing (glossing can be temporary disabled by holding down Ctrl+Shift).
  • If performing the pad entry with more than one possible entry, move the mouse inside the pad. That allows you to choose where you want your SMD entry. 

For the SMD Entry rule, the Side of the pad is the longer edge. The Side option in the design rule is only applied when the pad SideLength > 2 * EndLength. This is done because most SMD discretes have almost-square pads, and for these devices it is often desirable to route into any edge of the pad.

Trace Centering

This feature is in Open Beta and available when the PCB.EnableTraceCentering option is enabled in the Advanced Settings dialog.

A common desire of many designers is to center the routes when they pass between pads or vias whenever possible. The current behavior of the routing engine is to place track segments at the minimum allowed clearance defined in the design rules, leaving the task of spreading or centering the routes between the pads.

The trace centering feature helps with the centering process by adding an additional clearance between the net being routed or dragged and existing pads/vias. The routing engine understands that this additional clearance is desired rather than required, so it can take some or all of it back if needed, for example, when pushing a second or third route between the existing pads/vias. If the routing engine is required to take back some of the clearance, it will take it from both sides of the routing so that it remains centered where possible.

The trace centering behavior can be configured using the options available on the PCB Editor – Interactive Routing page of the Preferences dialog and the Properties panel during interactive routing.

  • Apply Trace Centering – enables the trace centering functionality. When enabled, the following options are available to configure the functionality:
    • Adjust Vias – when the option is enabled, vias will be pushed to maintain the additional clearance where possible.

      To prevent vias from being pushed by trace centering, you can either:

      • disable the Adjust Vias option. In this case, centering will not be applied between unlocked vias, or
      • disable the Allow Via Pushing option. In this case, vias will not be pushed (even to ensure the minimum clearance from the Clearance constraint).
    • Added Clearance Ratio – a multiplier of the applicable clearance, which is then added to the clearance. For example, if the applicable clearance is 0.15mm, setting the option to 2 would instruct the routing engine to clear existing pads and vias by 0.15 + 2*0.15 = 0.45mm where possible. The routing engine can then reduce this clearance down to the specified clearance if required.

Trace centering options for interactive routing in the Preferences dialog
Trace centering options for interactive routing in the Preferences dialog

Trace centering options for interactive routing in the Properties panel
Trace centering options for interactive routing in the Properties panel

Additional clearance can be added around pads and vias to center the routes.

  • This feature is available in all routing modes, including Any Angle. It is also available during interactive differential pair routing and interactive sliding.
  • To disable trace centering when interactively sliding a trace, you can use the Disable Trace Centering When Dragging option in the Dragging region of the PCB Editor – Interactive Routing page of the Preferences dialog or in the Properties region of the Properties panel for interactive sliding. When this option is enabled, trace centering does not apply during the interactive sliding of traces even if the feature's main Apply Trace Centering option is enabled.

Routing Auto-shrinking

This feature is in Open Beta and available when the PCB.Routing.EnableAutoShrinking option is enabled in the Advanced Settings dialog.

In cases when a trace being routed using the interactive router cannot be routed between obstacles with the currently chosen routing width, the auto-shrinking feature allows to automatically shrink the width to a value that would allow routing of the trace in this location (provided that this shrunk trace would not violate the minimum allowed width from the corresponding constraint). Enable the Auto Shrinking option on the PCB Editor – Interactive Routing page of the Preferences dialog and the Properties panel during interactive routing to enable the feature.

Note that auto-shrinking is not applied in Ignore Obstacles and Stop At First Obstacle routing conflict resolution modes. Learn more about Available Routing Conflict Resolution Modes.

Automatically Changing the Routing Width As You Route

A common challenge with modern component technology is needing to route a net at different widths as the routing travels across the board. For example, routing into or out of a BGA will often require narrower escape routes, switching to the preferred width at the edge of the BGA footprint. 

This can be achieved manually during interactive routing using the techniques described previously on this page. You can also automate this width-switching behavior by adding a placement room and a room-based routing width rule. Once this has been done, tracks will automatically neck and expand as the room is entered or exited.

The feature works by:

  • Defining a Placement Room rule for the region of the board that requires narrower routes.
  • Defining a Width Constraint rule of a higher priority that defines the width of the routes within the room. This rule will use the TouchesRoom scope as discussed below.

Once this has been done, the width will change automatically as you route into or out of the placement room as shown in the videos below.

Width rules being obeyed Track segments sized video

Width rules are obeyed and track segments are intelligently sized as the room boundary is crossed.

Room-based routing requires a placement room to be defined first. A placement room is also a design rule. While you can create the rule then define the room from the design rule dialog, it can be more efficient to do it the other way around, interactively create the room; Altium Designer creates the design rule for you.

Creating the Room Rule

The Design » Rooms submenu has a number of room definition commands.

Rooms are a useful feature for controlling where components are placed and also for controlling what rules are applied within that area of the board.Rooms are a useful feature for controlling where components are placed and also for controlling what rules are applied within that area of the board.

A room created around selected components will result in the following:

  1. A Component Class of the selected components is created. Review the class (Design » Classes) and update the Component Class Name as required.
  2. A Placement Room Definition design rule is created. The rule is scoped to target the Component Class created in step 1. If you changed the Component Class name, the rule scope (Full Query) must be updated to match.
  3. The Placement Room Definition design rule is also automatically named. Update the name as required and take note of the name because the room will be referenced in other design rules by its Name.
  4. If required, resize the room. To do this, click once to select it then click and hold on a vertex to move a corner or an edge. After clicking on a vertex to move it, you can also press Shift to perform a symmetrical resize.

In this example, the rule has been scoped to target a specific BGA footprint ('BGA50P18X18-180') rather than a component class.In this example, the rule has been scoped to target a specific BGA footprint ('BGA50P18X18-180') rather than a component class.

A Placement Room Definition design rule is normally scoped to target one or more components. In this situation where it is ultimately being used to control the routing within the area defined by the room, you do not actually have to scope it to target specific components. For example, the scope of the rule (Full Query) could be set to All and the routing would still behave as required. The advantage of scoping it to target the component(s) within it is that if the component(s) needs to be moved, the Design » Rooms » Move Room command can be used to move the room and the components together.

Creating the Room-based Routing Rule

Once the room that defines the area requiring a different routing width has been defined, the routing width rule can then be created. The image below shows an example of a Routing Width rule that is scoped to instruct the PCB editor to set the routing width to 0.075mm whenever the routing touches the room named Room_BGA. Altium Designer's interactive routing engine will automatically terminate the current track segment and start a new segment at the room boundary to satisfy a rule such as this.

A Routing Width design rule scoped to set the width of all nets to 0.075mm within the room Room_BGA. Note that this rule appears first in the tree indicating that it is the highest priority routing width rule.
A Routing Width design rule scoped to set the width of all nets to 0.075mm within the room Room_BGA. Note that this rule appears first in the tree indicating that it is the highest priority routing width rule.

Learn more about the TouchesRoom and WithinRoom query keywords

Connecting Two Nets with a Net Tie Component

It is not uncommon to need to intentionally connect two different nets. An example could be when you need to connect an Analog ground and a Digital ground in a controlled way. This is achieved by connecting the two nets through a Net Tie component. A Net Tie component is nothing more than a controlled short circuit, allowing you to decide the location on the board where the nets connect.

The challenge with routing towards a Net Tie pad is the rules engine will see that a violation is about to occur, and prevent you from routing to the Net Tie pad.

  • To resolve this, switch the Routing Mode to Ignore Obstacle.

To route in to a Net Tie, switch the Routing Mode to Ignore Obstacle.

Learn more about Intentionally Connecting Two Nets

Tracing an Existing Shape with the Interactive Router Follow Mode

A common requirement during routing is to place a route so that it follows an existing shape or contour. The contour could be an obstacle, a cutout or the board edge, or an existing route.

Rather than having to route "against" the contour using careful and accurate mouse movements and click actions to ensure the new route hugs the contour, in Follow mode, you click to nominate the contour then move the cursor along the contour to define the route direction. In Follow mode, the interactive router will add track and arc segments so that the new route follows the contour in compliance with applicable design rules. This feature is particularly useful when placing curved routes.

To use the feature:

  • Launch interactive routing, click to pick a connection to route and switch to the required corner style (Shift+Spacebar).
  • To follow a contour, position the cursor over the required object and press Shift+F. The Interactive Router will detect the object under the cursor and switch to Follow Mode.
  • Move the cursor in the required direction; the software will automatically place track and arc segments to follow the contour in that direction.
  • Left-click to place the Follow segments and drop out of Follow mode.
  • Complete the route as required.

Available Routing Conflict Resolution Modes

As mentioned, how the interactive router responds to objects already in the PCB workspace, such as pads on other nets, depends on the current Routing Conflict Resolution mode. Configure which conflict resolution modes are available during routing on the PCB Editor – Interactive Routing page of the Preferences dialog.

Conflict resolution modes include:

  • Ignore Obstacles – ignore existing objects (routing can be freely placed allowing the track to pass through obstacles while routing). Violations are highlighted.
  • Push Obstacles – push existing tracks and vias to make room for the new route. If this mode cannot push an obstacle without causing violation, an indicator appears to show the route is blocked.
  • Walkaround Obstacles – attempt to find a path around existing objects such as tracks, pads and vias. The clearance to other objects is defined by the applicable Clearance design rule. If this mode cannot walkaround an obstacle without causing violation, an indicator appears to show the route is blocked.
  • Stop At First Obstacle – in this mode, the routing engine will stop at the first obstacle that gets in the way.
  • Hug And Push Obstacles – in this mode, the routing engine will closely follow existing objects and only push them when there is insufficient room for the track being routed. If this mode cannot hug or push an obstacle without causing violation, an indicator appears to show the route is blocked.
  • AutoRoute on Current Layer – this mode applies auto-router intelligence to the interactive router, automatically selecting between pushing and walking around to give the shortest overall route length.
  • AutoRoute on Multiple Layers – this mode applies auto-router intelligence to the interactive router, automatically selecting between pushing, walking around or switching layers to give the shortest overall route length.
The AutoRoute Current Layer and AutoRoute MultiLayer modes are only available when performing single track routing, and not available when routing differential pairs or multiple traces.

The current Conflict Resolution mode is displayed on the Status bar at the bottom of Altium Designer. Use the Shift+R shortcut keys to cycle through the available modes during interactive routing.

Status bar showing Conflict Resolution Mode

The available modes are determined by enabling the corresponding options in the Routing Conflict Resolution region on the PCB Editor – Interactive Routing page of the Preferences dialog. The current routing conflict resolution mode is reflected (and can also be selected directly) through the Current Mode field located below these options.

Dynamic Display of Clearance Boundaries During Routing

Have you ever wondered why a route won't fit through a gap during interactive routing? Is it an incorrect rule constraint or is the net being targeted by the wrong rule? Designed to help interpret and understand the impact of design rules, the dynamic display of clearance boundaries feature shows just how much space is available during interactive routing.

The Display Clearance Boundaries feature has two modes: either display the clearance boundaries as a shaded, no-go area defined by the existing objects + the applicable clearance rule around all objects on the entire PCB; or reduce the clearance display area to a circular zone around the cursor.

The clearance around existing workspace objects can be displayed dynamically as you route. Use the Ctrl+W shortcut to enable/disable during routing.
The clearance around existing workspace objects can be displayed dynamically as you route. Use the Ctrl+W shortcut to enable/disable during routing.

  • The Ctrl+W shortcut is used to launch Interactive Routing, and can then be used again to toggle the Display Clearance Boundaries feature on or off during routing.
  • Press Tab during interactive routing to open the Interactive Routing mode of the Properties panel, where all of the interactive routing options can be configured.

Enabling the Dynamic Display of Clearance Boundaries

Enable the Display Clearance Boundaries option on the PCB Editor – Interactive Routing page of the Preferences dialog.

Enable the option on the PCB Editor – Interactive Routing page of the Preferences dialog.
Enable the option on the PCB Editor – Interactive Routing page of the Preferences dialog.

  • When the Display Clearance Boundaries option is enabled, the no-go clearance area defined by the existing objects + the applicable clearance rule is displayed as shaded polygons within a local viewing circle as you interactively route.
  • If the Reduce Clearance Display Area option is disabled, the no-go clearance area is displayed for the entire layer as shown in the video below.

The no-go area can be displayed for all copper objects on the current layer, if preferred.
The no-go area can be displayed for all copper objects on the current layer, if preferred.

Clearance boundaries can also be displayed during Interactive Differential Pair Routing and Interactive Multi-Routing. The display of clearance boundaries is available in all routing modes except Ignore Obstacles.

Automatic Loop Removal

Altium Designer provides support for Loop Removal when interactively routing your nets. As you route there will be many instances where you need to change some of the existing routing. Rather than attempting to change the existing routing using a drafting type approach of clicking and dragging track segments, an existing route path can be redefined by simply routing a new path. Start interactively routing anywhere along the existing route path, route the new path, returning to meet the old path where required. As soon as the new path meets the existing path, all segments in the redundant loop are automatically removed if the Automatically Remove Loops option is enabled (typically this option is enabled).

To re-route, simply route the new path. When the new route comes back to meet the existing route, a loop is created. Altium Designer will automatically remove this if Loop Removal is enabled.
To re-route, simply route the new path. When the new route comes back to meet the existing route, a loop is created. Altium Designer will automatically remove this if Loop Removal is enabled.

  • Note that certain nets may require loops (multiple paths to the same point), such as a power or ground net. For these nets, the Automatically Remove Loops feature can be selectively disabled by double-clicking on the net name in the PCB panel (set the panel mode to Nets) to open the Edit Net dialog in which the Remove Loops option can be turned off for only that net.  
  • Loop Removal – press the Shift+D shortcut while routing to switch to allow loops mode. The interactive router will remain in this mode until toggled off (toggle feature only available during interactive routing). Existing loops will be retained if loop removal is re-enabled and a net containing loops continues to be re-routed.
  • When the Remove Loops With Vias option is enabled in the Properties panel for interactive routing and there is a direct via-to-pad connection, the via will be removed if deemed no longer needed after loop removal.

    This feature is in Open Beta and available when the Legacy.PCB.Routing.LoopRemoval option is disabled in the Advanced Settings dialog.

Feedback During Interactive Routing

It is essential to know the name of the net or the current width setting as you route a net. This information, along with a wealth of other useful details, is available in the Heads-Up display and on the Status Bar during routing.

Heads-Up display and Status Bar information during interactive routing:

  • Current design space location and snap grid setting

  • Object hotspot snapping: off / on for current layer / on for all layers

  • Current track corner mode

  • Current routing conflict resolution mode

  • Source of routing width

  • Source of routing via style

  • Name of via type that will be used

  • Current gloss strength

  • Name of net

  • Overall route length

  • Dimensions of routing segment being placed

Press Shift+H to toggle the Heads-Up display off and on. Configure the display content, color, and fonts in the PCB Editor – Board Insight Modes page of the Preferences dialog.

Other Interactive Routing Options and Features

There are a number of other options for the interactive router that are configured on the PCB Editor – Interactive Routing page of the Preferences dialog. It is important to understand the role of these options to get the maximum benefit from the Interactive Router.

Automatically Terminate Routing

  • Enable this option to automatically drop the current net when the target pad is reached. If this option is not enabled, use the Right Mouse button or Esc key to drop the current connection (typically this option is enabled).

Routing Gloss Effort

  • As the cursor is moved during interactive routing, the routing engine continually attempts to find the shortest path from the last click location up to the current cursor location. How well it can smooth the routing and reduces the number corners is determined by the Routing Gloss Effort.
  • The current Routing Gloss Effort setting is displayed on the Status bar. Use the Ctrl+Shift+G shortcut to cycle the setting. Note that the stronger the setting, the fewer corners in the final route. The current mode is shown in the Heads Up display and on the Status bar. 
  • Gloss can also be temporarily inhibited during interactive routing while holding the Ctrl+Shift keys.
  • Glossing is a calculation and an intensive task that runs in the background. It can affect the performance of the Interactive Router particularly when routing multiple nets simultaneously. The stronger the Gloss setting, the more time it takes to perform the calculations.

Look Ahead Behavior

  • During interactive routing for the net currently being routed, the track segments are either displayed as hatched or hollow (empty). All hatched segments are placed with the next mouse click.

  • The hollow segment is called the Look Ahead segment. Its purpose is to allow designers to plan ahead, i.e. to consider where the next segment might be placed without needing to commit to it. The Look Ahead mode is toggled on and off using the 1 shortcut key (while routing).

The hollow or empty segment is called the Look Ahead segment. Use it to plan where future segments will be placed. Press the 1 shortcut during routing to toggle the Look Ahead mode on and off.
The hollow or empty segment is called the Look Ahead segment. Use it to plan where future segments will be placed. Press the 1 shortcut during routing to toggle the Look Ahead mode on and off.

Shortcuts Available During Interactive Routing

  • Use * on the numeric keypad to switch to the next available routing layer and insert a via.
  • Hold Ctrl+Shift while scrolling the mouse wheel to cycle to the next available routing layer and insert a via. Each mouse wheel click moves one layer.
  • Use Shift+R to cycle through the available routing conflict resolution modes.
  • Use Shift+Spacebar to cycle available corner modes (learn more). For the arc in corner options, use the "," and "." keyboard buttons to decrease or increase the arc size.
  • Spacebar toggles the direction of the last corner.
  • Use Backspace to "rip up" the last-placed segment(s).
  • Use Shift+W to open the Choose Width dialog to change the routing width.
  • To switch to the next available signal layer and insert a via:
    • Press the * key on the numeric keypad, or
    • Use the Ctrl+Shift+Wheel Scroll shortcut combination.
  • If you click to start routing from a thru-hole pad or a via and realize you are on the wrong layer, press the L shortcut to step through the available signal layers without adding a via.
  • Use Ctrl+Click to instruct the interactive router to attempt to automatically complete the current route.
  • Press Shift+F1 while routing to display the interactive routing shortcuts.
  • Commands available during a layer change are: 
    • Use Ctrl+L to open a list of available layers then click to select the target layer.
    • Use the 1 to 10 number pad keys to switch immediately to that layer number.
    • Open the Properties panel to display a Z-plane view of the via that will be used for the layer change.

For a complete list of shortcuts for all of the editors, refer to the Shortcut Keys page.

Where to Next?

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content