R Reference

RATSNEST | RECT | REDO | REMOVE | REMOVEMODEL | RENAME | REPLACE | REPOSITION | RIPUP | ROTATE | ROUTE | ROUTEDIFF | ROUTEMULTI | RUN

RATSNEST

Function

 Calculates the shortest possible airwires and polygons.

Syntax

 RATSNEST

 RATSNEST signal_name ..

 RATSNEST ! signal_name ..

See also SIGNAL, MOVE, POLYGON, RIPUP.

The RATSNEST command assesses the airwire connections in order to achieve the shortest possible paths, for instance, after components have been moved. After reading a netlist with the SCRIPT command, it is also useful to use the RATSNEST command to optimize the length of airwires.

The RATSNEST command also calculates all polygons belonging to a signal. This is necessary in order to avoid the calculation of airwires for pads already connected through polygons. All of the calculated polygon areas are then being displayed in the "real mode". You can switch back to the faster "outline mode" with the RIPUP command. The automatic calculation of the polygons can be turned off with

[SET](ECD-CLI-S.html#set) POLYGON_RATSNEST OFF;

Note that RATSNEST doesn't mark the board drawing as modified, since the calculated polygon data (if any) is not stored in the board, and the recalculated airwires don't really constitute a modification of the drawing.

Zero length airwires

If two or more wires of the same signal on different routing layers end at the same point without being connected through a pad or a via, a zero length airwire is generated, which will be displayed as an X-shaped cross in the Unrouted layer. The same applies to smds that belong to the same signal and are placed on opposite sides of the board. Such zero length airwires can be picked up with the ROUTE command just like ordinary airwires. They may also be handled by placing a VIA at that point.

Making sure everything has been routed

If there is nothing left to be routed, the RATSNEST command will respond with the message

Ratsnest: Nothing to do!

Otherwise, if there are still airwires that have not been routed, the message

Ratsnest: xx airwires.

will be displayed, where xx gives the number of unrouted airwires.

Wildcards

If a signal_name parameter is given, the characters '*', '?' and '[]' are wildcards and have the following meaning:

* matches any number of any characters
? matches exactly one character
[...] matches any of the characters between the brackets

If any of these characters shall be matched exactly as such, it has to be enclosed in brackets. For example, abc[*]ghi would match abc*ghi and not abcdefghi.

A range of characters can be given as [a-z], which results in any character in the range 'a'...'z'.

Hiding selected airwires

Sometimes it may be useful to hide the airwires of selected signals, for instance if these will later be connected through a polygon. Typically this could be supply signals, which have a lot of airwires that will never be routed explicitly and just obscure the other signals' airwires. To hide airwires, the RATSNEST command can be given the exclamation mark ('!'), followed by a list of signals, as in

RATSNEST ! GND VCC

which would hide the airwires of the signals GND and VCC.

To have the airwires displayed again, just enter the RATSNEST command without the '!' character, and the list of signals:

RATSNEST GND VCC

This will activate the display of the airwires of the signals GND and VCC and also recalculates them. You can also recalculate the airwires (and polygons) of particular signals this way. The signal names may contain wildcards, and the two variants may be combined, as in

RATSNEST D* ! ?GND VCC

which would recalculate and display the airwires of all signals with names beginning with 'D', and hide the airwires of all the various GND signals (like AGND, DGND etc.) and the VCC signal. Note that the command is processed from left to right, so in case there is a DGND signal the example would first process it for display, but then hide its airwires. To make sure all airwires are displayed, enter

RATSNEST *

Note that the SIGNAL command will automatically make the airwires of a signal visible if a new airwire is created for that signal. The RIPUP command on the other hand will not change the state of hiding airwires if a wire of a signal is changed into an airwire.

Differential Pairs

Airwires for Differential Pair signals prefer open wire ends.

Top

RECT

Function

 Adds rectangles to a drawing.

Syntax

 RECT [orientation] ..

Mouse keys

Center selects the layer.

See also CIRCLE.

The RECT command is used to add rectangles to a drawing. The two points define two opposite corners of the rectangle. Pressing the center mouse button changes the layer to which the rectangle is to be added.

The orientation (see description in ADD) may be any angle in the range R0...R359.9. The S and M flags can't be used here. Note that the coordinates are always defined at an orientation of R0. The possibility of entering an orientation in the RECT command is mainly for use in scripts, where the rectangle data may have been derived through a User Language Program from the UL_RECTANGLE object. When entering a nonzero orientation interactively, the corners of the rectangle may not appear at the actual cursor position. Use the ROTATE command to interactively rotate a rectangle.

Not Part of Signals

Rectangles in the signal layers Top, Bottom, or Route2...15 don't belong to signals. Therefore the DRC reports errors if they overlap with wires, pads etc.

Restricted Areas

If used in the layers RestrictTop, RestrictBottom, or RestrictVias, the RECT command defines restricted areas for the Autorouter.

Top

REDO

Function

 Executes a command that was reversed by UNDO.

Syntax

 REDO;

See also UNDO, Forward&Back Annotation.

In Electronics it is possible to reverse previous actions with the UNDO command. These actions can be executed again with the REDO command. UNDO and REDO operate with a command memory which ranges back to the last EDIT, OPEN or REMOVE command.

UNDO/REDO is completely integrated within Forward&Back Annotation.

Top

REMOVE

Function

 Deletes files, devices, symbols, footprints, 3D packages, modules, and sheets.

Syntax

 REMOVE name

 REMOVE name.Sxx

 REMOVE name.mod

 REMOVE name.Mxx

See also OPEN, RENAME, MODULE.

Files

The REMOVE command is used to delete the file name if in board or schematic editing mode.

Devices, Symbols, Footprints, 3D Packages

The REMOVE command is used to delete the device, symbol, footprint, or 3D package "name" from the presently opened library. The name may include an extension (for example REMOVE name.sym). If the name is given without extension, you have to be in the respective mode to remove an object (i.e. editing a symbol if you want to remove symbols). Symbols, footprints, and 3D packages can be erased from a library only if not used by a device (or, in the case of footprints, by a 3D package).

REMOVE in a library clears the UNDO buffer.

Sheets

The REMOVE command may also be used to delete a sheet from a schematic. The name of the presently loaded schematic can be omitted. The parameter xx represents the sheet number, for example:

REMOVE .S3

deletes sheet number 3 from the presently loaded schematic. If you delete the currently loaded sheet, sheet number 1 will be loaded after the command has been executed. All sheets with a higher number than the one deleted will get a number reduced by one.

Modules

The REMOVE command may also be used to delete a module or a sheet of a module from a schematic, for example:

REMOVE name.mod
REMOVE name.m3

Top

REMOVEMODEL

Function

 Remove SPICE model mappings and attributes from selected parts. If using this command within a schematic, it can only work on parts that were mapped from within the schematic, and will not work on parts that were mapped within a library. If running this command within the library editor, it will clear all model mappings and attributes for all gates in the device.

Syntax

 REMOVEMODEL name

See also ADDMODEL

Top

OVERRIDEREMOVE

Function

 Remove an overridden 3D Package in an element/part in the board/schematic editor.

Syntax

 OVERRIDEREMOVE

Mouse keys

Left selects the element/part to apply the command to.

Top

RENAME

Function

 Renames symbols, devices, footprints, or modules.

Syntax

 RENAME old_name new_name;

See also OPEN.

In the Library Editor the RENAME command is used to change the name of a symbol, device, or footprint in the currently opened library. In the schematic editor, modules of the current schematic can be renamed this way.

The names may include extensions (for example RENAME name1.sym name2[.sym] - note that the extension is optional in the second parameter). If the first parameter is given without extension in the library editor, you have to be in the respective mode to rename an object (i.e. editing a package if you want to rename packages). Supported extensions are '.fpt', 'sym', '.dev' and '.mod' for footprints, symbols, devices, and modules. Note: '.fpt' for footprints is new as of EAGLE 9.1; ".pac" is also supported for backward compatibility with previous EAGLE versions.

RENAME clears the UNDO buffer.

Top

REPLACE

Function

 Replace a part.

Syntax

 REPLACE ..

 REPLACE device_name[@library_name] [P3D=3d_package] ..

 REPLACE part_name device_name[@library_name] [P3D=3d_package] ..

 REPLACE footprint_name ..

 REPLACE element_name footprint_name ..

See also SET, UPDATE.

The REPLACE command can be used to replace a part with a different device (even from a different library). The old and new device must be compatible, which means that their used gates and connected pins/pads must match, either by their names or their coordinates.

Without parameters the REPLACE command opens a dialog from which a device can be selected from all libraries that are currently in use. After such a device has been selected, subsequent mouse clicks on parts will replace those parts' devices with the selected one if possible.

If a device_name is given, that device will be used for the replace operation.

With both a part_name and a device_name, the device of the given part will be replaced (this is useful when working with scripts).

If a library_name is given and it contains blanks, the whole device_name@library_name needs to be enclosed in single quotes.

The 3D package of the device can be selected using the P3D=3d_package syntax. The 3d_package can be either the name or URN of one of the 3D packages associated with the device. This term is not case-sensitive and may not contain wildcards.

If only a board is being edited (without a schematic), or if elements in the board are being replaced that have no matching part in the schematic, the REPLACE command has two different modes that are chosen by the SET command.

The first mode (default) is activated by the command:

SET REPLACE_SAME NAMES;

In this mode, the new footprint must have the same pad and smd names as the old one. It may be taken from a different library and it may contain additional pads and smds. The position of pads and smds is irrelevant. The second mode is activated by the command

SET REPLACE_SAME COORDS;

In this mode, pads and smds of the new footprint must be placed at the same coordinates as in the old one (relative to the origin). Pad and smd names may be different. The new footprint may be taken from a different library and may contain additional pads and smds. Pads of the old footprint connected with signals must be present in the new footprint. If this condition is true the new footprint may have fewer pads than the old one.

REPLACE functions only when the appropriate OriginsTop/OriginsBottom layer is displayed.

If there is already a footprint with the same name (from the same library) in the drawing, and the library has been modified after the original object was added, an automatic library update will be started and you will be asked whether objects in the drawing shall be replaced with their new versions.

Note: A REPLACE operation automatically updates all involved library objects as necessary. This means that other parts (on other schematic sheets or in other locations on the board) may be changed, too. You should always run a Design Rule Check (DRC) and an Electrical Rule Check (ERC) after a REPLACE operation!

Top

REPOSITION

Function

 Separates text variables and attributes from parts or elements.

Syntax

 REPOSITION ..

 REPOSITION name ..

 SMASH ..

 SMASH name ..

Mouse keys

Ctrl+Right smashes the group.

Shift+Left reverses the text separation ("unsmashes" the part).

Ctrl+Shift+Right reverses the text separation for the group.

See also NAME, VALUE, TEXT, ATTRIBUTE.

The REPOSITION command is used with parts or elements in order to separate the text parameters (in the same way the former SMASH command did) indicating name, value, or attributes. The text may then be placed in fixed positions (Top-Left, Top, Top-Right, Left, Center, Right, Bottom-Left, Bottom, and Bottom-Right) or in a new and more convenient location by using the MOVE command.

Parts and elements can also be selected by their name, which is especially useful if the object is outside the currently shown window area. Note that when selecting a multi-gate part in a schematic by name, you will need to enter the full instance name, consisting of part and gate name.

Use of the REPOSITION command allows the text to be treated like any other text, for example, with CHANGE SIZE, ROTATE, etc., but the actual text may not be changed.

A "smashed" element can be made "unsmashed" by clicking it with the Shift key pressed (and of course the REPOSITION command activated).

Top

RIPUP

Function

 Changes routed wires and vias into airwires.

 Changes the display of polygons to "outlines".

Syntax

 RIPUP;

 RIPUP [ @ ] [ ! ] ..

 RIPUP [ @ ] [ ! ] signal_name..

Mouse keys

Ctrl+Right rips up the group.

See also DELETE, GROUP, POLYGON, RATSNEST.

The RIPUP command changes routed wires (tracks) into airwires. That can be done for:

Selecting an airwire with RIPUP converts all adjacent routed wires and vias into airwires, up to the next pad, smd or airwire.

RIPUP signal_name..

rips up the complete signal "signal_name", but only if it is connected to elements (several signals may be listed, for example RIPUP D0 D1 D2;).

RIPUP ..

rips up segments selected by the mouse click up to the next pad/smd.

RIPUP;

removes only signals which are connected to elements (for example board crop marks are not affected). The same applies if RIPUP is used on a group. Note: in all cases, the RIPUP command only acts on objects that are in layers that are currently visible!

Wildcards

If a signal_name parameter is given, the characters '*', '?' and '[]' are wildcards and have the following meaning:

* matches any number of any characters
? matches exactly one character
[...] matches any of the characters between the brackets

If any of these characters shall be matched exactly as such, it has to be enclosed in brackets. For example, abc[*]ghi would match abc*ghi and not abcdefghi.

A range of characters can be given as [a-z], which results in any character in the range 'a'...'z'.

Polygons

If the RIPUP command with a name is applied to a signal which contains a polygon the polygon will be displayed with its outlines (faster screen redraw!). Use the RATSNEST command to have polygons displayed in the "real mode" again.

Default/Normal Mode

Use this option to convert a routed wire segment to its signal format, a polygon to its outline mode or remove a via.

Connected Cooper Mode

Use this option to convert all the copper connected to the selected segment back to airwire form.

Connected Cooper on Same Layer Mode

Use this option to convert the selected routed trace to its signal format on the same layer.

Signal Mode

This option will convert all the traces that have the same name as the selected trace to unrouted signals.

Part to Part

Select two components to convert the traces shared between them into unrouted signals

Ripup All Polygons

Use this option to have all polygons return to outline mode

Ripup All Mode

This option is used to to convert all the traces on the design to a unrouted signal.

Top

ROTATE

Function

 Rotates objects.

Syntax

 ROTATE orientation ..

 ROTATE orientation 'name' ..

Mouse keys

Ctrl+Right rotates the group.

Left&Drag rotates the object by any angle.

Ctrl+Right&Drag rotates the group by any angle.

See also ADD, MIRROR, MOVE, LOCK, GROUP.

The ROTATE command is used to change the orientation of objects.

If orientation (see description in ADD) is given, that value will be added to the orientation of the selected object instead.

Prepending orientation with the character '=' causes the value not to be added, but instead to be set absolutely.

Parts, pads, smds and pins can also be selected by their name, which is especially useful if the object is outside the currently shown window area. For example

ROTATE =MR90 IC1

would set the orientation of element IC1 to MR90, regardless of its previous setting.

Attributes of parts can be selected by entering the concatenation of part name and attribute name, as in R5>VALUE.

The quotes around name are necessary to distinguish it from an orientation parameter as in

ROTATE R45 'R1'

They can be left away if the context is clear. You can use Click&Drag to rotate an object by any angle. Just click the object and move the mouse (with the mouse button held down) away from it. After having moved the mouse a short distance, the object will start rotating. Move the mouse until the desired angle has been reached and then release the mouse button. If, at some point, you decide to rather not rotate the object, you can press the ESCape key while still holding the mouse button pressed. The same operation can be applied to a group by using the right mouse button. The group will be rotated around the point where the right mouse button has been pressed down.

Parts cannot be rotated if they are locked, or if any of their connected pads would extend outside the allowed area (in case you are using a limited edition of EAGLE).

Elements

When rotating an element, wires (tracks) connected to the element are moved at the connection points (beware of short circuits!). Elements can only be rotated if the appropriate OriginsTop/OriginsBottom layer is visible.

Text

Text is always displayed so that it can be read from the bottom or from the right - even when rotated. Therefore after every two rotations it appears the same way, but the origin has moved from the lower left to the upper right corner. Remember this if a text appears to be unselectable! If you want to have text that is printed "upside down", you can set the "Spin" flag for that text.

Top

ROUTE

Function

 Converts unrouted connections into routed wires (tracks).

Syntax

 ROUTE [width] [curve | @radius] ..

 ROUTE name ..

Mouse keys

Left starts routing from any given point along a pad, via, wire, or airwire -OR- commits currently displayed intermediate route segments (and via, if layer changed).

Shift+Left starts routing with the same width as an existing wire -OR- places a via and continues routing on the same layer.

Center selects the next routing layer (and initiates via placement).

Shift+Center presents start layer selection dialog when starting from a multilayer object.

Right toggles left/right direction of current bend styles.

Shift+Right cycles to the previous wire bend style.

Ctrl+Right cycles to the next wire bend style (see SET Wire_Bend).

Keyboard

Enter commits current cursor position and autocompletes route to airwire anchor object.

Space cycles to the next routing layer (and initiates via placement).

Shift+Space cycles to the previous routing layer (and initiates via placement).

Backspace (delete on macOS) removes the effect of the most recent left mouse commit.

Ctrl+Space cycles the start layer forward when starting from a multilayer object.

Ctrl+Shift+Space cycles the start layer in reverse when starting from a multilayer object.

Command Line Input

SwapEnd switch routing to opposite Airwire end point

See also ROUTEMULTI, ROUTEDIFF, QROUTEAIRWIRE, QROUTESIGNAL, QROUTEMULTI, QROUTESMOOTH, FANOUT, AUTO, UNDO, LINE, MITER, SIGNAL, SET, RATSNEST.

The ROUTE command activates the manual router which allows you to convert airwires (unrouted connections) into real wires.

Select a signal object (pad, via, wire, or airwire) to begin routing. When your selection point lies on objects that share the same space, the ROUTE command resolves ambiguity by selecting an object using the following priority:

When you select an airwire (a connection on the Unrouted layer), routing begins at the signal object connected to the airwire that is closest to your selection point. Otherwise, the ROUTE command automatically creates a new airwire from your selected route start point to a nearby target object that is a member of the same signal. Once you begin routing, intermediate routed wires automatically track according to your movements of the mouse (see also LINE). As you drag intermediate wires around, remember that the Right mouse button cycles through the wire bend styles, and the center mouse button changes the layer. Note that only those signal layers (1 through 16) are available that have been entered into the layer setup in the Design Rules. Use left mouse button as you reach each location on the design layout where you would like to commit the intermediate (dragged) wires. This places the wires, and begins a new routed segment from that location.

As you proceed through the process of routing wires, you can also initiate layer changes using the center mouse button, the Space key, and Shift+Space keys. A layer change automatically produces a via that drags at the end of the intermediate routes, at the cursor location. When you use the left mouse button to commit the routes (and the via location), then the new route segments commence on the newly targeted layer from the via location. Incidentally, you can force placement of a via without changing layers, by combining a left mouse with the Shift key.

When the ROUTE command creates and places a via, it uses the minimum layer span necessary to traverse between layers (according to existing design conditions and the layer setup in the Design Rules). If the routed sequence begins or ends at an SMD pad, and a via is required at that location to immediately traverse to the neighboring layer, then a micro via will be used (if micro vias have been enabled in the Design Rules).

While the ROUTE command is active you can enter the desired wire width from the keyboard.

If the curve or @radius parameter is given, an arc can be drawn as part of the track (see the detailed description in the LINE command).

If you provide a name in the command, the airwire of that signal that is closest to the mouse cursor is selected. If name could be interpreted as a width, curve or @radius then you should enclose it in single quotes.

Single Layer Mode

With single layer mode active in routing mode, all layers except for the active one are grayed out, creating a more focused environment to do some actual work.

SET SINGLE_LAYER_MODE ON | OFF;

Obstacle Handling Modes

Three obstacle handling modes are available, each having its own separate behavior when your dragged wires encounter obstacles during routing: Ignore Obstacles, Walkaround Obstacles, and Push Obstacles. Change the current obstacle handling mode by selecting the Obstacle Avoidance option icons that appear on the parameter toolbar when the ROUTE command is active. The default setting is Walkaround Obstacles.

Ignore Obstacles (SET OBSTACLE_MODE IGNORE)

Ignore Obstacles allows you to place wires and vias at any location on the design layout, regardless of the Design Rules. When routing wires in Ignore Obstacles mode, you must be careful not to create shorts between your routed signal and nearby ones.

Walkaround Obstacles (SET OBSTACLE_MODE WALKAROUND)

Walkaround Obstacles allows you to place wires and vias while automatically complying with the Design Rules. The command identifies obstacles that lie in the path of your routed wires, and automatically contours around them. When you change layers in Walkaround Obstacles mode and via placement is required, the command automatically finds the nearest valid via placement location (again, in compliance with the Design Rules).

Push Obstacles (SET OBSTACLE_MODE PUSH)

Push Obstacles automatically complies with the Design Rules and pushes movable obstacles aside to make room for your routed wires. When you change layers in Push Obstacles mode, the command also pushes movable objects aside to provide clearance around the via.

When you are using Walkaround Obstacles or Push Obstacles mode in areas of your board design that are congested with many prerouted objects, you will occasionally encounter conditions where the ROUTE command cannot achieve a routing solution to your cursor location. In this case, a route failure indicator appears at the end of your routed wire to inform you that the route failed to complete to the requested location.

Selecting the routing layer and wire width

When you select an airwire, the ROUTE command determines the initial layer in which to route by considering the objects at the starting point, as follows:

When the start object of your route is a multilayer pad or via, you can cycle the routing start layer forward and backward, by pressing the Ctrl+Space and Ctrl+Shift+Space keys, respectively.

When you select an airwire, the ROUTE command determines the wire width from the Design Rules and the net class of the selected signal, if the flag "Options/Set/Misc/Auto set route width and drill" is set. You can manually adjust the width, and the intermediate wires will appear with the new width. This behavior applies to via definitions when a layer change is involved, as well.

When you select an airwire for routing that starts at an existing wire, the routed wire width will automatically initialize to the width of the existing wire, if the Shift key is pressed when selecting the airwire.

Snap Function

Specifying a snap distance allows you to influence how the ROUTE command targets same-signal objects that it should use as potential routing termination points. The Snap Function comes into effect when you move the cursor within the snap radius of the center of an object that is a target candidate for routing termination. In this condition, the cursor automatically snaps to that object's location, and an (X) is displayed at the location as a visual indicator that a snap was achieved. The ROUTE command automatically utilizes the snap distance independent of the current grid setting. Define the effective distance for this snap function with the command

SET SNAP_LENGTH distance;

where the default unit for the "distance" snap radius is the current grid unit.

Undo Commit Sequence

If you make an errant mouse click or you wish to change your route path at any time during the routing process, you can "undo" or "unwind" your routing. Use the Backspace key (Delete key on macOS) to perform sequential undo's of your left mouse commits. Via placements and layer changes are also undone by this process, as you would expect. Note: Backspace / Delete keys are only operational within the ROUTE command when the command window is empty of text. Otherwise, Backspace / Delete keys are processed as normal by the command window.

Loop Removal

The Loop Remove mode allows you to reroute any portion of an existing path of routed wires between two pads and automatically remove the redundant loop of wires (and possibly vias). The Loop Remove option consists of parameter buttons that appear on the toolbar when the ROUTE command is active. You can start your reroute at a pad, a via, a wire(s) vertex, or in the middle of a wire, and terminate your reroute in the same fashion. The default setting of the Loop Remove mode is ON. Beware that there are a few conditions required for Loop Remove to operate properly:

SET LOOP_REMOVAL ON | OFF;

Switch to Opposite Airwire End Point

When routing an airwire, you can switch the active route to the opposite aiwire end point by entering SWAPEND into the command line window. You can also assign SWAPEND to a shortcut key using the ASSIGN command. If the opposite airwire end point is not within the window, then the window is automatically panned, at the same zoom level, with the opposite airwire end point centered in the window. You may switch routing ends of the airwire as many times as necessary while actively routing. NOTE - the use of the key will not "undo" the switching of the airwire endpoint.

Top

ROUTEDIFF

Function

 Converts unrouted connections of a differential pair into routed wires (tracks).

Syntax

 ROUTEDIFF

Mouse keys

Left starts routing from any given point along a pad, via, wire, or airwire -OR- commits currently displayed intermediate route segments (and via, if layer changed).

Shift+Left starts routing with the same width as an existing wire -OR- places a via and continues routing on the same layer.

Center selects the next routing layer (and initiates via placement).

Shift+Center presents start layer selection dialog when starting from a multilayer object.

Right toggles left/right direction of current bend styles.

Shift+Right cycles to the previous wire bend style.

Ctrl+Right cycles to the next wire bend style (see SET Wire_Bend).

Keyboard

Enter commits current cursor position and autocompletes route to airwire anchor object.

Space cycles to the next routing layer (and initiates via placement).

Shift+Space cycles to the previous routing layer (and initiates via placement).

Backspace (delete on macOS) removes the effect of the most recent left mouse commit.

Ctrl+Space cycles the start layer forward when starting from a multilayer object.

Ctrl+Shift+Space cycles the start layer in reverse when starting from a multilayer object.

Command Line Input

SwapEnd switch routing to opposite Airwire end point

See also ROUTE, ROUTEMULTI, FANOUT, UNDO, LINE, MITER, SIGNAL, SET, RATSNEST.

The ROUTEDIFF command activates the differential-pair manual router and the differential pairs in the design are highlighted. To begin routing a differential pair, left button click over one of the highlighted differential pair airwire or copper objects. Once routing, the ROUTEDIFF command's operation is identical to the ROUTE command, with the exception of Loop Removal, which is not currently implemented for ROUTEDIFF. Differential Pairs are signals that need to be routed in parallel and with a specific distance between them.

The following particularities apply:

You can use the MEANDER command to balance the lengths of the two signals that form a differential pair.

Completing the route

The differential pair route can be completed in two ways. First, while routing, the Enter key can be pressed to attempt to complete the route using QuickRoute. The second way is while routing to place the cursor over one of the copper objects at the opposite end of one of the differential pair airwires. This will try to autocomplete the route from the last committed route (last Left Click). If the route completion methods are not successful, then you can use the single wire ROUTE command to finish each leg of the differential pair separately.

Top

ROUTEMULTI

Function

 Converts multiple unrouted connections into routed wires (tracks).

Syntax

 ROUTEMULTI

Mouse keys

Left starts routing from any given point along a pad, via, wire, or airwire -OR- commits currently displayed intermediate route segments (and via, if layer changed).

Shift+Left starts routing with the same width as an existing wire -OR- places a via and continues routing on the same layer.

Center selects the next routing layer (and initiates via placement).

Shift+Center presents start layer selection dialog when starting from a multilayer object.

Right toggles left/right direction of corresponding bend styles.

Shift+Right cycles to the previous wire bend style.

Ctrl+Right cycles to the next wire bend style (see SET Wire_Bend).

Keyboard

Enter commits current cursor position and autocompletes route to airwire anchor object.

Space cycles to the next routing layer (and initiates via placement).

Shift+Space cycles to the previous routing layer (and initiates via placement).

Backspace (delete on macOS) removes the effect of the most recent left mouse commit.

Ctrl+Space cycles the start layer forward when starting from a multilayer object.

Ctrl+Shift+Space cycles the start layer in reverse when starting from a multilayer object.

Command Line Input

DecSpacing Decrease the spacing between the wires by the grid distance

IncSpacing Increase the spacing between the wires by the grid distance

MinSpacing Set the spacing to the minimum design rule between the wires

SwapEnd switch routing to opposite Airwire end point

See also ROUTE, ROUTEDIFF, QROUTEMULTI, AUTO, FANOUT, UNDO, LINE, MITER, SIGNAL, SET, RATSNEST

The ROUTEMULTI command activates the manual router which allows you to convert multiple airwires (unrouted connections) into real wires.

To select the signals to route, draw a selection line that intersects through the signal objects that you wish to route concurrently (existing wires, pads, and vias). Continue to draw additional selection lines to add more signal objects. Press the Esc key if you need to clear the selection list and begin again. Right click to begin routing the selection. During routing, the ROUTEMULTI command's operation is identical to the ROUTE command, with the exception of Loop Removal, which is not currently implemented for ROUTEDIFF.

Controlling the Wire Spacing

When ROUTEMULTI first starts routing, the spacing between the wires matches the spacing between the start objects. The command line spacing keywords listed above allow you to control the wire spacing while you route. These spacing commands can be typed into the command line or assigned to shortcut keys using the ASSIGN command.

Via Pattern

When a layer change requires the command to place vias, you can control the pattern of via placement, as follows :

The via patterns can be changed in the parameters toolbar, using the SET VIA_PATTERN... on the command line window, or by assigning them to shortcut keys using the ASSIGN command.

Top

RUN

Function

Executes a User Language Program.

Syntax

 RUN file_name [argument ...]

See also SCRIPT.

The RUN command starts the User Language Program from the file file_name.

The optional argument list is available to the ULP through the Builtin Variables argc and argv.

Started from a context menu the according object is assigned to a group. It can be identified with the builtin function ingroup() for further processing. In case of a wire, the group bits are set according to its selection state (first, second or both endpoints). This allows to find which endpoint has been selected. A previously defined group becomes invalid.

Running a ULP from a script file

If a ULP is executed from a script file and the program returns an integer value other than 0 (either because it has been terminated through a call to the exit() function or because the STOP button was clicked), execution of the script file will be terminated.

Editor commands resulting from running a ULP

A ULP can also use the exit() function with a string parameter to send a command string back to the editor window.

Top