Ales surprised me at the code sprint by calling me a "heavy symbol" advocate. Let me try to make clear my real position.
The question is not "light" versus "heavy", but where to put the "mass" so it doesn't become a burden, especially for design reuse. The more I use gEDA, the more this is an issue to me. 1. For general-purpose symbols distributed with gEDA, light is the only practical choice. There are too many possibilities for heavy symbols. A handful of heavy symbols is nearly useless: millions would be needed to have a reasonable chance of representing the part the user needs. 2. In schematics, heavy *instances* are a barrier to reuse. If the project's standard is 0402 resistors, a bunch of package=0603 attributes attached to components gets in the way. Global substitution is tricky: some components are likely to need to be 0603, while others should use the project standard. There is no perfect solution here, but reducing unnecessary specificity in the schematic is helpful. This speaks against automatically promoting attributes by default. It also speaks against embedding symbols in the schematic in most cases. Okay, I've just argued for light symbols everywhere, apparently. So where do the attributes necessary to turn an abstraction into a concrete design belong? 1. The most important place is a specific symbol directory for the project. There, you can put footprint=0402 into your resistor.sym, and have your resistors default to that. It's not perfect, but it saves a significant amount of manual work when transferring schematics from one project to another. gattrib is a great tool for fixing a few attributes, but it's slow and inefficient when there are many changes. Better to fix the symbol. Now the trouble right now is that there's little direct support for this in gschem, while gschem has lately become more hostile to changes made in symbol directories "behind its back". Used to be, you just had to close and reopen the directory to pick up a new file, but now you have to refresh the browser as well. This even applies to symbol files created by gschem itself! We need a way to import symbols from the library to the *project*, not just to the schematic. The schematic may ultimately be shared by many projects, with different parts requirements. 2. Institutions often have preferred parts lists, stockrooms, etc. It makes perfect sense for an institution to make a heavy symbol library representing its preferred parts. 3. When you have special requirements, e.g. high power, it makes sense to put attributes into the schematic. Can't dissipate a watt with an 0402, barring liquid. There is no perfect, universal solution. Design reuse takes care and review. But there are ways to organize the attributes to make it easier or harder. gEDA should support the easier path. The hard way needs no special support ;-) John Doty Noqsi Aerospace, Ltd. http://www.noqsi.com/ j...@noqsi.com _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user