S Reference

SCRIPT | SET |SELECTIONFILTERS| SHOW | SIGNAL | SIM | SIMOPTOGGLE | SLICE | SMD | SMDARRAY | SOURCESETUP | SPLIT

SCRIPT

Function

 Executes a command file.

Syntax

 SCRIPT file_name;

See also SET, MENU, ASSIGN, EXPORT, RUN.

The SCRIPT command is used to execute sequences of commands that are stored in a script file. If SCRIPT is typed in at the keyboard and "file_name" has no extension, the program automatically uses ".scr".

Examples

SCRIPT nofill executes nofill.scr
SCRIPT myscr. executes myscr (no Suffix)
SCRIPT myscr.old executes myscr.old

Refer to the EXPORT command for different possibilities of script files.

If the SCRIPT command is selected with the mouse, a popup menu will show all of the files which have the extension ".scr", so that they can be selected and executed.

The SCRIPT command provides the ability to customize the program according to your own wishes. For instance:

SCRIPT files contain EAGLE commands according to the syntax rules. Lines beginning with '#' are comment.

Continued Lines

SCRIPT files contain one or more commands in every line according to the syntax rules. The character '\' at the end of a command line ensures that the first word of the next line is not interpreted as a command. This feature allows you to avoid apostrophes in many cases.

Set Default Parameters

The SCRIPT file eagle.scr, if it exists in the project directory or in the script path, is executed each time a new drawing is loaded into an editor window (or when the drawing type is changed in a library).

Script Labels

The default SCRIPT file eagle.scr makes use of labels of the formEDITOR: where EDITOR is one of SCH, BRD, LBR, DEV, PAC, and SYM. This ensures that only the appropriate section is executed in the editor. For example, when a new board is opened, only the section starting with BRD: is executed (until the next label, if any). This also offers the possibility for editor-specific menus using the MENU command. The label must be at the line beginning.

Execute Script Files in the Library Editor

All of the layers are recognized only if the library editor has previously been loaded.

Top

SET

Function

 Alters system parameters

Syntax

 SET

 SET options;

Parameters which affect the behavior of the program, the screen display, or the user interface can be specified with the SET command. The precise syntax is described below. A dialog, in which all the parameters can be set, appears if the SET command is entered without parameters.

User Interface

Snap function SET SNAP_LENGTH number;
This sets the limiting value for the snap function in the ROUTE command (using the current unit). It's also used for snapping nets to pins in the NET command.
Default: 20 mil
If tracks are being laid with the ROUTE command to pads that are not on the grid, the snap function will ensure that a route will be laid to the pad within the snap-length.
SET CATCH_FACTOR value;
Defines the distance from the cursor up to which objects are taken into account when clicking with the mouse. The value is entered relative to the height (or width, whichever is smaller) of the presently visible part of the drawing. It applies to a zoom level that displays at least a range of 4 inch and increases logarithmically when zooming further in. A value of 0 turns this limitation off. Values < 1 are interpreted as factors, values ≥ 1 as percents. Default: 0.05 (5%).
SET SELECT_FACTOR value;
This setting controls the distance from the cursor within which nearby objects will be suggested for selection. The value is entered relative to the height (or width, whichever is smaller) of the presently visible part of the drawing. Values < 1 are interpreted as factors, values ≥ 1 as percents. Default: 0.02 (2%).
Menu contents SET USED_LAYERS name | number;
Specifies the layers which will be shown in the associated EAGLE menus. See the example file mylayers.scr.
The layers Pads, Vias, Unrouted, Dimension, Drills and Holes will in any case remain in the menu, as will the schematic layers. Any used signal layers also remain in the menus. SET Used_Layers All activates all layers.
SET WIDTH_MENU value..;
SET DIAMETER_MENU value..;
SET DRILL_MENU value..;
SET SMD_MENU value..;
SET SIZE_MENU value..;
SET ISOLATE_MENU value..;
SET SPACING_MENU value..;
SET MITER_MENU value..;
SET ROUTERADIUS_MENU value..;
SET DLINE_WIDTH_MENU value..;
SET DLINE_EXT_WIDTH_MENU value..;
SET DLINE_EXT_LENGTH_MENU value..;
SET DLINE_EXT_OFFSET_MENU value..;
The content of the associated popup menus can be configured with the above command for the parameters _width_ etc.. A maximum of 16 values is possible for each menu (16 value-pairs in the SMD menu). If no values are given (as in SET WIDTH_MENU;), the program default values will be restored.
Example: Grid Inch; Set Width_Menu 0.1 0.2 0.3;
Context menus SET CONTEXT objecttype text commands;
For selectable object types, context menus (right mouse button) can be extended by arbitrary entries. _objecttype_ is not case-sensitive. _text_ is the menu text, _commands_ is the command sequence, that is executed after clicking the menu entry. Empty spaces are possible if the expression is set into apostrophes. Apostrophes inside the command have to be doubled (see TEXT command). Example:
SET CONTEXT Element Export 'run myexport.ulp';
Adds the _Export_ entry to the context menu for elements, which starts a corresponding ULP (User language program).
An existing user-defined entry can also be overwritten.
The settings are stored in the eaglerc file. The number of entries is unlimited.
Deletion of entries:
SET CONTEXT objecttype; deletes all entries for this object type. With SET CONTEXT; all user-defined menu entries are deleted.
All selectable object types are supported. These are: attribute, circle, dimension, element, frame, gate, hole, instance, junction, label, modinst (module instance), pad, pin, rectangle, smd, text, via and wire.
_Restriction note on ULP execution:_
To ensure the selected object can be properly handled by the *ingroup()* function, avoid setting the ';' within the apostrophes (that is, not 'run myexport.ulp;', but 'run myexport.ulp').
Bend angle for wires and lines SET WIRE_BEND bend_nr;
_bend_nr_ can be one of:
0: Starting point - horizontal - vertical - end
1: Starting point - horizontal - 45° - end
2: Starting point - end (straight connection)
3: Starting point - 45° - horizontal - end
4: Starting point - vertical - horizontal - end
5: Starting point - arc - horizontal - end
6: Starting point - horizontal - arc - end
7: "Freehand" (arc that fits to wire at start, straight otherwise)
8: Route short end of airwire in Follow-me router
9: Route both ends of airwire in Follow-me router
Note that 0, 1, 3 and 4 may contain additional miter wires (see MITER).
SET WIRE_BEND @ bend_nr ...;
Defines the bend angles that shall be actually used when switching with the right mouse button.
SET WIRE_BEND @;
Switches back to using all bend angles.
Beep on/off SET BEEP OFF | ON;

