Adding 3d models and patches to third party managed libraries

This widget could not be displayed.

Adding 3d models and patches to third party managed libraries

Anonymous
Not applicable

I am using several libraries provided by Library.io that only provide the basic generated 3d models (e.g. a Wurth Elektronik lbr containing Terminal Blocks).

 

I am able to fork and apply a custom 3D package in the board editor for a single instance of a device. However there seems to be no sensible way to apply the same 3D package to all the same devices on the board at once. I can not imagine having to replace all the devices manually one by one after finishing the board design.

 

In my attempt to work around the problem by creating a privately managed copy of the public managed library there seems to be no way to simply replace all the used parts form an entire library. The current option is to manually update each device in the schematic editor… Which is extremely time consuming and error prone if you ever want to switch from source library.

 

An additional great feature would be in my opinion to be able to fork a public library, add modifications (e.g. add a new 3d package) to the library and create a pull request to the maintainer in a similar fashion to that of software development on e.g. Github. This way we can all benefit from up to date libraries.

 

So my question for now, is there currently any way to replace(or override) the 3D package of an existing design for multiple instances of the same device in a reasonable way?

0 Likes
Reply
Accepted solutions (1)
521 Views
4 Replies
Replies (4)

Anonymous
Not applicable

Update: Found a kind of hackisch work around in order to be able to continue.

 

  1. Apply a custom 3D package to one of the parts
  2. Safe and close the project files
  3. Edit the XML of both the .sch and .brd files by copying the following attributes to the other devices in the project:
    • override_package3d_urn
    • override_package_urn
0 Likes

rachaelATWH4
Mentor
Mentor

@Anonymous wrote:

Update: Found a kind of hackisch work around in order to be able to continue.

 

  1. Apply a custom 3D package to one of the parts
  2. Safe and close the project files
  3. Edit the XML of both the .sch and .brd files by copying the following attributes to the other devices in the project:
    • override_package3d_urn
    • override_package_urn

 

Haha, yep that definitely classes as hackish! 😄 Nice job getting it to work though 🙂

 

Disclaimer: Backup your design before trying the following! 🙂

 

How about this. Use the build in library export function from File->Export->Libraries from the schematic editor. When you export this make sure to check the "Generate Replace Script" option. Once it's exported then use the replace script to replace all the parts in the design for ones in the newly generated local libraries. Note and 3D models which were there from the libraries previously will be removed. Now, make these managed libraries (or use my other method for 3D without managed libs but that's another conversation) and add your 3D models. Now from either the schematic or board run Library->Update All and you should have all your newly 3D enabled devices correctly in your design.

 

Best Regards,

 

Rachael

0 Likes

Anonymous
Not applicable

Hi Rachel,

 

Thanks for the proposed solution, that might indeed work when I export them as separate libraries. 🙂


I am currently doing something similar as to what the generated replacement script is performing. Which is to clone the managed library and simply search and replace the library and/or 3d model URN in the XML data. Not sure how this holds up in the long run, but I would expect a similar feature to appear native in Eagle in the foreseeing future that performs this action through the UI.

 

Kind regards, Roy

0 Likes

jorge_garcia
Autodesk
Autodesk
Accepted solution
Hi @Anonymous,

I hope you're doing well. Definitely, the first thing you should do is copy the part to a personal private managed library and make the changes there. Now, there is a little known option of the UPDATE command which may be able to help here. See HELP UPDATE. Here's the specific command, it has some limitations but may be able to work in your case:
"
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 or URN. If the update was performed successfully, the library in the current board/schematic file 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.
"

Another option, is to do a group replace using the object inspector. That would probably work well.

Let me know if there's anything else I can do for you.

Best Regards,


Jorge Garcia
​Product Support Specialist for Fusion 360 and EAGLE

Kudos are much appreciated if the information I have shared is helpful to you and/or others.

Did this resolve your issue? Please accept it "As a Solution" so others may benefit from it.