Hello! Thanks for taking an interest! I attached two schematics that illustrates what i want. It doesn't matter if it is a third party c-program that i run manually, or if it is a script that i invoke while drawing. The problem with my awk script was that there were to many conditions that needed to be fulfilled. (Find "{" -> find "refdes=" -> if "refdes=K1" then...... and so forth) It wasn't reliable. I was under the impression that the scematics where actually guile scripts, that gschem interpreted as nets and symbols, but since reading up a bit on guile I realize that it is not so... I'll check out those examples, and see what can be done. //John On 03/29/2011 12:43 PM, Peter Clifton wrote: On Tue, 2011-03-29 at 12:15 +0200, John Erlandsson wrote: Hello again! I have been reading about the guile side of gschem. Does anyone know of any example scripts that i could look at? There isn't anything I can think of immediately. There are some basic examples in the source code if you fetch the tarball, look under gschem/scheme/ The closest fit might be auto-place-attribs.scm, auto-uref.scm also modifies attributes. I'm not particularly sure exactly what you want to achieve. Perhaps if you could paste an example schematic with / without the annotation changes you are looking for that would help to make things clearer. Did you want to keep adding the crossref attributes as a post-processing step, or attempt to keep them in sync whilst gschem is running? I presume the components are identified by the fact that they share the same "refdes=" attribute, but in general - I guess it is component specific which crossrefs exist. A gnetlist backend might be a good fit, but unfortunately (for this application), it will only report one entity for each unique "refdes=". I don't think it would be able to access each sub-symbol from the net-list back-end, and I don't think we've ever tested modifying and re-saving schematics from gnetlist. I would imagine that we can achieve what you want with a small bit of C programming easier than with scheme, but that would depend on you wishing to patch and use a modified version of the tools. It might also be possible to link a small program against libgeda to do what you want, but you'd have to give me more information about what the logic of your processing steps are to make any more solid a suggestion. Regards, _______________________________________________ geda-user mailing list [1]geda-user@xxxxxxxxxxxxxx [2]http://www.seul.org/cgi-bin/mailman/listinfo/geda-user References 1. mailto:geda-user@xxxxxxxxxxxxxx 2. http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Attachment:
changed.sch
Description: application/geda-schematic
Attachment:
unchanged.sch
Description: application/geda-schematic
begin:vcard fn:John Erlandsson n:Erlandsson;John org:Lunatech Innovations adr;quoted-printable:;;Kabelv=C3=A4gen 5;Alstermo;;360 75;Sweden email;internet:john@xxxxxxxxxxx title:Chef tel;cell:0708-617228 url:http://www.lunatech.se version:2.1 end:vcard
_______________________________________________ geda-user mailing list geda-user@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-user