[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: modify footprint and update layout
Just to put it on the screen an example land pattern.
Element(0x00 "Surface Mount Chip Resistor 0603" "R0" "" 0 0
-31 -82 2 100 0x00)
(
Pad(-2 0 2 0 39 30 50 "pad 1" "1" 0x00000100)
Pad(65 0 69 0 39 30 50 "pad 2" "2" 0x00000100)
ElementLine(-21 -35 87 -35 5)
ElementLine( 87 -35 87 35 5)
ElementLine( 87 35 -21 35 5)
ElementLine(-21 35 -21 -35 5)
)
The Element tag has three strings if I have the old land pattern I think
that I can reasonably presume that if I find a land pattern in a pcb
file that matches the first string "Surface Mount Chip Resistor 0603"
that they are the same. I could go a step further or two. Same number of
pins? same number of pads. same pin and pad pin numbers?
A key point is that you have to have the old land pattern.
Also by having the old land pattern you know where the land pattern
origin is. The origin is 0 0.
On Tue, 2008-12-16 at 22:06 -0500, DJ Delorie wrote:
> > So a string comparison of the old string against the searched for
> > string should work.
>
> What string? There are three strings stored in elements - value,
> refdes, and description. None are supposed to *always* include the
> filename! gsch2pcb happens to use "description" to store the
> footprint name, but that's not something pcb enforces.
>
> > Can we align the old land pattern in terms of x-y translation and
> > rotation? I think this is also do-able. It does assume you have a copy
> > of the old land pattern.
>
> The assumptions are:
>
> 1. The description field is the footprint name.
>
> 2a. The locations of at least two pins don't change.
> -or-
> 2b. The location of the mark and at least one pin doesn't change.
>
> Be careful about swapping the endpoints of SMT pads, though.
> Midpoints of SMT pads might be a better choice, but then again, that
> prevents you from making the pads longer on one side (think extending
> QFP pads outward).
>
This is what I like about these kinds of projects. There are probably
multiple solutions so how to first implement one and then expand it to
many and then evaluate the possible solutions for the best one.
> > What if, a exchanging a land patterns because we got the pin order
> > wrong. I think just do it (perhaps an option to let the user choose
> > between an assumption of device centering or of a designated pad as
> > the center) and then let the drc tell us our nets are shorted.
>
> user-chosen pins might make sense. Default could be pins 1 and 2, or
> mark and 1 (mark and 2 if mark overlaps 1).
>
I think we should presume that the two patterns have the same pin
numbering scheme.
Might make sense to add some rule checking before attempting the swap.
Do both the new land pattern and the old have the same pins. Does the
new one add/remove pins (not necessarily a problem).
As I said more interesting. This is an area that a google summer of fun
project might make sense and produce a usable algorithm that could
become a plug in.
>
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user