Where to contribute 3D model and what is the github process?


It looks like, from this page, http://kicad-pcb.org/contribute/librarians/, that all 3D models are part of the kicad-library repository, but the footprints are in their own separate repositories. Guess I was expecting the 3D model .wrl file to be in the same folder as the .kicad_mod file for the same footprint as they are directly related.

Is it really the case that all 3D models are in kicad-library? If so is the process to wait until the kicad-library PR for the 3D model has been accepted and then submit the PR for the individual library footprint?


Library manger here:

Yes there is still the legacy repo (kicad-library). But we also have a new repo: packages3d and we also have a packages3d-source repo for source files. (MCad files.)

Short note: Make sure you create the 3d models in a software that can export MCAD compatible step files. The recommenced workflow is to use freecad plus kicad-stepup (You can design in any program you like but if you do so i would still import the resulting step into freecad and then re export the step/wrl combination using stepup. This tool ensures nice colors and the correct scaling of models)

There is also a separate repo for scripts that generate 3d models. (Resistors, Capacitors, IC housings, connectors, … are mostly scripted)

The footprints are in one repo per lib because the kicad github plugin needs it that way. (Yes it is a dirty hack. We can’t do anything about it in the short term.)

Either that or make the pull requests at the same time. (It doesn’t really matter as long as we have the footprint somehow to check if your model is correctly aligned to it.)


Hi Rene.

In this case I have a .step file from the manufacturer, TE connectivity. While I’m working on figuring out how to get Freecad to scale from mm to inches to avoid having to add scale factors in the footprint settings (from my reading this isn’t acceptable), I have things working correctly here.

Ahh, so the approach is to do a PR instead against packages3d and packages3d-source, and not kicad-library?

Checking out kicad-stepup right now.


Hi @Rene_Poschl.

The stepup toolbar worked great and the step+vrml export fixed the scaling issue that I was having.

In terms of turn around time, how long should I expect to wait on a footprint and 3D model PR? I submitted this one for the footprint, https://github.com/KiCad/Connectors_TE-Connectivity.pretty/pull/6.

Should I submit simultaneous PRs against packages3d and packages3d-source for the model and Freecad file?


Hi @Rene_Poschl, one more quick question. Will the 3d models be removed from kicad-library in the near future? It’s a bit confusing that they are present there and in fact the http://kicad-pcb.org/contribute/librarians/ page on the website mentions the 3D libraries being in kicad-library. Should this documentation be updated to reflect what the plan is to move the 3D models over to packages3d?


The new repo is in preparation for kicad version 5. Not sure if we should remove it at this moment.

@SchrodingersGat what is your opinion on that?


Imo it would be ideal to put the 3D models right next to the footprints, and maybe the common 3D models could stay in packages3D to avoid duplication. I’ve been a huge fan of Kicad and this my attempt to give back some models. I’ll deal with how you guys think it should be done, even if it means 4 separate PRs.


We librarians think that the best solution would be to have 3 main repos.
One repo for all footprints, one for all symbols and one for the 3d models. (Would help us organizing pull requests.)

In addition a few smaller support repos will be needed. (3d model sources, templates, helper scripts, …)
But this is far in the future. It is guaranteed that v5 will keep the current footprint mess.

Another thing to remember is that the 3d model repo is quite large (data size) compared to footprint and symbol repos.

Why can’t the 3d models be in the footprint repos?
Well the github plugin downloads the complete repo every-time it needs any footprint information. (As a zip file, not via git) If we put 3d models in there, waiting times will go through the roof. (This downloading is the reason why starting cvpcb takes that long.)


Ahh ok.

So should I submit PRs against kicad-libraries, packages3d and packages3d-source to add the new model?



At least until we retire the kicad-library repo. I think this will happen soon, as we do not expect any further kicad v4 releases and kicad v5 will use the packages3d repo.
More details about that: https://github.com/KiCad/kicad-library/issues/1411


Hi @Rene_Poschl. Ok. I’ve submitted PRs against packages3D and packages3D-source that go long with the footprint PR. Looking forward to the feedback and I’ve got another part or two that I’ll submit once those are through the process.