Mail Archives: geda-user/2015/07/18/14:20:26
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
- Raw text -