Selection Filters

SET SELECTTYPES arg1 arg2 …

This command allows you to control selection in the selection filter by object type. The keywords ALL and NONE enable and disable all object types, respectively. You can use a - sign to disable a specific object type.

Example:

SET SELECTTYPES ALL -Via

This command enables all object types in the selection filter and then disables the via object type.

SET SELECTLAYERS arg1 arg2 …

This command controls selection in the selection filter based on which layer the objects are on. The keywords ALL and NONE enable and disable all layers for selection, respectively. You can use a - sign to disable a specific layer.

Example:

SET SELECTLAYERS None Top

This command disables all layers and then enables the Top layer so that only objects on the top layer can be selected.

Screen display

Color for grid lines SET COLOR_GRID color;
Layer color SET COLOR_LAYER layer color;
Fill pattern for layer SET FILL_LAYER layer fill;
Grid parameters SET MIN_GRID_SIZE pixels;
The grid is only displayed if the grid size is greater than the set number of pixels.
Min. text size shown SET MIN_TEXT_SIZE size;
Text less than size pixels high is shown as a rectangle on the screen. If the size is set to 0, all text will be displayed readably.
Net wire display SET NET_WIRE_WIDTH width;
Pad display SET DISPLAY_MODE REAL | NODRILL;
REAL: Pads are displayed as they will be plotted. NODRILL: Pads are shown without drill hole.
SET PAD_NAMES OFF | ON;
Pad names are displayed/not displayed.
Bus line display SET BUS_WIRE_WIDTH width;
DRC-Parameter SET DRC_FILL fill_name;
Polygon calculation SET POLYGON_RATSNEST OFF | ON;
See POLYGON command.
Vector font SET VECTOR_FONT OFF | ON;
See TEXT command.
Cross-reference labels SET XREF_LABEL_FORMAT string;
See LABEL command.
Part cross-references SET XREF_PART_FORMAT string;
See TEXT command.

Mode parameters

Package check SET CHECK_CONNECTS OFF | ON;
The ADD command checks whether every pin has been connected to a pad (with CONNECT). This check can be switched off. Nevertheless, no board can be generated from a schematic if a device is found which does not have a package.
REPLACE mode SET REPLACE_SAME NAMES | COORDS;
UNDO buffer on/off SET UNDO_LOG OFF | ON;
Wire/Line optimizing SET OPTIMIZING OFF | ON;
If set _on_, wires/lines which lie collinear after a MOVE, ROUTE, or SPLIT are merged into a single wire/line. See also OPTIMIZE.
Net wire termination SET AUTO_END_NET OFF | ON;
Automatic ending of nets or busses. See NET or BUS command.
Automatic junctions SET AUTO_JUNCTION OFF | ON;
Automatic setting of junctions. See JUNCTION.
Automatic confirmation SET CONFIRM OFF | NO | YES | OPT1 | OPT2 | OPT3 | OPT4 | OPT5 | OPT6 | OPT7 | OPT8 | OPT9;
Allows confirmation dialogs to be handled automatically (see below for details).
File locking SET LOCKING OFF | ON;
To deactivate or activate File locking. The setting takes effect immediately, so locks of currently open files are deleted resp. created. See File Locking for further details.

