X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Mon, 31 Jul 2017 03:37:04 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: geda-user AT delorie DOT com X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: Re: [geda-user] pinmapper filter In-Reply-To: <201707301838.v6UIcaJw002940@envy.delorie.com> Message-ID: References: <201707301838 DOT v6UIcaJw002940 AT envy DOT delorie DOT com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) 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 On Sun, 30 Jul 2017, DJ Delorie wrote: > > My latest little project included transistors and diodes, and I didn't > feel like doing the usual copy-symbol-fix-pins dance, so... > > http://www.gedasymbols.org/user/dj_delorie/tools/pinmapper.html > > This is just a perl script that sits between the netlister and pcb > which lets you map symbols (by refdes) to components, including > changing the footprint and pinouts. And yes, it can map one symbol > pin to more than one footprint pin :-) > > Enjoy! > Nice! I have a very similar script I use since early 2012, at svn://repo.hu/openhw/projects/util/trunk/devmap The major differences are: - I implemented it in two levels; the lower level is a simple pinmap attribute in gschem that stores the whole mapping without having to use an external database of sym->fp mappings; the higher level is simlar to yours, can attach/edit arbitrary attributes of a symbol (including pinmap) - I have a separate file for each sym->fp "device" (found it easier to maintain the database like that) - my script works on the gnetlist level so it should work both with gsch2pcb and import In cschem I plan to have a similar feature included right from the first release (as an optional plugin).