|
|
|
What's new in version 5.0?
Platforms
- The minimum system requirement on Windows platforms is now Windows 2000,
XP or Vista.
- The Mac OS X version of EAGLE no longer requires an X11 server, and
comes as a "Universal Binary" that runs on PPC and Intel Macs.
- The Linux version now comes as a a self extracting shell script with a
setup dialog.
- The buttons in dialogs are now placed in the sequence suggested by the
interface guidelines for the particular platform.
- The Windows version of EAGLE now stores the 'eaglerc.usr' file under
the directory that is defined by the registry key "HKEY_CURRENT_USER\
Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData"
if no environment variable named HOME is defined. If no such file exists
at the new location, it tries to read it from the old location.
User interface
User Language
- Entries in a dlgListView are now displayed in multiple lines if they
contain '\n' characters.
- The User Language function UL_POLYGON.contours() now supports a second
parameter that allows looping through 'positive' and 'negative'
polygons separately.
- The User Language function UL_CLASS.clearance now accepts a parameter
that allows retrieving the clearance between two net classes.
- The User Language objects UL_ELEMENT and UL_INSTANCE now have a new
member function 'smashed'.
- Include statements in ULPs that contain relative paths, as in
#include "dir/file.ulp"
are now searched for within the directories entered under
"Options/Directories/User Language Programs".
- The new User Language function timems() delivers the time in milliseconds
since the start of the ULP.
- The new User Language function ingroup() can be used to check whether an
object is within the current group.
- The new User Language function system() can be used to execute external
programs.
- The User Language objects UL_ELEMENT, UL_INSTANCE and UL_NET have new
data members 'column' and 'row' which return the location within a
drawing frame.
- The User Language member functions UL_ELEMENT.smashed and
UL_INSTANCE.smashed now accept an optional parameter text name that allows
you to query whether there is a smashed parameter text by that name.
- In the User Language the labels of a segment (both bus as well as net)
can now be accessed through the new object type UL_LABEL, which is
generated by the new loop member UL_SEGMENT.labels(). The old way of
accessing labels through UL_SEGMENT.texts() is now deprecated and won't
handle cross-reference labels correctly. The actual text of a label is
now returned by UL_LABEL.text.
- The User Language object UL_SCHEMATIC has a new member 'xreflabel',
which returns the format string used to display cross-reference labels.
- The User Language object UL_SCHEMATIC has a new member 'xrefpart',
which returns the format string used to display part cross-references.
- The User Language object UL_INSTANCE has a new loop member named 'xrefs',
which loops through the gates that represent the contact cross-reference.
Screen drawing
- Drawing on screen no longer uses "raster OPs". The individual layers
are now drawn using "alpha blending". Each color (except for the
background color, which is always opaque) can have its own alpha value,
which defines how transparent it is. A value of 0 means the color is
fully transparent (i.e. invisible), while 255 means the color is
completely opaque. When reading an eaglerc file from an older version,
the alpha values of all colors are initialized to a default value if
all palette entries have an alpha value of 0.
When printing, the alpha values are always set to 255.
- Since the layer colors no longer use additive mixing, but rather use
alpha blending, the default background color in the layout editor
window has been changed to white.
- If you want to have the old raster OP behavior on black background,
you can uncheck the "Use alpha blending" box in the "Options/Set/Colors"
dialog. In that case the alpha value defined for the colors is ignored
when using a black background, and colors are mixed using an OR function.
User defined Attributes
- In a library, devices can now have "attributes", which are arbitrary
user definable "name/value" pairs. Attributes are related to the individual
"technology" variants of a device.
- The new command ATTRIBUTE can be used to define the attributes of a given
technology variant (see "Help/Editor commands/ATTRIBUTE" for details).
- The new User Language object UL_ATTRIBUTE can be used to access attributes
(see "Help/User Language/Object Types/UL_ATTRIBUTE" for details).
- The User Language objects UL_PART, UL_INSTANCE, UL_ELEMENT and UL_DEVICE
have a new loop member named 'attributes()'.
- The User Language objects UL_PART and UL_ELEMENT have a new member function
named 'attribute()', which can be used to query a part for the value of a
given attribute.
- The User Language object UL_ELEMENT has a new member function named
'attribute()', which can be used to query an element for the value of a given
attribute.
- In a 'symbol' or 'package' drawing, any text that starts with a '>' character
and matches an attribute name of the actual part or element will be replaced
by the attribute value in the schematic or board, respectively (see
"Help/Editor commands/TEXT" for details).
- The SMASH command now smashes all texts in the symbol or package that start
with '>' and match an actual attribute name, and assigns them as attributes
to the part (except for the traditional placeholder texts like ">NAME",
">VALUE" etc., which are treated like before).
- Boards and schematics can now have global attributes.
- The User Language objects UL_BOARD and UL_SCHEMATIC have a new loop member
named 'attributes()', which can be used to loop through the global
attributes.
Locking the position of a part
- The new command LOCK can be used to lock the position of a part in the
board.
- The origin of a locked part is displayed as an 'x' to have a visual
indication that the part is locked.
- The User Language object UL_ELEMENT has a new data member 'locked', which
return the setting of the lock flag.
Popup menus for buttons
- Various buttons in the editor window now have a popup menu that contains
a list of recently used items or user defined aliases (depending on the
button type). These buttons are marked with a small black arrow at the
bottom right corner of their icon. To access this list, click on the
button and hold the mouse button pressed until the list pops up, or
click on the button with the right mouse button.
- The button popup menus for DISPLAY, GRID and WINDOW contain two special
entries: "Last" restores the previous settings, and "New..." queries the
user for a new alias name and stores the current settings under that name.
Aliases for command parameters
Inverted names
- The names of inverted ("active low") signals can now be displayed with
a bar over the text ("overline"). To do so, the name needs to be preceded
with an exclamation mark ('!'), as in
!RESET
which would result in
_____
RESET
This is not limited to signal names, but can be used in any text. It is
also possible to overline only part of a text, as in
!RST!/NMI
R/!W
which would result in
___
RST/NMI
_
R/W
Note that the second exclamation mark indicates the end of the overline.
There can be any number of overlines in a text. If a text shall contain
an exclamation mark that doesn't generate an overline, it needs to be
escaped by a backslash. In order to keep the need for escaping exclamation
marks at a minimum, an exclamation mark doesn't start an overline if it
is the last character of a text, or if it is immediately followed by a
blank, another exclamation mark, a double or single quote, or by a right
parenthesis, bracket or brace. Any non-escaped exclamation mark or comma
that appears after an exclamation mark that started an overline will end
the overline (the comma as an overline terminator is necessary for busses).
- When updating files from older versions, a backslash in any pin, net, bus
or signal name will be replaced with the appropriate exclamation mark.
Any backslash or exclamation mark in a normal text will be escaped by
preceding it with a backslash as necessary, since the backslash is now a
real escape symbol in texts.
Drawing frame
- The new command FRAME can be used to draw a frame with numbered columns
and rows.
- The new User Language object UL_FRAME can be used to access the data
of a drawing frame.
- The User Language objects UL_ELEMENT, UL_INSTANCE and UL_NET have new
data members 'column' and 'row' which return the location within a
drawing frame.
- The drawing frames in the "frames" library now use this new frame object.
Cross-reference labels
- A "label" on a net segment now has a new property named "xref", which
puts it into "cross-reference" mode. In this mode it will be displayed
according to the "Xref label format" string defined under
"Options/Set/Misc", and will show its text at a different offset from
its origin, so that it can be placed nicely at the end of a net wire.
- A cross-reference label that is placed on the end of a net wire will
connect to the wire so that the wire is moved with the label, and vice
versa.
- The format of cross-reference labels can be defined in the
"Options/Set/Misc" dialog under "Xref label format". See
"Help/Editor Commands/LABEL" for a list of placeholders that can be
used here.
- The User Language object UL_SCHEMATIC has a new member 'xreflabel',
which returns the format string used to display cross-reference labels.
- The SET command has the new parameter XREF_LABEL_FORMAT, which can
be used to define the cross-reference label format string.
- The CHANGE command has a new option XREF that can take the values OFF
and ON, and can be used to change whether a label is "plain" or
"cross-reference".
- The LABEL command has the new option XREF to define a cross-reference
label. There are also two new icons in the parameter toolbar to set this
option.
- In the User Language the labels of a segment (both bus as well as net)
can now be accessed through the new object type UL_LABEL, which is
generated by the new loop member UL_SEGMENT.labels(). The old way of
accessing labels through UL_SEGMENT.texts() is now deprecated and won't
handle cross-reference labels correctly. The actual text of a label is
now returned by UL_LABEL.text.
Part cross-reference
- The new text variable '>XREF' can be used in a symbol drawing to display
a cross-reference to the MUST gate of the device this symbol is used in.
A typical application for this are the contacts of a relay, where the
'>XREF' text variable would display the frame coordinates of the relay's
coil.
- The format of part cross-references can be defined in the
"Options/Set/Misc" dialog under "Xref part format". See
"Help/Editor Commands/TEXT" for a list of placeholders that can be
used here.
- The SET command has the new parameter XREF_PART_FORMAT, which can
be used to define the part cross-reference format string.
- The User Language object UL_SCHEMATIC has a new member 'xrefpart',
which returns the format string used to display part cross-references.
Contact cross-reference
- EAGLE can now automatically generate a contact cross-reference, which is
mainly used for relay coils and contacts in electrical schematics.
- The contact cross-reference is generated for the first MUST gate in a
part, and will display all other gates that have an '>XREF' text variable
in their symbol drawing. The MUST gate is typically the coil of a relay,
while the other gates are the contacts.
- The contact cross-reference is displayed at the same X coordinate as the
MUST gate, and at the Y coordinate defined by a text variable with a
value of '>CONTACT_XREF'. This text can be placed either in a frame
symbol, or directly on the schematic sheet drawing. The first one
encountered will be used. If no such text is found, no contact
cross-reference will be generated.
- The User Language object UL_INSTANCE has a new loop member named 'xrefs',
which loops through the gates that represent the contact cross-reference.
ADD command
- The syntax of the ADD command has been changed to allow using libraries
with blanks in their file name. Note that now the device, package or
symbol name always has to come first.
ASSIGN command
- On the Mac the ASSIGN command now knows the "Cmd" modifer key.
BOARD command
- The BOARD command now accepts a parameter that defines the raster in
which to place the parts when generating the board, as in
BOARD 5mm
which would place the parts in a 5 millimeter raster (default is 50mil).
The number must be given with a unit, and the maximum allowed value
is 10mm.
CHANGE command
- The CHANGE command now selects only objects that actually possess the
property that shall be changed.
- When selecting an object with the CHANGE command, that object is now
flashed to indicate the change to the user.
- CHANGE LAYER now also works with a group.
- The new CHANGE option DISPLAY can be used to change the display mode of
an attribute.
- The options in the CHANGE popup menu are now sorted alphabetically.
- CHANGE TEXT now accepts the new text on the command line and allows it
to be applied to any number of text objects or the current group.
- The CHANGE command has a new option XREF that can take the values OFF
and ON, and can be used to change whether a label is "plain" or
"cross-reference".
CLASS command
- The minimum clearance between signals of different net classes can
now be defined in a matrix, allowing you to define separate individual
values for any combination of two net classes, as well as within the
same net class (see "Help/Editor Commands/CLASS").
COPY command
- The COPY command can now copy a group by clicking with the right mouse
button.
DELETE command
- The DELETE command can now select parts, pads, smds, pins and gates by
name. The option SIGNALS to delete all signals in a board still exists,
so if a part with the name SIGNALS shall be deleted, its name must be
written in single quotes.
DISPLAY command
DRC command
- The DRC now reports wires in supply layers as errors if they are part of
a signal that is connected to any pad or smd.
- The DRC now always checks all signal layers, no matter whether they are
currently visible or not.
- The DRC now reports an error if an object in the t/bPlace, t/bNames or
t/bValues layer overlaps with an object in the t/bStop layer (provided
these layers are active when the DRC is run).
- The DRC no longer reports objects in the Top or Bottom layer that
intersect with objects in the t/bRestrict layer in the same package.
- The DRC now distinguishes between clearance violations and actual
overlaps of copper between different signals.
- The Design Rules dialog now marks the name of the Design Rules with an
asterisk if they have been modified.
EDIT command
- The EDIT command can now insert and reorder schematic sheets.
- Switching between sheets in a schematic no longer clears the undo
buffer. Adding, removing or reordering a sheet, however, still clears
the undo buffer.
ERC command
- The results of the Electrical Rule Check (ERC) are now listed in a dialog,
where clicking on a list item graphically marks the result in the
editor window (if applicable).
- The parameter Erc.SuppressAdditionalWarnings in the eaglerc file
is obsolete. Errors and warnings are now presented separately in the
ERRORS dialog.
- The ERC now checks for parts with user definable values that have no
actual value.
- The ERC now warns about unconnected input pins of uninvoked gates.
- The ERC now warns if a net has more than one segment, and any of these
doesn't indicate that it is part of a larger net (like, for instance,
though a label, bus or supply pin).
- The ERC now checks whether the name of a net segment that is connected to
a bus is actually contained in that bus.
- The ERC now warns if a pin is connected to a net, but there is no visisble
indication of the connection (like a net wire, junction or another pin).
ERRORS command
- If the ERRORS command is entered without having run an ERC or DRC
before, the appropriate check is now started first automatically.
- The ERRORS dialog now allows the user to mark messages as "approved",
which suppresses the error indicator in the editor window (see
"Help/Editor Commands/ERRORS").
EXPORT command
- The default output format for EXPORT IMAGE is now PNG on all platforms
(on Windows it used to be BMP).
GRID command
- The GRID command now supports "aliases" for parameter settings (see
"Aliases for command parameters").
- The GRID dialog no longer has a "Last" button, because this functionality
is now implemented through the command button popup menu.
GROUP command
- The GROUP command now has a new option ALL, which can be used to define
a group that includes the entire drawing area.
- The GROUP command can now be used with the Shift and Ctrl key to extend
the group or toggle the group membership of individual objects,
respectively.
HELP command
- Since Windows Vista doesn't support the Windows Help file format any more,
EAGLE now uses the same HTML formatted help on all platforms.
- The Help window now has a "Find" bar where you can enter a text that will
be used to filter all help pages, so that only those that contain the
text will be shown.
- The help texts are now stored in one single HTML file for each language.
INFO command
- The INFO command can now select parts, pads, smds, pins and gates by name.
- The INFO command now brings up the same dialog as the Properties
option in the context menu of drawing objects, and also allows changing
properties.
INVOKE command
- If an already invoked gate is selected in the INVOKE dialog, the default
button changes to "Show", and a click on it zooms the editor window in on
the selected gate, switching to a different sheet if necessary.
LABEL command
- The LABEL command has the new option XREF to define a cross-reference
label.
- The LABEL command now accepts an 'orientation' parameter to define the
orientation of the label textually.
MIRROR command
- The MIRROR command now also works with rectangles.
- The MIRROR command can now select parts, pads, smds and pins by name.
MOVE command
- The MOVE command can now select parts, pads, smds, pins and gates by name.
- The MOVE command can now move a group of objects from one schematic sheet
to an other, without modifying the board.
NAME command
- The NAME command can now rename an individual polygon, which moves the
polygon from one signal to another.
- The NAME command can now select parts, pads, smds, pins and gates by name.
PACKAGE command
- The PACKAGE command, when used in the board or schematic editor, now
behave exactly like CHANGE PACKAGE.
PRINT command
- The PRINT command has a new option named FILE, which can be used
to print into a file.
- The PRINT command can now create PDF (Portable Document Format)
files. These files are fully searchable for any (non-vector-font)
texts they contain.
- The PRINT dialog now has a preview of the printed object.
- The scale factor in the PRINT command is now limited to the range
0.001...1000.
- The calibration values for printing are now limited to the range 0.1...2.
- The border values as delivered by the printer driver are now rounded
up to the next higher multiple of 0.1mm.
RATSNEST command
- The RATSNEST command now ignores wires in supply layers.
- The RATSNEST command can now be called with signal names to calculate
only the airwires and polygons of selected signals.
- The RATSNEST command can now hide the airwires of selected signals.
- The RATSNEST command now displays the name of the currently processed
signal in the status line.
- The RATSNEST command now generates airwires for objects inside hatched
polygons that would "fall through" the hatch lines. Thermal and annulus
rings inside a hatched polygon that do not have solid contact to any of
the polygon lines are no longer generated.
REPLACE command
- The REPLACE command now works in the schematic, too.
RIPUP command
- The RIPUP command now has a new option '@' to allow ripping up all
or selected polygons.
- The RIPUP command can now handle wildcards in signal names.
ROTATE command
- The ROTATE command can now select parts, pads, smds and pins by name.
ROUTE command
- The "Via-Layers" combo box has been removed from the parameter toolbar
of the ROUTE command, since the ROUTE command always automatically
determines the minimum necessary via to make a connection.
- The ROUTE command can now select airwires by signal name.
- The ROUTE command no longer allows routing in supply layers.
- The ROUTE command with the Ctrl key pressed can now also start routing at
a via.
SET command
- The new SET variable CATCH_FACTOR defines the distance from the cursor up
to which objects are taken into account when clicking with the mouse (see
"Help/Editor Commands/SET").
- The SET variable GRID_REDRAW is now obsolete, but is still tolerated
for compatibility.
- The SET command can now configure the popup menus for values of Isolate,
Spacing and Miter by setting the Isolate_Menu, Spacing_Menu and Miter_Menu
arrays.
- The SET command has the new parameter XREF_LABEL_FORMAT, which can
be used to define the cross-reference label format string.
- The SET command has the new parameter XREF_PART_FORMAT, which can
be used to define the part cross-reference format string.
SHOW command
- The SHOW command now works with wildcards.
- The SHOW command now highlights the individual nets belonging to a bus
if a bus is selected.
- The SHOW command now accepts a list of arguments and highlights all the
matching objects.
- The SHOW command with the name of an individual instance (like IC1A,
which is the gate A of part IC1) now shows exactly that instance.
- The SHOW command now uses the Ctrl key to toggle the highlight status
of the selected object, which also allows more than one object to be
highlighted at the same time.
SMASH command
- The SMASH command can now select parts by name.
SPLIT command
- The SPLIT command now automatically picks up the next wire segment when
placing a splitted wire. That way an already routed wire can be re-routed
more easily.
- The SPLIT command now also works with the "freehand" wire bend style.
TECHNOLOGY command
- The TECHNOLOGY command, when used in the board or schematic editor, now
behaves exactly like CHANGE TECHNOLOGY.
WINDOW command
- The WINDOW command now supports "aliases" for parameter settings (see
"Aliases for command parameters").
- The WINDOW command has a new option "Last", which restores the settings
as they were before the previous WINDOW command.
CAM Processor
- The output file name in the CAM Processor can now be defined using
several "placeholders" (see "Help/Generating Output/CAM Processor/Output
File"). The old variant of using ".ext" or ".*#" still works, but is
obsolete.
- The photoplotter and drill station info files now start with the fixed
string "Generated by EAGLE CAM Processor", followed by the EAGLE version
number.
Autorouter
- The autorouter now displays in the status line the name of the currently
processed signal and the time (in seconds) it has spent on a particular
connection in case it takes longer than 5 seconds.
Text editor
- The "Find&Replace" dialog in the text editor now has a "Prompt before
Replace" option.
- The keyboard shortcuts in the text editor now follow the platform
specific standards.
Polygons
- When processing signal polygons, round objects are subtracted in such a
way that the resulting error does not exceed 0.05mm (50 micron), which
means that the distance between an object and a generated polygon edge
may be up to 0.05mm larger than the value defined for the clearance or
isolation, respectively. This is done to keep the number of polygon
edges reasonably low.
- Signal polygons in "outline" mode are now displayed with dotted wires,
so that they can be distinguished from other wires.
- Fixed calculating polygons in signals that also contain other wires, vias,
pads or smds. If none of these other objects is on the same layer as the
polygon, the polygon was actually calculated instead of being shown as
outlines.
IMPORTANT NOTE: This fix may cause polygons that have previously been
calculated to be not calculated any more, and thus be missing from the
printout or CAM data! These polygons were electrically "floating", because
they were not connected to any other part of the same signal.
Miscellaneous
- The endings of wires and arcs with cap=round, as well as 'long' and
'offset' pads, are now displayed round on all devices (no more octagonal
approximation).
- GROUP/MOVE now preserves the connectivity between wires, airwires and vias,
even if one of the related layers is not currently displayed.
- Increased the maximum nesting level in config files to avoid problems with
autorouter control files that define a large number of optimizing passes.
- The semicolon (';') is now no longer accepted in object names, to avoid
problems with parsing command lines.
- The Printer.InternalRendering parameter in the eaglerc file
has no meaning any more. Printing under Windows should now always work.
- Trailing whitespace following the continuation character '\' in script
files is now ignored.
- Blanks in layer names are no longer accepted.
- The Windows command line version 'eaglecon.exe' is now created
automatically in the 'bin' directory during installation.
- Selecting objects with only a single selection point (like pads, vias etc.)
has been improved.
- The different language versions are now all installed at once.
Language specific files are distinguished by adding the two letter
language code to their name, as in README_en. The DESCRIPTION files
in directories hold the language specific texts between HTML tags
<language en>...</language>. CAM Processor and Design Rules files
separate different language versions of their parameters by adding,
e.g., [en] to the parameter names, as in Name[en]="Component side".
- The positions of the window splitters in the library editor are now
stored separately for each drawing type.
- If a layer name or a parameter alias entered by the user fully matches,
it is now preferred over a partially matching one. For instance, if there
are two layers named "Abcdef" and "Abc" (in this squence) and the user
enters "Ab", then the first matching layer "Abcdef" will be selected.
If the user enters "Abc", the second, fully matching layer is selected.
- Coordinates and sizes (like width, diameter etc.) can now be given with
units, as in 50mil or 0.8mm. If no unit is given, the current grid unit
is used.
- The info string for parts (as displayed by various command, like SHOW and
MOVE) now also lists the part's value in the status line.
- Entries in the "Open recent" lists are now only added when a file is
actually loaded from or saved to disk.
- When moving a net or bus label, a line is now drawn to the closest point
of the segment this label belongs to.
- If a command displays a progriess bar, the window title now displays the
current percentage.
- Changed the term "Rich Text" to HTML, to avoid confusing it with a
text format from Microsoft.
- In order to allow easier selection of circles that have a a large width
(as compared to their radius), circles can now be selected not only at
their radius, but also at their inner and outer circumference.
- The Professional Edition can now handle up to 999 schematic sheets.
- EAGLE can now automatically check if there is a new version available
on the CadSoft server. You can explicitly run this check through
"Help/Check for Update" from the Control Panel.
- The Projects path under Windows now also contains "$HOME\eagle" to offer
the user a default location for saving own projects.
- The new command line option -C can be used to start EAGLE with a
command string that will be executed in the editor window (see
"Help/Command Line Options").
- Centering on errors now also works if the error is close to the edge
of the drawing.
- Decimal numbers can now be entered with a comma as the decimal separator
(if the locale settings allow this). It is strongly recommended, though,
to use the 'dot' as the decimal separator when writing scripts or ULPs
that return EAGLE commands through the exit() function, otherwise they
might not work on other systems.
- The new schematic layers "Info" (97) and "Guide" (98) can be used for
general information and guide lines, respectively. The latter is mainly
for electrical schematics, to help properly align relay coils etc.
|
|