Colors

There are three palettes for black, white, and colored background, respectively. Each palette has 64 color entries, which can be set to any ARGB value. The palette entry number 0 is used as the background color (in the "white" palette this entry cannot be modified, since this palette will also be used for printing, where the background is always white). The color palettes can be modified either through the dialog under "Options/Set.../Colors" or by using the command

SET PALETTE _index_ _argb_

where index is a number in the range 0..63 and argb is a hexadecimal value defining the Alpha, Red, Green and Blue components of the color, like 0xFFFFFF00 (which would result in a bright yellow). The alpha component defines how "opaque" the color is. A value of 0x00 means it is completely transparent (i.e. invisible), while 0xFF means it is totally opaque. The alpha component of the background color is always 0xFF. Note that the ARGB value must begin with "0x", otherwise it would be taken as a decimal number. You can use

SET PALETTE BLACK|WHITE|COLORED

to switch to the black, white or colored background palette, respectively. Note that there will be no automatic window refresh after this command, so you should do a WINDOW; command after this. By default, only the palette entries 0..15 are used and they contain the colors listed below.

The palette entries are grouped into "normal" and "highlight" colors. There are always 8 "normal" colors, followed by the corresponding 8 "highlight" colors. So colors 0..7 are "normal" colors, 8..15 are their "highlight" values, 16..23 are another 8 "normal" colors with 24..31 being their "highlight" values and so on. The "highlight" colors are used to visualize objects, for instance in the SHOW command.

Color, listed according to color numbers, which can be used instead of the color names. Used to specify colors:

0 Black
1 Blue
2 Green
3 Cyan
4 Red
5 Magenta
6 Brown
7 LGray
8 DGray
9 LBlue
10 LGreen
11 LCyan
12 LRed
13 LMagenta
14 Yellow
15 White

Fill specifies the style with which wires and rectangles in a particular layer are to be filled. This parameter can also be replaced with the number at the beginning of each line:

0 Empty
1 Solid
2 Line
3 LtSlash
4 Slash
5 BkSlash
6 LtBkSlash
7 Hatch
8 XHatch
9 Interleave
10 WideDot
11 CloseDot
12 Stipple1
13 Stipple2
14 Stipple3
15 Stipple4

Automatic Confirmation

At times Electronics prompts the user with informational or warning messages, or requires a decision on how to proceed. This may be unwanted in automated processes (like script files). The command

SET CONFIRM YES

will automatically confirm every message dialog as if the user had clicked the "positive" button ("OK" or "Yes"). The dialog itself isn't even presented to the user. Similarly, the command

SET CONFIRM NO

acts as if the user had clicked the "negative" button ("No"), if such a button is present. Otherwise it just confirms the dialog. There are the key words OPT1..9 to confirm dialogs with additional options (For example renaming a net segment or a signal polygon).

SET CONFIRM OPT2
NAME GND (x y)

Finally, the command

SET CONFIRM OFF

turns off automatic confirmation. If automatic confirmation is not turned off explicitly, it will automatically fall back to OFF the next time the editor window accepts some interactive input from the user. It is not recommended to SET CONFIRM YES at the beginning of a script and then execute multiple commands "silently". The best practice is to explicitly wrap it around another individual command, as in

SET CONFIRM YES
REMOVE _filename_
SET CONFIRM OFF

Be extremely careful when using this command! Blindly confirming message dialogs may cause important messages to be overlooked. The result may then not be what the user expected.

Board Limits (only Make Pro Edition)

The Make Pro Edition has a limited board area but allows variable width and height. In order to adjust these limits, the commands

SET LIC_WIDTH_width_
SET LIC_HEIGHT_height_

can be used. If width is set, then height adjusts accordingly and vice versa.

EagleRc Parameters

Sometimes a small detail of functionality needs to be made adjustable, for instance because some users absolutely need to have it work differently. These parameters are not available in any dialogs, but can only be changed through an entry in the eaglerc file. In order to make this easier, any parameter that is not found among the keywords listed above will be looked up in the eaglerc parameters and can thus be changed using the SET command. Principally, all parameters from an eaglerc file can be changed this way. Note that the parameter names must be written in full and exactly as listed below (case sensitive). The parameter value is typically '0' or '1', to turn the functionality 'off' or 'on', respectively. After changing any of these parameters that influence the way the screen display is drawn, a window refresh may be necessary. Example

