Updates library objects.

UPDATE library_name..;
UPDATE package_name@library_name..;
UPDATE +@ | -@ [library_name..];
UPDATE old_library_name = new_library_name;


The UPDATE command checks the parts in a board or schematic against their respective library objects and automatically updates them if they are different. If UPDATE is invoked from the library editor, the packages within the loaded library will be updated from the given libraries.

If you activate the UPDATE command without a parameter, a file dialog will be presented to select the library from which to update.

If one ore more libraries are given, only parts from those libraries will be checked. The library names can be either a plain library name (like "ttl" or "ttl.lbr") or a full file name (like "/home/mydir/myproject/ttl.lbr" or "../lbr/ttl").

Update in a board or schematic

If the command is terminated with a ';', but has no parameters, all parts will be checked.

If the first parameter is '+@', the names of the given libraries (or all libraries, if none are given) will get a '@' character appended, followed by a number. This can be used to make sure the libraries contained in a drawing will not be modified when a part from a newer library with the same name is added to the drawing. Library names that already end with a '@' character followed by a number will not be changed.

If the first parameter is '-@', the '@' character (followed by a number) of the given libraries (or all libraries, if none are given) will be stripped from the library name. This of course only works if there is no library with that new name already in the drawing.

Please note that "UPDATE +@;" followed by "UPDATE -@;" (and vice versa) does not necessarily result in the original set of library names, because the sequence in which the names are processed depends on the sequence in which the libraries are stored in the drawing file.

The libraries stored in a board or schematic drawing are identified only by their base name (e.g. "ttl"). When considering whether an update shall be performed, only the base name of the library file name will be taken into account. Libraries will be searched in the directories specified under "Libraries" in the directories dialog, from left to right. The first library of a given name that is found will be taken. Note that the library names stored in a drawing are handled case insensitive. It does not matter whether a specific library is currently "in use". If a library is not found, no update will be performed for that library and there will be no error message.

Using the UPDATE command in a schematic or board that are connected via active Forward&Back Annotation will act on both the schematic and the board.

At some point you may need to specify whether gates, pins or pads shall be mapped by their names or their coordinates. This is the case when the respective library objects have been renamed or moved. If too many modifications have been made (for example, if a pin has been both renamed and moved) the automatic update may not be possible. In that case you can either do the library modification in two steps (one for renaming, another for moving), or give the whole library object a different name.

When used with old_library_name = new_library_name (note that there has to be at least one blank before and after the '=' character), the UPDATE command locates the library named old_library_name in the current board or schematic, and updates it with the contents of new_library_name. Note that old_library_name must be the pure library name, without any path, while new_library_name may be a full path name. If the update was performed successfully, the library will also be renamed accordingly - therefore this whole operation is, of course, only possible if new_library_name has not yet been used in the current board or schematic.

Note: You should always run a Design Rule Check (DRC) and an Electrical Rule Check (ERC) after a library update has been performed in a board or a schematic!

Update in a library

The update in a library replaces all packages within that library with the versions from the given libraries.

By specifying the package name (package_name@library_name) you can have only a specific package be replaced.

Index Copyright © 2005 CadSoft Computer GmbH