Discussion:
Eagle library export issue
(too old to reply)
Erik Arckens
2016-11-18 17:09:51 UTC
Permalink
When a library is extracted from a .brd file with the file/run ulp/exp-lbrs.ulp command then all separate parts are stored in individual little libraries in the projects folder where also the .sch and .brd files are.

When in the libraries folder a new library is created for that project and all individual little libraries are copied into this single new library then there still is no live link with the .brd and .sch file. Example: if I change a component in this new single library (for example the pad size from long to round) and activate the "update" button on the library menu, nothing changes in the open .brd file.
If however I make the change in the little individual library and press "update" there, then the component changes in the .brd open file.

How can I change this so that the new library is connected "live" to the corresponding .brd file?

--
To view any images and attachments in this post, visit:
https://www.element14.com/community/message/209767
warrenbrayshaw
2016-11-18 18:59:34 UTC
Permalink
Post by Erik Arckens
When a library is extracted from a .brd file with the file/run ulp/exp-lbrs.ulp command then all separate parts are stored in individual little libraries in the projects folder where also the .sch and .brd files are.
When in the libraries folder a new library is created for that project and all individual little libraries are copied into this single new library then there still is no live link with the .brd and .sch file. Example: if I change a component in this new single library (for example the pad size from long to round) and activate the "update" button on the library menu, nothing changes in the open .brd file.
If however I make the change in the little individual library and press "update" there, then the component changes in the .brd open file.
How can I change this so that the new library is connected "live" to the corresponding .brd file?
--
https://www.element14.com/community/message/209767
Hi, from the newsgroup

There are a few traps for a novice using this ULP. The ULP is fine but
you need to use Eagle correctly to benefit from it.

If you run the ULP from the board the extracted libraries only contain
packages as that is all the board file contains so run it from the
schematic to get the full devices.

You can extract the device all to one new library or many libraries.
Lets say you extract to many libraries, that way the names remain the same.

There are considerations here as the ULP is not to build you a library
that you can manipulate straight away to make changes to the board. The
intention is to just get the libraries from sch/brd pair you acquired
from somewhere. This is important as it came from a foreign environment.

Lets say your board consists of a single resistor and the original
designer got the part out of the Eagle supplied library rcl.lbr.
When you use the ULP you will get a new library called rcl.lbr created
so now in your PC you have two libraries with the same name and
potentially the same device and package name exists in both libraries.

When 'you' set up Eagle you set the directories where your libraries
live. If the path to your new library is not satisfied by these
directory settings then the loaded sch/brd design cannot reach the
library. So maybe now you add a new path at the end of those already
there for libraries so you can reach the new one. Still no good because
Eagle looks through all the paths in order for the named library/part so
there is a high chance, for our example, that the rcl library and part
will be one from one of the directories listed earlier in the list.

If you make a change to the resistor in the new rcl library, eagle will
always find the other (earlier) rcl library containing the same part and
update the design with that. So you will likely see no change.

When you update the board you need to do it from the board.
If you use 'Update all' then the directory paths mentioned above will be
used. Using 'Update', you specify a specific library.

The update in the library editor only updates the other portions of the
library that may be affected by your library change. Like modifying a
symbol used by many devices. Libraries don't know which boards use their
parts. Schematic and boards only retain the library name and part name,
not where the library lives.

The above is brief and not the full story but you will get the drift.

HTH
Warren
Erik Arckens
2016-11-18 19:50:57 UTC
Permalink
Thank you very much Warren, your answer is as complete and understandable as I could have wished!

Erik

--
To view any images and attachments in this post, visit:
https://www.element14.com/community/message/209816
Hoyt
2016-11-19 04:13:45 UTC
Permalink
The update in the library editor only updates the other portions of the
library that may be affected by your library change. Like modifying a
symbol used by many devices. Libraries don't know which boards use their
parts. Schematic and boards only retain the library name and part name,
not where the library lives
That's also a potential problem and propagation of chaos...you end up
wondering why your boards arrive with oblong pads or some other unexpected
result. Eagle should make it absolutely impossible to have more than one
device, symbol or package with a duplicated name anywhere in the library
system. Doing otherwise invites chaos. If you want a slightly different
version of a 2N3904, it must be enforced to have a different library
storage name (2N3904_style2, 2N3904#ver2, etc).

Fifty devices each called exactly "2N3904" floating around in different &
unknown locations, having exactly the same or POSSIBLY substantially
different parameters than its cousins is a recipe for madness. Apparently
there is not even a way to compare and find out what those 50 potential
differences are.
--
http://www.eaglecentral.ca :: The original and best browser access to CadSoft EAGLE support forums. Supported by EAGLE licenses purchased through us :: http://www.eaglelicenses.com
Erik Arckens
2016-11-19 04:33:22 UTC
Permalink
Interesting note!

Would it be best then to keep a library per project and export to a new library in a new project whatever is necessary? And maybe also keep a general "overall" library where all updated devices are being kept, so that it can be used as a "personal master library"?

Erik

--
To view any images and attachments in this post, visit:
https://www.element14.com/community/message/209847
Rob Pearce
2016-11-19 08:56:41 UTC
Permalink
Post by Erik Arckens
Interesting note!
Would it be best then to keep a library per project and export to a new library in a new project whatever is necessary? And maybe also keep a general "overall" library where all updated devices are being kept, so that it can be used as a "personal master library"?
I suppose you could...

Or you could always keep all of your libraries in one place, only use
the ones you've created (or, at minimum, thoroughly reviewed and edited
as needed), and be disciplined about it. These libraries would then
always adhere to your "house style".

You may need more than one set of libraries if you do work for several
customers with different house styles, of course. And if you frequently
do a single project for a customer, that will largely boil down to what
you suggest.
Tim Lee
2019-10-09 03:33:55 UTC
Permalink
Hi I have experienced the same problem where the newly created library is not linked to the sch/brd files. A couple years ago I found a way to re-assign the existing library nameĀ  of each part to the newly created combined library. Unfortunately old age has caught up to me and I can't remember the command that did this. Can someone tell us how we can do this. All I remember is I typed in the command and then I clicked each component on the schematic and then the associated library became the newly created library. Thanks

--
To view any images and attachments in this post, visit:
https://www.element14.com/community/message/283333

Loading...