SET Option.DrawUnprocessedPolygonEdgesContinuous 1;

The following eaglerc parameters have been created for special adjustments:

Cmd.Copy.ClassicEagleMode

In older versions of EAGLE, the COPY command could be used solely to copy objects within a drawing, as opposed to the Windows behavior, where COPY places a copy of the selected objects (i.e. the GROUP) into the system's clipboard. As of version 6, EAGLE's COPY command primarily behaves the same way as in other Windows applications, by putting a copy of the current group into the clipboard. The original functionality of copying selected objects, or copying library objects between libraries, is still fully available, which is especially important to keep existing scripts and ULPs working. What has also often irritated Windows users is that in EAGLE the CUT command has only copied the current group to the clipboard, but did not actually delete the group from the drawing. Since a CUT command that deletes the group would not be of much use in a board/schematic pair that is connected via forward-&backannotation, the CUT command has been removed from the main drop-down menu and the command button toolbar. It is still fully available from the command line or within scripts. Setting this parameter to '1' restores the old behavior of both the COPY and the CUT command. Note that this setting only takes effect the next time you open an editor window.

Cmd.Delete.WireJointsWithoutCtrl

If you prefer having the DELETE command delete wire joints without pressing the Ctrl key, you can set this parameter to '1'.

Cmd.Name.RenameEntireNetByDefault

If a net consists of more than one segment, the NAME command by default acts only upon the selected segment. This behavior can be changed to rename the entire net by default by setting this parameter to '1'. This parameter also applies to busses.

Cmd.Name.RenameEntireSignalByDefault

If a signal contains a polygon, and the NAME command is applied to that polygon, by default only the polygon gets renamed. Setting this parameter to '1' makes the NAME command act upon the entire signal by default.

Cmd.Wire.IgnoreCtrlForRadiusMode

If you don't like the special mode in wire drawing commands that allows for the definition of an arc radius by pressing the Ctrl key when placing the wire, you can set this parameter to '1'. This will turn off this feature for all commands that draw wires.

ControlPanel.View.AutoOpenProjectFolder

The automatic opening of the project folder at program start (or when activating a project by clicking its gray button) can be disabled by setting this parameter to '0'.

Erc.AllowUserOverrideConsistencyCheck

In order to handle board/schematic pairs that have only minor inconsistencies, you can enable a dialog that allows you to force the editor to perform forward-&backannotation, even if the ERC detects that the files are inconsistent. This can be done by setting this parameter to '1'. PLEASE NOTE THAT YOU ARE DOING THIS AT YOUR OWN RISK - if the files get corrupted in the process, there may be nothing anybody can do to recover them. After all, the ERC did state that the files were inconsistent!

Interface.MouseButtonReleaseTimeout

This command allows to set the time (in milliseconds) within which a mouse button release that follows clicking an interface button (like, for instance, toolbar buttons) triggers the button's action, even if the mouse button release happened outside the button's area. Default is 500, set this to 0 to turn off this feature. If this parameter is set to 0 when the program is started, any change to it will only take effect the next time the program is started.

Interface.PreferredUnit

When displaying a numerical value in dialog input boxes, the units are determined automatically, so that the representation with the least number of decimal digits is chosen. This can be controlled by setting this parameter to '0' for automatic unit determination (default), '1' for imperial units, and '2' for metric units.

Interface.UseCtrlForPanning

Panning is done by moving the mouse while holding the center mouse button (or mouse wheel) down. In older versions this was done by pressing the Ctrl key instead. If you want the old functionality back, you can set this parameter to '1'. Note, though, that the Ctrl key is now used for special functions in some commands, so when using these special functions (like selecting an object at its origin in MOVE) with this parameter enabled, you may inadvertently pan your draw window.

Interface.VectorFont

Always displays texts in drawings with the builtin vector font, regardless of which font is actually set for a particular text and regardless of the setting SET VECTOR_FONT OFF|ON in the current drawing. See TEXT command.

Option.AutoLoadMatchingDrawingFile

If you have a board and schematic editor window open and load another board (or schematic) in one of these windows, and if that other drawing has a matching schematic (or board), EAGLE asks whether that other drawing shall also be loaded. By setting this parameter to '1', this query can be suppressed, and EAGLE will always automatically load the other drawing.

Option.DrawUnprocessedPolygonEdgesContinuous

If you don't like the way unprocessed polygons display their edges (as dotted lines), you can set this parameter to '1'. The edges of unprocessed polygons will then be displayed as continuous lines, as was the case before version 5 (however, they will not be highlighted).

Option.LayerSequence

