In KiCad you can have local symbol libraries as well as footprint libraries and 3d models in your project folder. This is great for git source control where you can share your project with others. Everything is included in the project folder. Other users will not miss any special symbols, footprint or 3d model.
So, it is a good thing to manually add all your components data to the project folder. This is time consuming and I wish there was a better way.
If I use KiCad official libraries and 3d models as well as my own global libraries and third party global libraries on a project I wish there where a script that someone had written that looks at all the schematics, PCB and 3d models in my project and transferred all single items to the location of my project.
One way that I have seen people solve this is to include a big personal library of all components they use for all projects they have done as the local library. The disadvantage of this is that you will get redundant symbols footprints and 3d models that are not used by this specific project. File sizes for 3d models can take up big space.
So my question is:
Have someone written such script or plugin?
Have someone another solution for this?
Is there already a function in KiCad for this that I have missed?
V8 and V9 RC1
I have found an old script for KiCad V5 but I am not proficient to code myself to make it work for newer versions of KiCad.
Here is the link that I found:
Indeed this is my working model (a set of libraries for each project)
Each footprint/3D is a file so you just have to make copy&paste files according to your needs. So in this case (I think) it is not necessary any script. Symbols are different as they are all contained in the same file but I’ve seen some thread about changing it. Maybe any team dev can clarify this.
… Since version 6.0, KiCad stores all symbols used in a project in the schematic. This means that you can open a schematic made in KiCad 6.0 or later on any computer, even if the libraries used in the project are not installed or have changed. Modern KiCad schematic files use the .kicad_sch extension. …
There is no explicit mention in the user documentation but copies of footprints have been stored in the .kicad_pcb file for some time now.
My hazy memory of recent announcements is that v9 will have (optional?) 3D model storage also.
This is why that script you found goes back to v5 and hasn’t been updated.
I don’t know if I am interpreting the thread correctly. On the one hand it talks about how we organize the libraries in folders in order to group them for a specific project. On the other hand, it discusses whether the symbols/footprints are stored in the schema/PCB files respectively. Are they two different things or are they related?
Here’s the thread about putting 1 symbol in 1 file. I do not know the status of this.
Accordingly to this thread it looks like the project schematic and pcb files opaquely contain schematic symbols and footprint. If links to libraries are broken, you still can open a project folder on another computer. It looks like the 3d models will be contained in project files like the pcb file in future releases of KiCad.
Putting local library files and local 3d models in folders in the project folder make them visible. It make them visible in git more clearly. You can then reuse the footprint symbols and 3d models for other projects easily.
That symbols and footprints are saved opaquely in the design files is something I did not know. That is great.
I still wished that there where a button to press in the library managers that simply extracted the symbols, footprints and 3d-models from the project. Placed them in the project folder as an option to make things clear in plain text in form of files and folders to be tracked in git.
Christmas is over now but I will ask Santa Claus for this to happen next Christmas.
If anyone know how to contact him tell him that is my wish.
I took the OPs’ comments as, in one hand, personal project libraries, and the other as embedded symbols and footprints in the project. Both are supported in Kicad. The latter since Kicad 6.
You can only reuse symbols/footprints/3D if you have the project available and open. If the project is closed/hidden/unavailable, the symbols/footprints/3D are not available for other projects.
If you think a symbol/footprint/3D may have a use in the future, it is best to keep it in a global personal library.
In 3d folder there are .step models, in footprint the kicad_mod files and in symbol folder just one file: symbol.kicad_sym. This ‘symbol’ filename is the key because I use the same filename in all projects (same filename but different content obviously). Doing this allows me to copy&paste components symbols from/to other projects without link issues (all symbols are related to ‘symbol’ link).
Also here’s my Project Specific Library Path for Symbols
Yes that is the way I do it to but with other names on the folders. And in this way I can move files to other projects. Add paths to local library and reuse. It is tedious to edit in symbol editor and footprint editor for local libraries and move files. But it works. Wouldn’t it be nice to have a button that consolidate all used symbols, footprints and 3d-models in these local project folders!?