X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Mon, 7 Dec 2020 13:01:33 +0100 (CET) From: Roland Lutz To: "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" Subject: Re: [geda-user] automatically create a .sch file containing a single component? In-Reply-To: Message-ID: References: User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk Hi Britton, sorry for the delayed answer. Britton Kerin: > I don't get why some text elements (refdes=, device=) end up repeated in > the .sch file and other stay in the element. what distinguishes these > elements? By default, all visible attributes are copied ("promoted") from the symbol to a newly-created component. Some attributes (footprint=, device=, value=, model-name=, and symversion=) are always promoted regardless of their visibility. The exact promotion behavior can be configured with the following options: attribute-promotion promote-invisible keep-invisible always-promote-attributes See `system-gafrc' for further information. > * create the pcb file directly. sort of a hassle but probably what I'll > do unless there's a better way, a little weird in my case since I have a > lot of footprints using a text library of my own You can entirely skip the .sch step and generate the netlist directly. There are different ways to do this; just have a look at the gnetlist output for the `pcbfwd', `PCB', and `gsch2pcb' backends to get an idea. It may also help to have a look at the backend sources: https://github.com/rlutz/geda-gaf/blob/stable-1.10/xorn/src/backend/gnet_pcbfwd.py https://github.com/rlutz/geda-gaf/blob/stable-1.10/xorn/src/backend/gnet_PCB.py https://github.com/rlutz/geda-gaf/blob/stable-1.10/xorn/src/backend/gnet_gsch2pcb.py Here's the `pcbfwd' output for a single resistor: Netlist(Freeze) Netlist(Clear) Netlist(Sort) Netlist(Thaw) ElementList(Start) ElementList(Need,"R1","unknown","unknown") ElementSetAttr("R1","device","RESISTOR") ElementSetAttr("R1","manufacturer","unknown") ElementSetAttr("R1","manufacturer_part_number","unknown") ElementSetAttr("R1","vendor","unknown") ElementSetAttr("R1","vendor_part_number","unknown") ChangePinName("R1", 1, "1") ChangePinName("R1", 2, "2") ElementList(Done) > btw I just noticed one out-of-date looking thing on that page. It says: > > Stable versions include: 20070526, 20070626, 20070902, 20071231, > 20080127, 20080929, 20081220, 20081231, 20091004, 20100214, 20110115 > > but my gschem saves as v 20130925. gschem says gEDA 1.8.2. Maybe my > build got a custom date though I'm not sure. But if not the wiki page > might be due for an update. Thank you for pointing this out. The wiki page is a bit ambiguous in this respect; I tried to clarify that sentence. The file format version number automatically increases with new builds even if the file format itself hasn't changed, so there can always be newer file format versions. Roland