On Friday 19 October 2007 21:32:12 Peter Clifton wrote:
> > What library? We don't even yet have the most crucial thing: the
> > project library concept. So we all implement it in ad hoc ways,
> > because the symbols in the distributed library are usually wrong for
> > any specific purpose. So, you copy, customize, and then updates of
> > the distributed library are irrelevant: your project library has what
> > you need.
>
> We have a project library if you set one up in your gafrc, but that
> means you have another file required to open the schematic page and find
> the symbols, and that must be merged if you want to re-use a page in a
> different project.
Not to mention that non-libgeda applications literally can't load your
schematic successfully, because they will not be able to determine where to
get the symbols from.
My primary motive is to make it easy -- no, trivial -- to share schematics &
symbols with other users.
My secondary motive is to make it easier for non-libgeda applications to
generate & manipulate gEDA-format schematics.
When criticizing my approach, please take into account the following case
studies:
Case study 1
============
Peter is developing a new device using gEDA, and want to use an external
layout contractor (who also uses gEDA & PCB). Peter wants to package up his
schematic to send off to the contractor, but has several non-standard system
libraries as well as some project-specific symbols.
Current model: Peter is an expert, so he is able to spend a few hours and use
some complicated shell scripts to hunt down every relevant symbol and
organize them into a new directory before manually checking through that the
correct symbols have been selected and that nothing has been broken. He then
tars the assemblage up before sending it to the contractor. The contractor
untars the files, and (if Peter was successful) can then use the schematic.
Proposed model: Peter sends his schematic file to the contractor. The
contractor double-clicks on it, and it opens in gschem in fully editable and
consistent glory.
Case study 2
============
Peter is developing a new device using gEDA, and is looking for a symbol for
the LM7171 op-amp. Having found one on a random website, he wants to then
use it in his schematic.
Current model: Peter hacks his gafrc to define a project-specific library,
places his new symbol in the appropriate location (double-checking that the
name doesn't conflict with an existing symbol), and then hunts through his
library list to locate it.
Proposed model: Peter clicks the "From file..." button in his symbol
management window, selects the appropriate symbol file, and is prompted for a
symbol name. Accepting the default, the symbol appears in his list of active
symbols, and is automatically selected for placement. An icon next to its
list entry indicates that the symbol does not exist in any of the active
libraries, but because he only needs the symbol once in this particular
design, Peter doesn't worry about it.
Case study 3
============
Janet has been preparing a design using KTechLab, but finds that it lacks some
functionality that he can get using gEDA. John decides that KTechLab needs a
gEDA schematic exporter.
Current model: John's export filter has to generate project symbol directories
and configuration files in addition to the actual schematics, and has to do
gymnastics to make sure no conflicts occur with existing files.
Proposed model: John can just output schematic files with the necessary
symbols embedded, and knows that the schematics will Just Work even if there
are symbol naming conflicts with the user's existing gEDA libraries.
Case study 4
============
Having successfully completed a gEDA export filter, John decides to tackle a
gEDA import filter.
Current model: John is screwed, because without converting KTechLab to use the
the whole of libgeda + Guile interpreter, he can't find the symbols he needs.
Proposed model: All the symbols can be found & used without any knowledge of
the libgeda library model whatsoever.
I have more, but I'm sure you get the gist, and it's getting very late here.
Peter
Attachment:
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ geda-user mailing list geda-user@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-user