Thanks for the examples DJ and John... Joel Ostheller Digital Hardware Design Engineer Email : [EMAIL PROTECTED] Phone : 253.867.0407
> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:geda-user- > [EMAIL PROTECTED] On Behalf Of DJ Delorie > Sent: Tuesday, January 02, 2007 2:54 PM > To: [email protected] > Subject: Re: gEDA-user: autogenerate footprints > > > > Yeah, great idea... is there any standard Perl Script under svn that > > most people use? > > I have some perl scripts on gedasymbols you can copy routines out of. > There isn't a "standard perl script" because that's not why people use > perl - each script is custom. At best, you might be able to cobble > together a useful set of library functions which you'd call from perl. > > Here's an example of a custom perl script to generate footprints. It > builds a quad flat pack style footprint. There isn't much in here > that's reusable, but you can see that it's easy to tweak it to change > the generated footprint. > > #!/usr/bin/perl > # -*- perl -*- > > $e = 0.50; > $vpins = 25; > $hpins = 25; > $b2 = 0.225; > $i2 = 0.9 + 0.4; > $out = 1.2; > > $pin = 1; > $vy = ($vpins-1) * $e; > $hx = ($hpins-1) * $e; > > print "Element[\"\" \"TQFP-$vpinsx$hpins-$e\" \"\" \"\" 0 0 0 0 0 100 > \"\"] (\n"; > > for ($i=0; $i<$vpins; $i++) { > &pad(0, $e * $i, -1, 0); > $pin ++; > } > > for ($i=0; $i<$hpins; $i++) { > &pad($e * $i, $vy, 0, 1); > $pin ++; > } > > for ($i=0; $i<$hpins; $i++) { > &pad($hx, $vy - $e * $i, 1, 0); > $pin ++; > } > > for ($i=0; $i<$hpins; $i++) { > &pad($hx - $e * $i, 0, 0, -1); > $pin ++; > } > > sub pad { > my ($x, $y, $dx, $dy) = @_; > $x += $dx * ($out + $b2/2); > $y += $dy * ($out + $b2/2); > $x2 = $x + $dx * ($i2 - $b2); > $y2 = $y + $dy * ($i2 - $b2); > > printf("\tPad[%d %d %d %d %d %d %d \"%s\" \"%s\" \"square\"]\n", > &m($x), &m($y), &m($x2), &m($y2), > &m($b2), &m($e*0.51-$b2), &m(($e+2*$b2)/3), > $pin, $pin); > } > > sub m { > my ($mm) = @_; > return int($mm / 0.000254); > } > > print ")\n"; > > > > _______________________________________________ > geda-user mailing list > [email protected] > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user _______________________________________________ geda-user mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