The internal layers are rendered in a sequence that mimics the actual layer stack, so that the result looks useful even on printers and PDF or Postscript files, where layers are not transparent. Sometimes user-defined layers may need to be rendered before internal layers instead of after them. This parameter can be used to define the sequence in which layers are rendered. It consists of a string of layer numbers or layer ranges, followed by an optional 't' or 'b'.

123 renders layer 123
123t renders layer 123 if the output is "viewed from top" (not mirrored)
123b renders layer 123 if the output is "viewed from bottom" (mirrored)
123-140 renders layers 123 through 140 in the given sequence
140-123 renders layers 140 through 123 in the given sequence
* inserts the default sequence of the internal layers
123b * 123t makes layer 123 always be rendered first

Note that each layer is rendered only once, even if it is listed several times. The default sequence of the internal layers is

48t 49t 19t 47t 20t 46t 23 27 25 59 57 55 53 50 51 21 44t 45t 37 35 31 29 33 39 41 43t 18t 17t 1-16 17b 18b 43b 42 40 34 30 32 36 38 45b 44b 22 52 54 56 58 60 26 28 24 46b 20b 47b 19b 49b 48b 61-99.

When viewed from top, the layer sequence is rendered from right to left, while when viewed from bottom (mirrored) it is rendered from left to right. For instance, layer 48 (Document) is entered as 48t and 48b to always have it rendered as the last one. Layers 21 (SilkscreenTop) and 22 (SilkscreenBottom), on the other hand, are listed only once, to have them rendered at the proper place, depending on whether the output is mirrored or not.

Any layers that are not explicitly mentioned in the layer sequence are rendered after the given sequence in ascending order.

Option.RatsnestLimit

The RATSNEST command processes all points of a signal, even if that signal is very complex (in previous versions it dropped wire end points from processing if the total number of connection points exceeded 254). This requires more memory when calculating the ratsnest. In case this is a problem on your system, you can revert to the original method by setting this parameter to '254'. The value given here is the number of connection points up to which all wire end points will be taken into account. This limits the amount of memory used (processing will use up to the square of this value in bytes, so a value of 1024 will limit the used memory to 1 MB). A value of '0' means that there is no limit. A value of '1' will result in airwires being connected only to pads, smds and vias.

Option.RepositionMouseCursorAfterContextMenu

Normally EAGLE doesn't automatically position the mouse cursor. However, some users want the cursor to be repositioned to the point where it has been before a context menu in the drawing editor was opened. Set this parameter to '1' to get this functionality.

Option.ShowPartOrigins

The origins of parts in a schematic are indicated by small crosses. Set this parameter to '0' to turn this off.

Option.ShowTextOrigins

The origins of texts are indicated by small crosses. Set this parameter to '0' to turn this off.

Option.SignalNamesOnPads

If this parameter is set to '1', the signal name is displayed on the contacts of the signal in the color of the Unrouted layer. The default value is '1'.

Option.SignalNamesOnTraces

If this parameter is set to '1', the signal name is displayed on the signal wires in the color of the Unrouted layer. The default value is '1'.

Option.ToggleCtrlForGroupSelectionAndContextMenu

Since the context menu function on the right mouse button used to interfere with the selection of groups in the previous versions (before version 5), a group is now selected by pressing Ctrl together with the right mouse button. If you want to have the old method of selecting groups back, you can set this parameter to '1'. This will allow selecting groups with the right mouse button only and require Ctrl plus right mouse button for context menus.

Option.UnpopulatedMarkScaling

With this parameter, it is possible to resize the mark of unpopulated parts in the current assembly variant. The default value is '1.0'.

Option.ViaLength

If this parameter is set to '1', the via length is textually displayed on each via. The default value is '0'.

Sch.Cmd.Add.AlwaysUseDeviceNameAsValue

Some users always want to use the device name as part value, even if the part needs a user supplied value. Those who want this can set this parameter to '1'.

Warning.Cam.DrillsAndHolesConcurrent

If you don't want the warning message about using one file for drills and holes by the CAM Processor, you can turn it off by setting this parameter to '0'.

Warning.PartHasNoUserDefinableValue

If you don't want the warning message about a part not having a user definable value, you can turn it off by setting this parameter to '0'.

Warning.SupplyPinAutoOverwriteGeneratedNetName

Some users don't want the warning message about a supply pin overwriting a generated net default name (starting with N$). Setting this option to '1' disables that warning.

Top

SHOW

Function

 Highlights objects.

Syntax

 SHOW ..

 SHOW name..

 SHOW @ name..

Mouse keys

Ctrl+Left toggles the show state of the selected object.

See also INFO.

The SHOW command is used to highlight objects. Details are listed in the status bar. Complete signals and nets can be highlighted with the SHOW command. If a bus is selected, all nets belonging to that bus will also be highlighted.

