Continuing the discussion from Default manufacturer’s part number field in KiCad libraries:[quote=“Joan_Sparky, post:14, topic:4387”]
Many parts in the libs would multiply by 10-100 or many more parts… that’s just insane.
[/quote]
Let’s find out… I decided to scrape data form Digikey, for this exercise I picked through hole resistors. Digikey list 284,958 parts in that category. We can cut it down a bit by selecting bulk packaging and Active parts only, that leaves 134,833.
So I created a library with those parts, and loaded into KiCad. KiCad becomes unusable with that many parts, the library browser gets stuck in an update loop, and I have to kill it. Ok, so 130,000 is too many, how about splitting by manufacturer? Well, Vishay have 100,000 parts, so that is still too many.
However, most of the Digikey parts are non-stock, i.e. ordered on request. I filtered those out, and am left with 4734, which is much more usable.
A second part of the exercise is to see how much can be generated. The part data is fairly easy, Digikey data is quite good. Working out the footprint takes certain amount of guesswork, but the majority of resistors were matched to one of the existing Resistors_THT footprints. The actual footprint used is a matter of choice of course. There are a few resistors that don’t match any existing footprint.
An example part looks like:
I don’t know if nightly builds have addressed any scalability issues, but dumping tens of thousands of components into KiCad is probably not going to be practical. Digikey list over 400,000 SMD resistors, over 116,000 if only stock items are counted.
So I think even if a complete inventory of supplier parts is created, it would need some pre-filtering before being used in KiCad.
DigiKey, through hole resistors, Status=Active, Stocked
Digikey_res_tht.dcm (355.4 KB)
Digikey_res_tht.lib (2.9 MB)