[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: pick and place ?plugin?footprints.c? for



Dave N6NZ wrote:

> OK, I'll take a look at doing some testing.  I can think of three 
> footprints where I have the same pin number.  One is a SPST momentary 
> switch with four legs, and the other two have big heat sink pads with 
> the same pin numbers as ground.

I think the multiple pin thing will just weigh in more and shift the 
computed centroid towards the multiple pins.

>> I'm not sure how to make the algorithm properly deal with angles other 
>> than multiples of 90 degrees.  That is a pretty major assumption.
> 
> What are the barriers to other angles?

Think about a SOIC package for example.  It is fairly easy to decide 
what quadrant pin #1 is and once you know that, you're done if you only 
allow 90 degree steps.  Now suppose you allow 45 degree steps.  Pin 1 
for a SO6 will be in a different 45 degree slice than pin 1 of a SO16 of 
the same orientation.  If you want to support arbitrary rotations, you 
now have to take more steps to estimate what the axis of the part is. 
There could be some metrics like "look for rows of pins that fall on a 
line" but that will clearly fail for something that has its pads/pins 
distributed around a circle.

I'm not saying it can't be done, I'm just saying it gets more 
complicated and you probably need a lot of heuristics to deside what 
constitutes zero degrees for the part.

This is the advantage of storing the center and rotation of each 
footprint in the library.  You can deal with arbitrary footprints with 
arbitrary rotations.  The downside is you now have an opportunity for 
human error on every single footprint.

Still, the suggestion about letting a footprint optionally include this 
information to deal with "problem" parts might be an option.

-Dan


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user