On Sun, Aug 7, 2011 at 7:47 PM, Rob Spanton <rspan...@zepler.net> 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@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

Reply via email to