Routing a board can be a complex and time consuming process, as you work to position the components and complete the routing. Move that component slightly, shove that routing, re-route those critical nets to avoid potential cross-talk, now see if that bus can be routed through that area. As you route your board, you will be constantly modifying routing that you have already done.
There are two approaches to modifying the routing, you can either reroute, or re-arrange.
Alternatively, you can re-arrange the routing. To re-arrange existing routing, you click and hold on a track segment, and drag it to its new location. Connected track segments will remain connected, at the angle they were previously connected. Dragging also supports some of the Conflict Resolution Modes, including Push, Hug and Push, and Ignore.
Move means to move an object without regard to other objects that connect to it.
Drag means to move an object and have any connected objects remain connected to it.
As well as using one of the Route » Un-Route commands to remove existing routing, it can often be quicker to to select the track segments and delete them. Check out the Strategies for Selecting the Routing section for tips and techniques on selecting routing.
Reroute an Existing Route
There is no need to un-route a connection to redefine its path, simply click the Route button and start routing the new path.
The Loop Removal feature will automatically remove any redundant track segments (and vias) as soon as you close the loop and right-click to indicate you are complete.
You can start and end the new route path at any point, swapping layers as required.
You can also create temporary violations by switching to Ignore Obstacle mode (as shown in the animation below), which you later resolve.
A simple animation showing the Loop Removal feature being used to modify existing routing.
Options that affect Rerouting
There are a number of options that impact on the rerouting behavior, these options are configured in the PCB Editor - Interactive Routingpage of the Preferences dialog.
The Automatically Remove Loops option must be enabled to perform rerouting.
As with Interactive Routing, the Current Routing Conflict Resolution mode will be used.
Use the checkboxes to enable only those modes you wish to use
Press Shift+R to cycle through the enabled modes as you reroute
The Automatically Terminate Routing option is useful, if it is enabled, as soon the new route connects to the existing routing, the redundant loop is removed (as shown in the animation above). If this option is disabled, then the loop is removed when you right-click to release the current route.
Note that there are situations where you may want to create loops, for example power net routing. If necessary, Loop Removal can be disabled for an individual net by editing that net in the PCB panel. To access the option set the panel to Nets mode, then double click on the net name in the panel to open the Edit Net dialog.
Re-arrange Existing Routes
To interactively slide or drag track segments across the board, simply click, hold and drag, as shown in the animation below.
The default dragging behavior is configured in the PCB - Interactive Routing page of the Preferences dialog, as shown in the animation below.
The PCB editor will automatically maintain the 45/90 degree angles with connected segments, shortening and lengthening them as required.
An animation showing track dragging being used to modify the existing routing.
Track Dragging Tips
Change the default dragging behavior using the Unselected via/track and Selected via/track options in the PCB Editor - Interactive Routingpage of the Preferences dialog.
While dragging you can move the cursor and hotspot snap it to an existing, non-moving object such as a pad - use this to help align the new segment location with an existing object and avoid very small segments being added.
During dragging one of the routing Conflict Resolution modes applies, press Shift+R to cycle through the Ignore, Push or HugNPush modes as you drag a track segment.
To convert a 90 degree corner to a 45 degree route, start dragging on the corner vertex.
To break a single segment, select the segment first, then position the cursor over the center vertex to add in new segments.
Existing pads and vias will be jumped, or vias will be pushed if necessary and possible, if Push mode is enabled, as shown in the animation below.
An example of via dragging, with the routing Conflict Resolution mode set to Push.
Improving the Quality of the Routing
The PCB editor includes powerful tools for improving the quality of existing routing. These tools are known as Glossing and Retracing, both are available in the Route menu.
Gloss - focuses on improving the trace geometry, attempting to reduce the number of corners and shorten the overall route length. Gloss preserves the existing trace width and differential pair gap.
Retrace - assumes the overall geometry is satisfactory, focusing instead on verifying that the routing meets the design rules. Where Gloss preserves the existing trace width and pair gap, Retrace changes them to Preferred. Retrace is an excellent tool to use when a design rule has changed, and that change needs to be applied to existing routing.
The animation in the Demonstration of Selection Techniques section below , includes a simple demonstration of glossing.
Strategies for Selecting the Routing
Selection is a core activity in all areas of the design process, including working with existing routing. Whether you're about to gloss or you want to delete some routing, the routes need to be selected first.
Select Within or Select Touching
In the PCB editor, selection can either be objects that are Within the selection rectangle, or Touching the selection rectangle. This is controlled by the direction you move the mouse as you draw the selection rectangle:
Select Within - click and drag a blue rectangle from Left to Right to select all visible, unlocked objects that are completely within the selection rectangle.
Select Touching - click and drag a green rectangle from Right to Left to select all visible, unlocked objects that touch the selection rectangle.
Extending the Selection
A common situation is needing to select many objects that are touching, for example the track segments in a routed net, or the connection lines in an unrouted net. It is relatively easy to select a set of track segments that run parallel to each other using the Select Touching technique just described, but interactively selecting entire routes can be difficult.
This can easily be achieved though, by selecting one or more track segments, and then extending the selection to include touching track segments. This is done using the Tab key, as demonstrated in the video below.
To restrict the selection process to only select connection lines, hold the Alt key as you click, or click and drag.