Guys - On Sat, Feb 25, 2006 at 05:48:11PM -0500, DJ Delorie wrote: > > m4 or newlib should be, in my opinion, completely hidden from the > > user. > > We're trying to get rid of m4 anyway.
Right. But not by going backwards to GUI-only footprint design. We need a more powerful and widely used language to generate footprints, plus a decent codebase that generates a broad base of common footprint _categories_ from parameter lists/databases. I want this codebase hooked into the running PCB, like I did with qfp-ui. Preferably in a way that 1. Is gaf-aware and friendly 2. Keeps comments (like the parameters) in the PCB file 3. Previews nicely 4. Is friendly to scripts, databases, and GUIs So far we have at least three attempts: My qfp-ui, written in (ack) Tcl. Good points: integrated preview; has a separate database of parts parameters. Bad points: only one style of parts (generalizes to both QFP and SOIC). Darrell Harmon's footgen, written in Python. Good points: useful variety of parts categories. Bad points: off-line generation of static parts, no built-in preview. John Luciani's footprint creation in Perl. I haven't tried it, seems similar to footgen. All of these attempts would benefit from a coherent separation of footprint name from part name, with an independent database to connect them. None of these are new ideas. I'm glad people like Darrell and John are actively working at them. Certainly many PCB users will never see this stuff, they will just pick the parts they want from a search box (preferably with pattern match and preview). The next level is to draw a one-off footprint, and that should be easier than it is now. We _also_ want to make it easy for the Darrells and Johns of the world to hack away at the footprint generator code. Finally, I would argue in the other direction from a suggestion that gaf and PCB merge. Leave that work to Debian and installable CD creators. We want the footprint experts to work on their stuff without interfering with bug-fixing the DRC engine, etc. I'd like to see PCB split into about three parts (footprints, layout database, and GUI), so that we can make faster progress on each. OK, time to get back to real work. - Larry