SparkFun Forums 

Where electronics enthusiasts find answers.

Questions relating to designing PCBs
By ill_switch
#93062
Hello all,

I occasionally come across EAGLE project files (brd, sch) from other folks that contain parts (made by that person) I want to use in other projects I'm working on. If I want to use the part as-is, I've found it's easy to cut/paste from one EAGLE project to another.

However, what if I want to change something - say, the pad shape? Or, if I want to add a new package to their part? I've found it's easy to use the "copy to library" function to copy a part from one library to another. But if another user has created their own custom part in a library I don't have, I can't do that.

Is there a way to copy a part out of a project and add it to one of my own libraries? I've been poking around for half an hour this morning and can't figure it out. I'd rather not replicate the part from scratch just to change one little detail!
By glenn@trewitt.org
#160321
Summary: There's a ULP that extracts all parts in a project, but you can't just copy one part.

I had the same problem: I had defined some parts in my own library - but stored it in Eagle-5.x/lbr. A VERY BAD MISTAKE. When I upgraded to Eagle 6, I deleted the old application folder without thinking about it. I was able to fully recover, however, with this one simple trick. :wink:

Use the ULP exp-lbrs.ulp. It will collect all of the parts in the project and re-create the libraries they came from. I suggest using the defaults:
Path - will put the reconstructed libraries in your project directory.
Merge to one library (not selected)
You almost certainly do *not* want to merge to one library. The default (not checked) will preserve the assignment of parts to library. For example, if some parts came from a Sparkfun library, they will be assigned to a library with that name. So, I'll end up with:
My Project/
led.lbr
My Project.brd
My Project.sch
rcl.lbr
SparkFun-Connectors.lbr
SuperSpecialParts.lbr
You probably only care about the parts in SuperSpecialParts.lbr, since you can find and use the others in the standard Eagle (or SparkFun) libraries.