Create Library Component from Board

Create Library Component from Board

ZoltanFerenczy
Advocate Advocate
698 Views
5 Replies
Message 1 of 6

Create Library Component from Board

ZoltanFerenczy
Advocate
Advocate

I've been doing a workflow a lot where I create a daughter board and then create a library component for the board to use in other designs. It is a very manual process of drawing a footprint to match the board outline and then creating pads to match pin headers' locations. The 3D PCB is then linked to the 3D package.

 

It would be really great if there were some automated tools to generate a footprint from a board and automatically transfer selected pads and silk. It would be even better if they were all linked together, so changes to the board would update the library component.

 

BoardBoardPackagePackageLibrary ComponentLibrary ComponentIn DesignIn Design

 

 

BoardBoardPackagePackageLibrary ComponentLibrary ComponentIn DesignIn Design

699 Views
5 Replies
Replies (5)
Message 2 of 6

yiqiu.han
Alumni
Alumni

Hi, @ZoltanFerenczy 

 

Thanks for let us to learn about your requirement. 

I would recommend you to utilize derive function, nowadays ECAD design functionality is fully embedded in Fusion 360.

You could create a source sketch that contains the basic sketch information of mother board, daughter board and device and then create derived 3D PCB/derived 3D model(aka device) from this source sketch file.

As demonstrated in the below screen capture, constraints could be used to change the sizes in an accurate way also.

截屏2021-03-17 下午4.40.23.pngCreate associated pins seems to be not available now, creating or adjusting the pins must be did inside library environment.

Hope that helps and please let me know if there's anywhere I have not explained clear enough.

 

Thanks,

Yiqiu

0 Likes
Message 3 of 6

ZoltanFerenczy
Advocate
Advocate

Yiqiu,

 

Your suggestion is a good workflow for designing a machine with multiple PC boards that have related positions, but it does not address the workflow of designing a PCB that will act as a library component independent of its mainboard applications.

 

The way I see this feature working is as follows:

 

  1. In the Electronics Library editor, the user clicks Create New Footprint.
  2. In the Add Footprint dialog, there is a button labeled Link PCB.
  3. The user chooses a PCB Document file.
  4. The board outline is linked to the footprint on the tPlace layer in the same coordinate location.
  5. There is a command to link PTH and SMD Pads that shows all of the pads on the board in their locations on the footprint.
  6. The user selects Pads to create linked Pads in the Footprint. The user can change their parameters.
  7. There is a command to link Silkscreen lines from the board and devices on the board to create lines in the footprint. The user can change the layer for the lines.
  8. The 3D PCB is linked to the Footprint's Package.
  9. When the PCB Document changes, all liked lines and pads in the Footprint can be updated.
0 Likes
Message 4 of 6

yiqiu.han
Alumni
Alumni

Hi, @ZoltanFerenczy 

 

I understand your feeling. These ideas are very valuable tous. However, At current, it's true that we don't have a way to accomplish the work you mentioned.

What you want to have is an associated relationship between footprint and board outline. We remain to have a lot of gaps here, need to make outline change among 2D and 3D PCB parametric, enable footprint modifying in 3D design environment or make outline can be referenced in footprint editor, update the change to the library and packages...

An improvement has been logged to the development team's backlog. But I can't promise anything here, something like "automatic tools" is very complex at the backend, we will continue to improve the product from step to step.

 

Thanks,

Yiqiu

0 Likes
Message 5 of 6

benjamin.jordan
Autodesk
Autodesk

HI @ZoltanFerenczy I like your thinking on this. I have used similar workflows in the past by exporting a 3D STEP model of the module, and then adding it into my library as a footprint using the 3D model that was exported, and a schematic symbol that represents the IO of the module.

 

While you could do it this way in Fusion 360 today, I think there's an opportunity to improve this and make it more sensible. But the library is not necessarily the right place, for a few reasons. One example is how to deal with BOMs when a single object really consists of several components and a board? Of course, if you buy the module as a single item that doesn't matter. But there are other similar issues with the library based approach.

 

What about doing this as a Multi-Board design? What I suggest is, what if we added signal management and reuse options to be able to properly treat each module as a first-class PCB design (which they are) and yet still offer an easier means of placing them as if they were components (but not really components, but modules)? These could be potentially placed as modules that are used with direct soldered connections, but could also be linked via wire/cable, etc.

 

I'd be interested to know your thoughts.

 

The library method is awefully tempting because it's not so difficult, but I feel that it would limit us to proper multi-board design features like harness and signal management for bigger electro-mechanical systems down the road...



Ben Jordan

Senior Product Manager, Fusion 360 Electronics

LinkedIn | YouTube | Personal Blog | Fusion 360 Electronics Series
0 Likes
Message 6 of 6

owendelong
Contributor
Contributor

Ben, I like your idea, but whether we go with Zoltan's library idea or your idea, it's very clear that the lack of the ability to place BRDs as if they were components (and I'm sorry, but the common suggestion of a "block insert" is a very very poor substitute) is a much needed shortcoming in Eagle and now Fusion 360.

 

I recently ended up having to hand-create this:  https://library.io/libraries/39984239-ESP8266_Huzzah

 
Based on the BRD file provided by Adafruit in order to be able to place their product onto some of my boards. It was a long and tedious process that should have been simple and mostly automatic.
 
0 Likes