Since the initial release of pcblander, there's a new capability. In addition to flexible generation of footprints from source files, now pcblander can append the source code into the landpattern, so you never loose it and always know what the landpattern is. If want to know exactly what a landpattern is, all you have to do is browse the top of the landpattern file. The pcblander code is commented out from pcb, so the landpattern will load without a problem. If you edit the human readable top part of the file, the landpattern can rebuild itself if you type it at the command line.
Here's an example of an 0603 resistor landpattern: #!/usr/bin/env pcblander [EMAIL PROTECTED]| [EMAIL PROTECTED]| include("footprints.inc") # macros [EMAIL PROTECTED]| include("constraints.inc") # common constraints [EMAIL PROTECTED]| [EMAIL PROTECTED]| num_pads = 2 [EMAIL PROTECTED]| pad_width = 1.1mm [EMAIL PROTECTED]| pad_height = 1.1mm [EMAIL PROTECTED]| padgap_x = 0.6mm # horizontal gap between left and right pads [EMAIL PROTECTED]| keepout = 20mils # center-silk to edge of pads [EMAIL PROTECTED]| SO(0,0) # 2 padded SO package, centered at (0,0) [EMAIL PROTECTED]| [EMAIL PROTECTED]| # write it all out [EMAIL PROTECTED]| mywriteland_and_source("0603.sfp") [EMAIL PROTECTED]| exit() Element[0x00000000 "" "" "" 0 0 0 0 0 100 0x00000000] ( Pad[-3346 0 -3346 0 4331 1200 4831 "1" "1" 0x00000100] Pad[3346 0 3346 0 4331 1200 4831 "2" "2" 0x00000100] ElementLine [7512 4165 -7512 4165 1000] ElementLine [-7512 4165 -7512 -4165 1000] ElementLine [-7512 -4165 7512 -4165 1000] ElementLine [7512 -4165 7512 4165 1000] ) If you wanted to change the pad gap from 0.6mm to 0.8mm, you could edit the line with "padgap_x = 0.6mm", save the file and type "0603.sfp" at the command line, and the footprint would rebuild itself. This works for any pcblander script. To create a footprint/source from an existing source, change mywriteland(...) to mywriteland_and_source(...), follow it with "exit()" (so pcblander doesn't try to execute the pcb footprint text), and put "#!/usr/bin/env pcblander" at the top. Run the file and a new one will be created with the commented source and footprint inside. The release, more examples, and additional documentation is at www.catalinacomputing.com/gEDA. Steve From May 1, 2007: Recently, I built a board using lots of custom surface mount parts, as well as a number of unusual through hole parts. When it came time to generate the footprints, I needed to design a number of new footprints. I looked into the tools available, and found some graphical tools and specialized scripting tools, but they either were hard to use, or I couldn't get them to build some of my footprints (sorry in advance, if I misrepresented someone's tool). To solve my problems, I came up with "pcblander", which has been very effective for me. It uses human readable scripts as input. The scripts are pretty easy to follow, as they are mostly assignment statements and a few function calls. For those of you who use Darrell Harmon's "footgen" program, it has a number of similarities to that - I got myself started on pcblander by learning how footgen works. pcblander is quite flexible and extensible - if there's something missing, I should be able to add it in quickly (or if you prefer, you can do it by writing macros or, if you want complete flexibility, functions in perl). If you are interested, I've got a release at www.catalinacomputing.com/gEDA containing the program and source code, a readme, and some footprint examples. Steve _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user