Hi.
I have projects in KiCAD from version 5 to version 8. When the project is completed, I need to save the libraries and link them to the project.
In the future, this project can be opened by another user on another machine and it should open without distortions in the schematic, board and 3D assembly.
I use both global KiCAD libraries and my own global libraries.
KiCAD has advantages and great flexibility in creating libraries. You can link any pattern and model to any symbol. But this is also a big disadvantage for me when I start saving all the symbols, patterns and models to the project library. All because the schematic editor separately saves only symbols,
the board editor saves only patterns, and the “Archive 3D Models” plugin saves only models. The “Archive 3D Models” plugin does not save all 3D models marked in the pattern settings, but only the last marked one.
Libraries can be created in different ways.
Previously, I took the resistor symbol R and inserted it into the circuit. Then in the schematic I could change any pattern for it, say 0805 or 0603 or 0402.
When saving libraries, KiCAD will save one symbol R and several patterns 0805, 0603, 0402.
But in this case, it is not clear which pattern is linked to the symbol in the library. It is good that this information remains in the schematic.
But in order to bind the template to the symbol in the schematic, I have to re-assign the template to each resistor symbol with a new project library path.
The same applies to linking a 3D model to a pattern.
For example, if you use the symbol of an electrolytic capacitor, then there are even more templates for it with their own 3D models.
Previously, I assigned templates in the schematic to each symbol or with the help of an intermediate utility - “assignment of footprints”, before creating the board. Then, due to the complexity for me of restoring old projects and their libraries, I began to do it differently.
I started making my own libraries for resistors and not only in this form:
Symbol R (0603) ← Patern R (0603) ← model R (0603).
i.e. the symbol in the library already knows what pattern and 3D model it belongs to.
I made libraries of frequently used components for myself.
Disadvantage - libraries become very bloated
Advantage - when I create a circuit, I immediately insert a ready-made component with a template and model and then do not spend additional time separately assigning templates to each component.
i.e. the symbol in the library already knows what pattern and 3D model it belongs to.
I am not a fan of Altium, I am writing right away. Creating libraries there is more difficult and you can not link a symbol to a template so flexibly.
And I do not like when libraries are rigid and cannot be changed. But as for me, this has an advantage in the integrity of the library and preserving the links between the symbol and the template when saving the library for the project.
i.e. when I save libraries for a project, it saves the entire link between the symbol and the template.
in KiCAD, unfortunately, the link is lost when saving libraries for a project:
- the schematic editor creates a project library with links to templates for the global library.
- the board editor creates a project library with links to global libraries of 3D models.
Then I have to restore the links to 3D models for templates, relative to the project library.
After that, I have to restore the links to templates for symbols, relative to the new project library.
Yes, both editors save libraries of symbols, templates and 3D models. But the links between them are lost. And when I open the entire project with only the project library, my board can change the drawing.
I need to restore all the links between symbols, templates and 3D models.
When it’s my personal project, it’s not so scary.
But when it’s a commercial project, the board drawing is damaged - copper layers, silkscreen.
And this then flows into a new production preparation and additional costs.
True, to avoid this, at the end of the project I also save all the layers in Gerber. This solution saves me from a new production preparation if the board drawing has slightly changed.
Now I’ve come to the topic of my question.
I think it would be right to create libraries for the project only from the schematic editor. So that when creating a library for a project, the schematic editor pulls up templates that are written in the symbol fields, and templates pull up 3D models that are referenced in the template fields.
And then when the scheme editor creates a project library, it edits all the links to templates and 3D models itself, relative to the new path of the new library.
The main thing for me is to maintain the structure of connections in the form:
Symbol R (0603) ← Patern R (0603) ← model R (0603).
Question - is there currently any plugin or method to create a project library with links to templates and 3D models?
Thanks for your help!