Cross Probing

With active Forward&Back Annotation, an object that is highlighted with the SHOW command in a board will also be highlighted in the schematic, and vice versa.

Different Objects

If you select different objects with the SHOW command, every single object is highlighted separately. You can select more than one object for highlighting by pressing the Ctrl key when clicking the objects. When you click on an object that is already highlighted with the Ctrl key pressed, that object will be displayed non-highlighted again. If several names are entered in one line, all matching objects are highlighted at the same time.

Small Objects

If the @ character is given in the command line, a pointer rectangle is drawn around the shown object. This is helpful in locating small objects that might still not be noticeable even with highlighting applied. If more than one object is shown, the rectangle is drawn around all the objects. It may be necessary to zoom out (or do a WINDOW FIT command) in order to see the pointer. If an object with the literal name @ shall be shown, the name must be enclosed in single quotes.

Wildcards

If a 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'.

The special pattern [number..number] forms a bus name range and is therefore not treated as a wildcard pattern in a schematic.

Objects on different sheets

If an object given by name is not found on the current schematic sheet, a dialog is presented containing a list of sheets on which the object is found. If the object is not found on any sheet, the sheet number is '-' in this list. Note that this dialog only appears if any of the objects given by name (or wildcards) is not found on the current sheet. If all given objects are found on the current sheet, no dialog appears (even if some of the objects are also present on other sheets). Once the dialog appears, it contains all objects found, even those on the current sheet.

Examples

SHOW IC1

IC1 is highlighted and remains highlighted until the SHOW command is ended or a different name is entered.

SHOW IC*

Highlights all objects with names starting with "IC".

Top

SIGNAL

Function

 Defines signals.

Syntax

 SIGNAL ..

 SIGNAL signal_name ..

 SIGNAL signal_name element_name pad_name..;

See also AUTO, ROUTE, NAME, CLASS, LINE, RATSNEST, EXPORT.

The SIGNAL command is used to define signals (connections between the various footprints). The user must define a minimum of two element_name/pad_name pairs, as otherwise no airwire can be generated.

Mouse Input

To do that you select (with the mouse) the pads (or smds) of the elements to be connected, step by step. EAGLE displays the part signals as airwires in the Unrouted layer. If input with signal_name the signal will be allocated the specified name.

Text Input

Signals may also be defined completely by text input (via keyboard or script file). The command

SIGNAL GND IC1 7 IC2 7 IC3 7;

connects pad 7 of IC1...3. In order to enter a whole netlist, a script file may be generated, with the extension *.scr. This file should include all of the necessary SIGNAL commands in the format shown above.

Connection Check

If the SIGNAL command is used to connect pads (or smds) that already belong to different signals, a popup menu will appear and ask the user if he wants to connect the signals together, and which name the signal should get.

Outlines data

The special signal name OUTLINES gives a signal certain properties that are used to generate outlines data. This name should not be used otherwise.

Top

SIM

Function

 Run spice simulation.

Syntax

 SIM

See also EXPORT, INFO, ADDMODEL, MAPTOMODEL, SOURCESETUP, VALUE.

Spice Simulation

Basic Operation

The SIM command is used to kickoff a spice simulation from EAGLE. Parts must be simulation-capable, and a managed library called ngspice-simulation is provided with EAGLE. Start the SIM command by typing SIM in the EAGLE command line, or click SIM command. Configuration, netlist, sim results and plot are shown in the corresponding tabs in the simulation dialog.

Supported simulators are listed below:

Passive Sign Convention

Note that EAGLE uses the passive sign convention (PSC) which states that the power is positive when current flows into the positive terminal of a device. This means that loads typically have positive power dissipation (they use power) and sources have negative power dissipation (they deliver power).

Simulation Dialog Tabs

When the SIM command starts, the simulation dialog pops up. The dialog has multiple tabs:

Simulation-capable Library Parts

To use the simulator, all parts must be simulation-capable. This means that there are certain attributes the parts must have to work within the EAGLE simulation environment. The library called **ngspice-simulation** is a basic simulation-capable library that is provided with EAGLE, and all parts from that library can be used in a simulation.

Ground

A valid ground symbol has an attribute SPICEGROUND with empty value. At least one ground symbol must be present and connected to some net in your circuit for the simulator to calculate without errors.

Initial Conditions

In addition to being able to set the values and attributes for simulation-capable parts, you can also set initial conditions for the part (such as initial voltage for a capacitor). Initial conditions are added as attributes (see below).

Spice Mapping

