New feature: 3D Opacity Property (WIP)

That would be even nicer.
A step further would be to add the opacity feature/option to 3D model as it was discussed long time ago…

Add Opacity property for 3D models @bugs.lauchpad

discussion @kicad-packages3D with librarians

minor change in footprint format:

(model ${KISYS3DMOD}/mylib/mymodel.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
(opacity 0.25)
)

opacity field added to footprint ONLY if its value is less than 100%
(this will let github libraries not to be changed)

2 Likes

Is this already in the dialogs? For user access.
Link for the GitLab migrated issue https://gitlab.com/kicad/code/kicad/-/issues/2087

1 Like

A post was merged into an existing topic: Post-v5 new features and development news

Looks similar to the markup in Veusz text fields.

Yes, LaTeX is the common source. Lisp (the ‘L’ in LaTeX) is also the source of the s-expressions used in our newer file formats.

2 Likes

great! I’m getting hopeful :wink:
This is a great feature for improving kicad in mechanical integration.

I think you can get some hints from the code where you can hide/show SMD (or THD or VIRTUAL) using the hotkeys and from the code of the 3D menu, when you can apply all Material Properties or only Diffuse Properties to 3d models (which is enabling/disabling transparency on wrl models).

@kammutierspule, who most developed 3d viewer, could peek in :smiley:

1 Like

Is the opacity parameter already added to the file format and implemented on board/model source code?
Once it gets implemented let me know :wink: (so I can help on the easy part! :open_mouth: :sweat_smile: )

1 Like

I think @kammutierspule and @JeffYoung can continue in the relevant issue https://gitlab.com/kicad/code/kicad/-/issues/2087 and some forum moderator could move these discussions to another thread.

(It appears Mario isn’t on GiLab yet, so we’ll have to continue here for now…)

I’ve merged the GUI and file R/W code. Over to you, @kammutierspule. :slight_smile:

1 Like

Which post should the split start at?

Don’t ask me, I’ve got enough gray hairs already. There are two threads intertwined. I would of course prefer starting new threads immediately after the initial announcements of new features, to keep this long thread readable.

Moved, I think I untangled it

1 Like

Adding the UI and file processing for a 3D opacity setting would be reasonably easy. However, the 3D rendering code is one area I know nothing about…

I am pretty sure there is support for translucent materials somehow. There are LED’s in the standard library that are translucent.

true! but we are referring to a parameter/property related to the footprints, not the materials of 3D shapes

Yes, there are several possible use cases for semi-transparent models. For example I have a model for an OLED display:

It’s easy to put SMD components under it. But if I want to check the design, I have to switch off the model altogether or I can’t see what’s under it. Making it semi-transparent would make it possible to see everything when I need to, yet keeping the model itself normally opaque.

Of course even more obvious use case is having an opaque chassis model through which you want to see while at the same time having it visible.

Is that STEp or WRL? I suspect the latter

Test please!


4 Likes

Nice addition Thanx! :smiley:
I found one small issue… if I add a second 3D model to a footprint and apply opacity, only the first one respects the value, the second keeps its opacity to 100% even if it is set to i.e. 50%
And a wish… would it be possible to add a switch in the Render option menu beside the “use all properties”, “diffuse only”, like i.e. “disable opacity” to be able to toggle all the 3D models opacity from the set value to 100%?
Maurice

Good finding, I didn’t proper tested it.
I just pushed a new updated. Also, it should work with Raytracing.

Related with the feature request… I will evaluate it latter once this get merged…