X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Sat, 18 Jul 2015 20:19:47 +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: [geda-user] pcb-rnd: parametric footprints (status update) Message-ID: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Reply-To: geda-user AT delorie DOT com Hi all, I'm doing a pcb-rnd [1] marathon this weekend. I estimate that the first version of the new footprint system will be ready by monday. A little teaser: http://igor2.repo.hu/tmp/pcb-rnd-fp.avi Short version: on-the-fly, language-independent footprint generation that works in the library preview dialog and in sch->pcb. Long version - things that already work: - Footprints are either static (from file, "file elements") or parametric (generated by an external program) - The heuristics to decide whether a footprint is parametric is simple: if the footprint attribute/name contains parentheses, it is parametric. The file name doesn't contain (), tho. - I've refactored all the element search/open code in pcb-rnd into pcblib_fp.[ch] so that all the above is centralized and coded only once. More code has been deleted than what I had to add and the result is more generic. - As shown on the video, I managed to change the gtk hid to use parametric footprints in the library window. - Vladimir contributed a gnet-gsch2pcb.scm variant that does not have any m4 or footprint attribute mangling in it, it lists all footprints 1:1. Thanks! - I've forked gsch2pcb into gsch2pcb-rnd so that it uses the same pcblib_fp - no more code/heuristics duplication between pcb and gschem. - There are provisions for running on win32 (there's an optional wrapper around running the external footprint generators so there's no hardwired dependency on POSIX shell or FHS paths anywhere - on windows it can be a bash.exe or a small C code that reads the shebang and executes the generator script with the interpreter specified). - I've written a few footprint generators in awk (connector(), dip(), so()); they are also accessible online [2]. - I've started to build the default library of pcb-rnd, which will contain essential footprints only. It's the cleanup we were discussing on the list a few months ago: a small set of footprints a new user is likely to use. No exotic parts. I plan to provide a lot of the common footprints from generators. I will minimize my dependencies: my generators will depend on shell and awk only (windows: this means two standalone exes; UNIX: both are generally available on normal installations). Regards, Igor2 [1] http://repo.hu/projects/pcb-rnd [2] http://igor2.repo.hu/cgi-bin/pcblib-param.cgi