For spice simulation-capable parts, each pin must have an order with which it is mapped to the spice model. This property maps the pin to the correct input in a spice subcircuit, or model card, or intrinsic model. For example, consider an opamp part that 5 pins. In the library symbol for the opamp, there must be 5 pins and correspondingly, in the spice model there must be 5 inputs. The order value for each pin is a number, starting with 1, that maps the pin to the model input parameter. This mapping is done by making a part spice-compatible using ADDMODEL then using the MAPTOMODEL command in the library device editor, and in schematic.

When a part is mapped in a library, it stores the spice model in the library part. Regardless of whether a part had a preconfigured mapping from a library, the user can always remap a part in the schematic, in which case the part itself will store the information and override the library information. There is a mapping interface provided by the ADDMODEL and MAPTOMODEL commands to allow you to map part pins to model pins.

Part Attributes: When users map parts in a schematic, the following attributes are used.

Spice Model Usage

Some components (such as transistors, diodes, and subcircuits), by definition, require the use of spice models and spice model cards. To use a model for a component, there are two steps **Using Models**
  1. Use the MAPTOMODEL command to add the proper attributes to the part, and
  2. Place the model file in either the global /models/ directory or in the same directory as the schematic

Note that the search order is as follows:

  1. If the part was mapped in a library, it must exist in the library, otherwise ...
  2. The model file is first searched in the directory where the schematic design resides
  3. If not present there, then the user-configurable /models/ directory is searched

If the model is not found in one of the three places noted above, then it will not be added to the netlist and the simulation will fail. The simulation results will note that the model was not found.

Netlists

EAGLE can generate spice-compatible netlists at any time by invoking the [EXPORT SPICENETLIST](ECD-CLI-E.html#x63) command. Netlists are saved in the same folder as the schematic and have the extension ***.sch.net**.

The files with extension ***.sch.final.net** are the same netlists but with the latest simulation configuration included. These are the files sent to the simulator, and the ***.sim** files are the simulator raw output.

The ***.sim.proc.log** files are the response from the system when running the simulator, and can be helpful in case of system or setup issues.

Netlist Features

The netlist is generated by EAGLE, and used for simulation, however, you have the ability to manually modify the netlist, and run a simulation based on the manually edited netlist. To edit a netlist, just make changes in the netlist tab, and if you click simulate from the netlist tab, it will simulate using the manually-edited netlist.

Plotting

For simulations that have results that can be plotted (AC, DC, TRAN), the plot tab will automatically open and plot the data. IF the design contains no probes, node voltages for all named nodes, and currents for all sources will be shown. If there are probes in the design, then only those signals probed will show.

Use the mouse to zoom in on a particular area on the plot by clicking and dragging a zoom window. To zoom out, double-click on the plot. As the mouse moves all signals are traced and the corresponding values are shown in the plot legend.

Source Setup

For spice simulation-enabled parts that have a prefix of V or I (spice-independent sources), the SOURCESETUP command offers a user-interface for setting up the DC, AC, and transient function parameters for a source part. Sine, exponential, and pulse functions are currently supported.

Supported Features

Top

SIMOPTOGGLE

Function

 Toggle O.P. simulation results on or off

Syntax

 SIMOPTOGGLE

See also SIM

Top

SLICE

Function

 Splits lines.

Syntax

 SLICE [width] [ripup]

See also DELETE, RIPUP.

The SLICE command is used to cut lines in two. This can be used to separate board traces or schematic nets for rerouting. The width defines how much of the line is removed by the slice. The amount of a line that is removed is the larger of either the width setting or twice the line width. Only lines from displayed layers can be sliced. Air lines and polygons are not sliced.

Three ripup options are available for Slicing: 1) Slice without ripup (the default) 2) Ripup segments left of the slice 3) Ripup segments right of the slice. These options are available as icons on the parameter bar. Additionally, the SLICE command can be invoked from the command line with optional control over ripup: "SLICE None" for no ripup, "SLICE L" for ripup left of the slice line, and "SLICE R" for ripup right of the slice line. The ripup direction is in relation to the direction of the slice line, where the slice line is like an arrow or vector from the start point to the end point.

Top

SMD

Function

 Adds smd pads to a footprint.

Syntax

 SMD [x_width y_width] [-roundness] [orientation] [flags] ['name'] ..

Mouse keys

Center selects the layer.

Right rotates the smd.

Shift+Right reverses the direction of rotating.

See also PAD, CHANGE, NAME, ROUTE.

The SMD command is used to add pads for surface mount devices to a footprint. When the SMD command is active, an smd symbol is attached to the cursor. Pressing the left mouse button places an smd pad at the current position. Entering numbers changes the x- and y-width of the smd pad, which can be up to 200 mm (7.7840 inch). These parameters remain as defaults for successive SMD commands and can be changed with the CHANGE command. Pressing the center mouse button changes the layer onto which the smd pad will be drawn.

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.

