[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