delorie.com/archives/browse.cgi | search |
I've been working on a way to handle one-to-many relationships between PCBs and BOMs. It's still far from complete and probably is a highly specific way of doing things, but since the subject's come up I thought I'd mention it. I'm still working on the docs and cleaning the code up when I have the time to do so. For now, though the docs are pretty useless to do anything interesting without the risk of breakage, here are the links to the (both WIP in infancy) code and docs if anyone wants to take a look. Git : https://github.com/chintal/tendril Docs : http://tendril.chintal.in/ Specifically, tendril.gedaif and tendril.boms. On Wed, Aug 26, 2015 at 1:19 AM, DJ Delorie <dj AT delorie DOT com> wrote: > > In both cases there's a many-to-one relationship; one schematic can be > used for many purposes, and one pcb is made of many schematics. > > So gschem would have to have many buttons, one for each purpose the > schematic is used for, but pcb would only need one - to collect the > things it needs. PCB's File->Import does this; it knows how to use a > list of schematic pages or call out to a Makefile to get what *it* > needs. A "getting started" button on gschem would need to assume that > the one schematic is sufficient for one pcb, or figure out how to ask > the user what other schematics are needed. Also, not everyone starts > a pcb with the import - I prefer to lay out the board's boundaries and > physical size first, *then* import. > > BOMs are trickier, because you need to know the set of schematics but > you also need to know the build-out of the board, i.e. which > configuration of parts is populated. I typically use a script to > generate a BOM from schematics on a per-pcb basis, using attributes > from the schematic, but I can't see that working as a button in either > gschem or pcb. Also, if your sch->pcb tool modifies any of the parts, > the BOM generator would need to know about that too. -- Chintalagiri Shashank Indian Institute of Technology, Kanpur http://blog.chintal.in
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |