I currently use Altium for work and I am thinking about switching it over to KiCad because of the ridiculous costs to add another license.
We use a third party “Product Lifecycle Management” tool to create parts and BOMs. Each part is created with a custom part number that is associated with manufacturing part numbers, schematic symbol name, footprint name, etc. These parts are then kicked out and saved to a SQL database. From within Altium I can then place parts based on the custom part number and Altium will lookup the symbol and footprint in those libraries based on the fields in the database.
Is there a way to do this in KiCad, within the tool itself or with another program?
You can create custom libraries where the symbols already have a footprint name, manufacturer part number, etc. associated with them.
So (unless such a thing already exists), you’d need to write a program which dumps the database, and then creates a new symbol in your custom library for each entry in the database. (e. g. by copying symbols from the standard library and adding fields to them.)
Directly accessing databases is not currently supported. At a guess it would be due to the database program not being willing to explain there data format.
The actual cycle your after could be handled if an exporter was written for your database at the moment that kept a directory updated
Kicad stores its footprints and symbols in plain text format. And can pull from git systems. Or server directories. Meaning you would only need the conversion in 1 place.
If you had any kind of example data or a clear outline of the database format it could likely help its development in the future.
The ability to hook into a database of components as well as use the current ‘bunch of files’ approach would be an extremely useful feature but is not directly supported at the moment. However there is a project in github which might be of interest.
I have not had much success with it on macOs in the past but there have been some more recent updates so it might be worth a look.
According to the author
With kipartman you will be able to:
* Organize and manage your team parts inside a part database * Group equivalent parts to allow easy parts replacement * Manage your part stock * Download your parts specifications and pricing from Octopart * Download you parts symbols and footprints from SnapEDA * Create your BOM * Prepare your buying order from your BOM by chosing the best prices
Kipartman is a combination of a database and file server (kipartbase) and a graphical tool to manage it (kipartman).
These two projects look close to what I would like to see, except the need to post assign schematic symbols to the database parts.
I would like to see it the other way around, where you place parts directly from the database library. That work flow would more align to industry workflows I have seen in the past where parts go through an approval process to check schematic symbol, layout footprint, manufacturing part numbers, etc. Once its in the database you know its a good part and safe to place in schematic and layout project. The need to do this after the schematic symbol is placed means you have to double check that you are assigning the correct part to the correct symbol/footprint every time you use it.