A few question about libraries

Hi all,

I am using 5.0 stable under a Win10 Pro x64 VM.
Using the default libraries only, I have noticed that not all components are shown in the 3D view, mainly connectors. I have investigated things a bit, and the following list of questions came up:

  1. how is the association between a footprint and its 3d model handled? (to my understanding is just identical filename, only the extension changes; correct?) In other words: correspondence between a symbol and a footprint is handled by the Eeschema itself or CvPCB, but there is nothing such for correlating a footprint with its 3d model.

  2. each 3d model is made of a .step and a .wrl file pair. I could not find a way inside KiCad of editing either of them (maybe it will be implemented in the future?). How can i edit them if needed? What is the .step file? and the .wrl file?

  3. if it is true that 3d model must have the same filename of the footprint, maybe it is not displayed because it is scaled 2.54:1 instead of 1:1? In this case the object is there, how can i adjust the scaling and “recover” it?

  4. Are there 3rd party websites providing Kicad libraries? maybe including the 3d models?

  5. Differently from what the manuals say, i found only an automatic downloader from Kicad Github repository for the 3d models, but nothing such for symbols and footprints. Maybe it will be implemented in the future, but for the time being is there a way to do so? If i have to install some git client etc i couldn’t find instructions on what client, what settings etc? If somebody has already posted these instructions i missed them, sorry!

Thanks and regards

Every footprint can include so called 3d settings. Part of the 3d settings is a path to a 3d model (it can even be multiple 3d models)
The path can include path variables. (The official library uses KISYS3DMOD as its base path variable)

The kind of equivalent would be the footprint field of a symbol. (But instead of using library aliases plus footprint name it uses file system paths)

Step is THE standard for (lossless) exchanging 3d data. It is supported by all major mechanical CAD tools.

WRL (or VRML) is a different standard for exchanging 3d data. This one aproximates the model using a number of small triangles. It has the benefit of being supported by a wide variety of 3d programs focosing on the artistic side of things.

So if you want to make nice renders of your pcb you would use wrl. If you want to send the 3d model of your pcb to a mechanical engineer that will make a housing for it you would use step.

Kicad is not intended as a 3d modeller. There are better tools for that.

The best way is to use a mechanical CAD program. The official library is mainly created using the open source tool FreeCAD. There is a nice addon available for freecad that makes interchanging data between it an kicad easy. (The tool is called kicad-stepup. For a demstration of its capabilities search the forum for it. One good example can be found here: Kicad StepUp: The Sketcher for Getting to Blinky)

Not necessarily. However the official library uses this as a guideline to make it easier to maintain. (Ever footprint in the official library is setup to expect a 3d model with the same name as the footprint. There are a few exceptions. For example the ThermalVia variant can use the same 3d model as the non thermal via variant)

The 3d model downloader is a relict of the past. I am not even sure it points to the current version of the 3d model library. I suggest downloading the libraries directly from the kicad website

Any git client will do. But you can easily download the libraries as a zip archive and use that (you would need to extract the files from it. A “unzip tool” should be included in every modern operating system.)

If i missed to answer one of the questions or you want to get more details feel free to ask

1 Like

Thanks a lot Rene for your quick and effective help.
Actually, there is a couple questions left behind:

  • …Maybe the object it is not displayed because it is scaled 2.54:1 instead of 1:1? In this case the 3d object is there, how can i adjust the scaling and “recover” it? Maybe i dont need FreeCAD for that?

  • Are there 3rd party websites providing Kicad libraries? maybe including the 3d models?

Thanks again and have a nice evening

If the 3d model is scaled 2.54:1 it will be shown, but much bigger.

With kicad_stepup+freecad it is possible to generate .wrl and .step files aligned (and scaled) to with the footprint.

There are many unofficial sites to download libraries from.

Some examples:


It is not guaranteed they are KLC compliant, but they can be useful.
For example, my own symbols and footprints are no KLC compliant though I use the official library as a starting point.

The scaling has nothing to do with the fact that a part is not rendered in the 3d viewer. If the scaling is wrong it would simply be rendered with the wrong size.
It is much more likely that either the 3d model does not exist. We have a 3d path assigned to every footprint even if we do not have a 3d model in the library yet. This is done to make later additions easier and to make it possible that users can use their own models without needing to change the footprint. (The user would simply need to rename the model they download from the manufacturer site for example.)

In the current library there are no models that are scaled wrong. (They are all scaled such that the footprint can use scaling 1:1 setting)
If you mean models from the old v4 library then i need to disapoint you. The models that did not make the cut into the v5 library have been left out for a reason. (They have been designed in a non mechanical CAD compatible environment.) You can use them if you only want nice renders but you will not be able to use them to communicate with your mechanical engineer.

The digikey library comes to mind.

There are other libs out there as well. (The quality of such libs is always a concern. Choose carefully)
I personally follow the mantra: “Quality over quantity” I really prefer a high quality lib of reasonable size to a large library of mixed or unknown quality.

For 3d models you can always check the manufacturers website. A lot of manufacturers provide nice 3d models for their parts.
There are also 3d model sharing sites available that you can check.

Be aware that many of these sources use quite restrictive licenses for their files. They might be incompatible with open source. (It can happen that you can not use them if you intent to publish your pcb under an open source license. You might not even be allowed to publish your project at all. So read the terms and conditions attached to these files very carefully before you download them.)

Thanks to everybody for your great support!
All questions I had about libraries and 3d have been clarified, and got also some good 3rd party sources.
I hope all these info will be highlighted into the new release of manuals (in their current release i couldn’t find my answers).
Have a nice day!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.