[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Constraint-based PCB footprint design
On Sun, Aug 7, 2011 at 7:47 PM, Rob Spanton <rspanton@xxxxxxxxxx> wrote:
> Hey all,
>
> I've recently been playing around with designing footprints by
> describing a set of constraints that position features relative to each
> other. ÂThis is rather than specifying the absolute co-ordinates of
> every feature.
>
> I've written a small tool that allows this to be done. ÂIt pumps out a
> gEDA PCB footprint when one wants :-)
>
> I've written more information about it in a blog post, where you'll also
> find a link to the code:
> https://xgoat.com/wp/2011/08/08/playing-with-footprints-and-constraints/
>
> The tool is by no means complete... Âit's the result of just a few hours
> work right now. ÂAnyway, I hope either the tool or the concept of the
> tool might be of use to at least some in the gEDA community.
>
Reminds me of my turtle like c library for component creation (from
long, long ago...)
http://ftp.sunet.se/geda/mailinglist/geda-dev40/msg00036.html
#include <stdio.h>
#include <math.h>
#include "library.h"
#define DIMY 2.00
#define DIMG 3.50
#define DIMC 5.50
#define DIMZ 7.50
#define DIME 2.40
#define DIMD 5.00
#define DIMP 1.27
#define PAD_WIDTH 0.80
#define PAD_LEN DIMY
#define DIMA DIMP * 3.0
#define CENTERY DIMD / 2.0
void make_element(void)
{
set_mm();
set_pad(PAD_WIDTH, PAD_LEN, 0.20, PAD_WIDTH + 0.10);
pen_width(0.3);
header("SOIC-8", "U1", "SOIC-8", 0, -1.50, RIGHT);
pads(PAD_LEN / 2.0, CENTERY - DIMA / 2.0, DIMA, DOWN, 1, 4, 1);
right(DIMC);
pads_up(DIMA, 5, 8, 1);
place((DIMZ - DIME) / 2.0, 0);
pen_on();
down(DIMD);
right(DIME);
up(DIMD);
left(DIME / 2.0 - .25);
down(.5);
left(.5);
up(.5);
left(DIME / 2.0 - .25);
}
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user