Link multiple 3D models to one footprint

Bug #1766323 reported by Evan Shultz
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
KiCad
Triaged
Wishlist
Unassigned

Bug Description

See the discussion at https://github.com/KiCad/kicad-packages3D/pull/280.

(FYI, all comments are from the librarian team or the KiCad StepUp developer.)

Each footprint is linked to a single 3D model currently. For items that share a footprint and physical dimensions, but could use a different 3D model, the library would require multiple footprints for each 3D model. The example above is for LEDs with various colors, but one can imagine other possibilities like radial capacitor sizes/colors, connector closed/open position, etc.

Currently in KiCad, this is cumbersome. Can the development team please consider a way to have multiple compatible 3D models in the 3D viewer with a single footprint in Pcbnew? Some ideas were discussed in the PR linked above.

Revision history for this message
Nick Østergaard (nickoe) wrote :

It is not clear from your description what you are proposing. You can already define multiple 3D models for a footprint. I think what you are suggesting is to be able to have multiple predefined by the librarians and then have an option to enable or disable a model easily, other that just changing the full path to the model.

Revision history for this message
Jeff Young (jeyjey) wrote : Re: [Bug 1766323] Re: Link multiple 3D models to one footprint

I implemented a Preview checkbox in 6.0 for each model so that alternative modules could be previewed. I think the ask is to have something like that persisted and also used for non-preview rendering.

> On 24 Apr 2018, at 09:30, Nick Østergaard <email address hidden> wrote:
>
> It is not clear from your description what you are proposing. You can
> already define multiple 3D models for a footprint. I think what you are
> suggesting is to be able to have multiple predefined by the librarians
> and then have an option to enable or disable a model easily, other that
> just changing the full path to the model.
>
> --
> You received this bug notification because you are a member of KiCad Bug
> Squad, which is subscribed to KiCad.
> https://bugs.launchpad.net/bugs/1766323
>
> Title:
> Link multiple 3D models to one footprint
>
> Status in KiCad:
> New
>
> Bug description:
> See the discussion at https://github.com/KiCad/kicad-
> packages3D/pull/280.
>
> (FYI, all comments are from the librarian team or the KiCad StepUp
> developer.)
>
> Each footprint is linked to a single 3D model currently. For items
> that share a footprint and physical dimensions, but could use a
> different 3D model, the library would require multiple footprints for
> each 3D model. The example above is for LEDs with various colors, but
> one can imagine other possibilities like radial capacitor
> sizes/colors, connector closed/open position, etc.
>
> Currently in KiCad, this is cumbersome. Can the development team
> please consider a way to have multiple compatible 3D models in the 3D
> viewer with a single footprint in Pcbnew? Some ideas were discussed in
> the PR linked above.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/kicad/+bug/1766323/+subscriptions

Jeff Young (jeyjey)
Changed in kicad:
importance: Undecided → Wishlist
Jeff Young (jeyjey)
Changed in kicad:
status: New → Triaged
Revision history for this message
Frank Severinsen (shack) wrote :

@Jeff
Some way to select 1 out of x 3D models would be great.
Perhaps some way of adding a filter in the modelname (or similar) so Kicad would pick up all the filtered models, and the user could then select the specific mode (s)he would like.

I guess the tricky part is to somehow differentiate between interchangable models (eg 10 models of the same diameter capacitor with 10 different heights) and extra optional models (SD cards in the slot, batteries in a batteryholder etc)

Revision history for this message
m (easyw) wrote :

@jeyjey Jeff and @shack Frank,
referring to this topic
https://github.com/KiCad/kicad-packages3D/issues/388#issuecomment-417770911 ,
what I would like to have in the future, is the option to show/hide the 3D models dynamically and directly in the 3D viewer. (I don't consider the option to have i.e. more than a 3D model for a LED very useful).
What I would consider very useful is a full list of the 3D models (a tree list) within a correspondent check option to enable/disable the visualization on the 3D viewer (an evolution of what is now available to show/hide all SMD, TH and Virtual models).
This list with related checked options could be saved along with the pcb project, to reload the board in the same way next time it will be displayed.
And a nicer other addition would be the ability to change transparency to the selection too.

Adding a check option inside the footprint would be a very unfriendly way to enable/disable the view in the 3D viewer... Having the option inside the footprint would force the user to change the option in the pcb 2d editor and then switch back to the 3D viewer.
A tree view list direct available in the 3D viewer menu would produce a better/friendlier user experience IMO.

Moreover, a tree list for 3D viewer would not change the pcb file format, but will add just a preference file for what is enabled to be viewed and with the level of transparency that will be applied.

The dialog could be an addition to the one that is enabling/disabling SMD, TH, Virtual 3D models already present on the 3D Viewer under 'Preference' -> 'Display Option'.
And as a suggestion, this dialog should be non modal, let the user interact with the 3D view, when changing 3D models visibility and transparency.\
Maurice

Revision history for this message
m (easyw) wrote :
Revision history for this message
Evan Shultz (evan-shultz) wrote :

I'm not sure I would call this a duplicate. The other bug doesn't have all the substantive info this one does, and this is a subset of the other bug (if I understand it correctly).

I mentioned specific use cases which were fleshed out in later comments. And I think there was a dev mailing list message about this but I can't find it now.

One thing perhaps not fully captured above would be a way to "log" which of the potential 3D models the user selects so that it will remain the default model to be used on a particular board file when instantiating the 3D viewer (unless the selected model is changed, of course). This would allow a single LED footprint to have many 3D models for various colors, and then per-board the LED model's color can be selected and it will be remembered along with the board file (I image a separate file would be the best option here). Or a single radial cap footprint where various cap heights can be chosen (this may be best for a generic cap symbol's footprint association as specific footprints may be the best choice for a manufacturer-specific capacitor). Or a battery holder with a without batteries installed. One can imagine many possibilities.

Revision history for this message
Jeff Young (jeyjey) wrote :

@Evan, the dev team uses the issue database to schedule work. So if we have a plan for a fix that will address several bugs, we mark them as duplicates so that there's only one work item. You can always get to the other duplicates (they're linked on the right-hand side of the screen).

Revision history for this message
Mario Luzeiro (mrluzeiro) wrote :

"This would allow a single LED footprint to have many 3D models for various colors, and then per-board the LED model's color can be selected and it will be remembered along with the board file"

It can be implemented as check boxes per item list in the 3D shapes.
It sounds to me that it is a change in configuration per footprint that is placed in the board.
The only issue I can see here is that the footprint file format must be changed to implement such a feature. That is the hardest part of the discussion for me :)
The external file doesn't sound to me possible...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.