Roundness

The roundness has to be entered as an integer number between 0 and 100, with a negative sign to distinguish it from the width parameters. A value of 0 results in fully rectangular smds, while a value of 100 makes the corners of the smd fully round. The command

SMD 50 50 -100 '1' 

for example, would create a completely round smd named '1' at the given mouse click position. This can be used to create BGA (Ball Grid Array) pads.

Arbitrary Pad Shapes

If the standard smd pad shapes are not sufficient for a particular footprint, you can create arbitrary smd pad shapes by drawing a polygon around an smd pad, or by drawing wires that have one end connected to the smd pad.The following conditions apply:

Names

SMD names are generated automatically and may be modified with the NAME command. Names may be included in the SMD command if enclosed in single quotes.

Flags

The following flags can be used to control the appearance of an smd:

NOSTOP don't generate solder stop mask
NOTHERMALS don't generate thermals
NOCREAM don't generate cream mask

By default an smd automatically generates solder stop mask, cream mask and thermals as necessary. However, in special cases it may be desirable to have particular smds not do this. The above NO... flags can be used to suppress these features.

A newly started SMD command resets all flags to their defaults. Once a flag is given on the command line, it applies to all following smds placed within this SMD command.

Single Smds

Single smd pads in boards can only be used by defining a footprint with one smd.

Top

SMDARRAY

Function

 Create arrays of smds.

Syntax

 SMDARRAY [sides base start count dx dy unit drawrect includename includevalue deleteobjs]

See also SMD.

The SMDARRAY command allows to create an array of smds in the Library Footprint Editor. If the command is started from the icon in the SMD parameter toolbar, a dialog pops up where the options for sides, basename, start index, number of smds, and others are set before creating the array. If the command is started from the command line and arguments are provided, the same options are available as specified below.

Options

If the arguments are provided after the command, all need to be present:

sides This can be L, R, LR, T, B, OR TB, to indicate which sides of a rectangle to draw the smds, where L=Left, R=Right, T=Top, and B=Bottom.
base This is the base name to use when naming smds, where smds are named such that the first pin is and subsequent smd are named with an increasing numerical suffix (i.e, ADDR1, ADDR2, .. ADDRN). The last smd placed with have a name given by
start The is the start index for smd naming. The first smd starts with a name
count The number of smds to place.
dx The distance in X direction between smds.
dy The distance in Y direction between smds.
unit Valid values are: MIC (for micron), MM (millimeter), MIL (mil = 0.001 inch), INCH.
drawrect ON or OFF, indicates whether or not to draw a rectangle in the SilkscreenTop layer as part of the operation
includename ON or OFF, indicates whether or not to place a text object with >NAME as the value
includevalue ON or OFF, indicates whether to place a text object with >VALUE as the value
deleteobjs ON or OFF, indicates whether to delete smds, labels, and line objects before placing the array

Top

SOURCESETUP

Function

 Used to set up the DC, AC, and transient parameters for a simulation-compatible source part.

Syntax

 SOURCESETUP name

See also ADDMODEL, SIM, DSOURCESETUP.

This command is used to set the value of a spice-compatible source part (valid for parts with spice prefix V or I). DC, AC, and Transient function (sine, exponential, and pulse) values are available from the UI. The user can always set the value directly for other valid source values. Command available as context menu item on part instances in schematic, as well as through command line and with a toolbar command button. If the part is not yet spice compatible, ADDMODEL is started to convert the part before setting up the part.

Top

SPLIT

Function

 Splits wires and polygon edges into segments.

Syntax

 SPLIT [curve | @radius] ..

Mouse keys

Right changes the wire bend style (see SET Wire_Bend).

Shift+Right reverses the direction of switching bend styles.

Ctrl+Right toggles between corresponding bend styles.

Ctrl+Left when placing a wire end point defines arc radius.

See also MITER, MOVE, OPTIMIZE, SET.

The SPLIT command is used to split a wire (or segment) or a polygon edge into two segments in order, for example, to introduce a bend. This means you can split wires into parts that can be moved with the mouse during the SPLIT command. A click defines the point at which the wire is split. The shorter of the two new segments follows the current wire bend rules and may therefore itself become two segments (see SET Wire_Bend). The longer segment is a straight segment running to the next end point.

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

On executing the SPLIT command, the segments that are aligned are automatically rejoined. This will be disabled if the command

SET OPTIMIZING OFF;

has previously been given, or if the wire has been clicked at the same spot twice. In this case, the split points remain and can be used, for example, to reduce the width of a segment. This is achieved by selecting the SPLIT command, marking the part of the wire which is to be reduced with two mouse clicks, and entering

CHANGE WIDTH width

The segment is then clicked to complete the change.

Top