Hello
I have designed a pcb for project that uses my own specific libraries for some of the symbols, footprints and specific models (kicad 7). At the end of project it is mandated that I hand off all the project files to the client. Due use of my designed assets, I am unable to strictly use ‘‘Archive all project files’’ feature, as it replaces all the custom assets with cached ones and does’t ship custom libraries and 3D models within file. I was wondering if there is some plugin in kicad 7 that could partially or fully solve this.
Things I have tried:
GitHub - MitjaNemec/Archive3DModels plugin, however it has a bug where it never copies my custom 3D models, and instead replaces path with ‘‘double path’’
Packing project manually: While possible, very tedious job as I have to sort through and pick out footprints and symbols ive used in project from 100’s of them.
Those plugins are not generated, nor maintained by the KiCad “team”. If you have issues with them, then file bug reports with the maintainers of those plugins.
The “archive project” plugin worka only on KiCad 5.1.x. So it is not usefull for you.
The “archive 3D models” plugin should work with V6 and V7. If you have an issue with it, please report it on the plugin’s Github Issues page. It makes it much easier to track.
As for your main issue.
Do you have to supply the symbol libraries or do you have to supply only schematic files which already hold cached symbols?
Do you have to supply the footrpint libraries or do you have to supply only layout file which already holds cached footprints?
Archiving the 3D models should be doable wit the Archive3DModels plugin
For 2 you have the option within PcbEditor to generate libraries. This mighr also be available for 1.
Hmm, it does say it github page that it can do V6, but yeah, probably shouldn’t be optimistic about it.
Ok, will submit issue on github.
Ideally it should be project that the client and his developer can use forwards to further develop the product, so technically submiting project with my own libraries should be fine given that I give them path names. However I have no interest to submit my entire libraries and that’s where the issue lays. I’m looking for easier way to pack project that would also include ONLY footprints that have been used in project. If it’s as simple as making copy of my libraries that includes only files that have been used in project, that is also fine.
I was wondering if there is some plugin in kicad 7 that could partially or fully solve this.
If you follow this steps you get a partial solution:
first make sure to use local copies of the schematic/board drawing sheet files (copied directly into projectdirectory). Otherwise a later “project–>Archive” will exclude your custom dws-files.
SaveAs → new project (so this experiment doesn’t destroys your complete work of the last 11month)
open schematic+board (of the new project)
in board: make sure both files are in sync (update board from schematic, with “use reference designator” unset)
save
board–>File–>Export–>all footprints in New Library, choose type “project-library”,
select library-path directly in project-directory, type name (“all_footprints_lib”)
confirm: “Update all footprints on board with new library” → yes
save
Tools–>update schematic from board
save
schematic–>File–>Export–>all symbols in New Library, choose type “project-library”,
select library-path directly in project-directory, type name (“all_symbols_lib”)
confirm: “Update all symbols on schematic with new library” → yes
save
update board from schematic
save
Kicad manager–>File–>Archive project
Because I don’t want to promise too much, here are some drawbacks/disadvantages:
This does not migrate your 3D-models and the links to the 3D-models in your footprints
If you have symbols with defined footprint filters and these filters contain parts of the footprint library name: there are no changes applied to these footprint filters, so the resulting footprint filters are either wrong or point to your own old footprint libraries
as the symbols + footprints are now from the new generated libraries you should not work with the original project anymore - otherwise your changes and changes on the client side will differ.