kicad-developers team mailing list archive
Mailing list archive
Re: library structure
On 09/23/2010 02:21 PM, Marco Serantoni wrote:
> On 23/set/2010, at 19.40, Wayne Stambaugh wrote:
>> I don't see how aliases can be used for heavy libraries. Aliases do not have
>> fields (unless you count the information in the document file) so you cannot
>> assign different default or user specified field values to them. Once you add
>> field support to aliases, you have effectively made them components. As you
>> mentioned above, most heavy libraries would be generated by scripts or copy and
>> paste so any advantage of sharing a symbol largely negated.
> After much silence i want to contribute with my cent:
> We could use a "base library" that is referred from "specific parts library" as "father" using its symbol like classes (inherance).
> So who wants heavy libraries has its parts, who keeps its library light has its part fallbacking to the father.
> Each specific parts could have also the substitution others, case supported and probably also the part number of the largest distributors for the List of Material.
Inheritance. hmmm. Why not just *copy* symbol by symbol and make each
copied symbol into a part-specific component in a new project specific
But we are moving in the right direction by really thinking about what
we do. The heavy library is a wish, I don't think anybody will ever be
able to keep up with the new stuff hitting the market. It is way too
dynamic. And it would be like asking somebody to maintain the phone
book for free. Nobody can move, nor change phone numbers, and somebody
has to work for free full time. It's a wish. Commercial libraries with
a profit motive might get it done, but not us.
A simpler set of ambitions/goals is to simply get the parts correct that
you intend to use on a specific board. And I even struggle with that.
Is there any value in having a project specific library that is more
tightly bound to the project? Or is a personal library good enough? I
actually think it might be worth discussing putting a project specific
library *within* the project, say for example within the schematic.
This fully embraces the use case behavior. It also centralizes the
place where you might fill in the things needed to make a good BOM.
Each unique part is in there, and then each unique part can be
instantiated from there into the schematic and it's reference designator
changed, nothing more.