I have my own (global, not project specific) library of parts that I reuse.
I’s a bit of a mess that grew over multiple years and many KiCad Versions and I’m in the process of cleaning it up. I use git for version control.
Although I see no need to be as quite strict for my personal use I found that the conventions for the official KiCad Libraries are a great set of guidelines. https://klc.kicad.org/
What I can’t decide on is where the best place for my 3d models would be and how to reference them in my footprints?
I guess the best way to reference them in my footprint would be with a prefix to a PATH.
Should I just come up with my own PATH that points to the folder where my 3dmodels for this Library are? something like “${MYLIB3DMODELS}/mymodel.step”
Or, better just have one PATH that references the folder where all my libraries are: “${MYLIBRARIES}/3dmodels/mymodel.step”
Or is the “${KICAD9_3RD_PARTY}/” PATH the intended place? (If not, what is it’s purpose?, Libraries installed via the library manager don’t seem to use it…)
I guess all of those would work, but I would love to hear you opinions on how to handle this properly!
I manage my personal KiCad libraries in ~/project/kicad/00aa_lib and I use path variables to point to them.
KiCad does define a “preferred” location for libraries, which is: ~/.local/share/kicad (on my linux box this location varies depending on your OS) but I have not used this (yet).
All of my libraries live in their own git repository, which is added to each project as a submodule under the main directory. that way I can share libraries across projects, while each project is guaranteed to refer to the correct version.
I put 3D models in a directory next to the footprints (all within the same git repository) and reference the 3D models by relative paths. Using a variable to reference them also works fine, and would be a better idea than relative paths if you don’t store your 3D models and footprints together.
Since DOS times I have all not my files at C: and all my files at D:
This allowed me few times to reinstall system (including its partition formatting) without touching my files.
When decided to move to KiCad first I have done was deciding how my symbols/footprints are defined and how my libraries are organized.
I have described it here:
As I don’t plan to change my file organization ever I use everywhere direct addressing (no variables in path).