How best to provide a path to 3D models for existing footprints?

Sorry if this has been covered elsewhere, but I can’t find any details of how best to handle it.

We are using a git repository to contain custom symbols, footprints and 3D models for our projects. For these parts that we design ourselves, we reference the 3D model path with respect to an environment variable, so the Footprint Properties > 3D Model path looks something like this:


This means that my colleages can use the parts by defining the environment variable rather than having user directories hard coded in the path etc.

This works well, however we are now running into the situation where there are several parts that already exist in the standard KiCAD libraries we would like to use. They have a 3D model path defined, but no model yet exists. I can provide the 3D model in my custom directory, but I can’t override the 3D model path of the standard library parts. I can copy the parts to my custom library, and update the model path there, which is what I have been doing, but it seems a bit of a kludge, and means they won’t get updated. I don’t really want to put my models in the KICAD6_3DMODEL_DIR directory, as that gets messy to keep updated and runs into permissions issue. Is there a better way of solving this? I notice there is a ‘3D Search Paths’ section in the Configure Paths dialogue which sounds promising, but I don’t really understand how it is different to the environment variables.

Any advice would be greatly appreciated!


1 Like

Any symbol and any footprint I want to use I copy to my library to protect it from being unexpectedly updated when installing new KiCad version. If something is 100% checked by me then I don’t want it to be changed.
It looks that you see footprint won’t be updated as defect. For me it is advantage.

In my opinion this is the best practice. It is the way we work too.

I wrote a script for this some time ago.
the original script is here. look for “”

just ask if you need help setting it up, hopefully it is not too daunting.


1 Like