On Mon, Apr 26, 2004 at 10:40:37PM -0400, Dan McMahill wrote: > On Mon, Mar 15, 2004 at 09:40:49PM -0800, Matt Ettus wrote: > > > > > > Is PCB capable of creating X-Y placement files for pick and place? The format > > seems pretty simple. > > > > Thanks, > > Matt > > > > Hi Matt, > > I have mostly implemented this. Do you have any good data from a > manufacturer on the exact format they like to see? It is fairly > industry standard? > > What I'm doing is having the routine calculate the centroid of the > pins/pads on the fly so you're not sensitive to where the mark may > be on the footprint. The only thing I have left to do is rotation. > Any suggestions on the algorithm? Any idea what the standard definition > might be? For example, if I have an 8 pin DIP or SOIC, what is the > angle of this: > > 1 8 > 2 7 > 3 6 > 4 5 > > Is that 0 degrees or +90 degrees? > > DJ has suggested an approach that looks which quadrant pin #1 is in > after you find the centroid and then using a definition like: > > pin #1 quadrant, rotation > > 1, +180 degrees > 2, +90 degrees > 3, 0 degrees > 4, -90 (or should this be written as +270) degrees > > Any thoughts based on real experience as to cases where this will fail? > > I suppose (thinking while typing) if pin 1 falls on an axis, I need to > properly deal (SIP packages, 2 pin packages, etc) and a 1 pin part > would always be 0 and a 1 pad part could be 0 or 90 based on aspect > ratio of the pad. > well, I found one. SMA connectors have pin #1 at the centroid of the part.
I think pin #1 at the centroid is the only case where what I've implemented totally misses the boat. Then again, probably not too many parts fall into this category. An excerpt from what I have so far is: # $Id$ # PcbBOM Version 1.0 # Date: Tue Apr 27 03:16:14 2004 UTC # Author: Dan McMahill,At Home ,258-8142, # Title: CA16R001 - PCB BOM # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in 1/100 mil units. rotation in degrees. # -------------------------------------------- C43,"0805","2.2u",282200,298000,0,top R55,"0603","10k",256000,69600,270,top J11,"MTA100_8","Amp 640456-8",259000,21000,0,top R59,"0603","10",265000,90600,270,top J14,"HEADER8_2","unknown",261000,130000,180,top R53,"PANASONIC_EXB2HV","EXB2HV201J",391000,142000,90,top U6,"US8","unknown",244000,87000,180,top TP21,"TP-40-100","unknown",266000,112000,0,top C50,"0805","2.2u",256000,89800,270,top R57,"0603","10k",276000,69600,270,top R56,"0603","10k",266000,69600,270,top -Dan --