On 3/5/2012 7:15 AM, Dan McMahill wrote:
On 3/4/2012 10:11 PM, rickman wrote:
The XYRS fiasco is only mitigated by the IPC standard defining the
convention for rotational and positional orientation.  But that does not
include a file format unfortunately.  Where would I find documentation
on your format?
http://pcb.geda-project.org/pcb-20110918/pcb.html#Centroid-File-Format

There are some newer formats that some vendors have tried to push as a
replacement for what is used now (Excellon + Gerber).  Probably my
biggest complaint is that none of them really seem to be open formats.
I.e. you either have to buy an expensive document to find out about it
or work with a particular vendor who may require an NDA.

I had a chance to view the Centroid file description and it looks pretty good. I expect I'll be using that since there is no real reason to use anything else. There is one part I'm a little unclear on - the way PCB calculates the centroid.

   "The center of each element is found by averaging the (X,Y)
   coordinates for the center of each pin and pad in the element."

   
http://blog.screamingcircuits.com/2009/12/a-few-hints-of-the-centroid-file.html

This would be the geometric mean of the centers of each "pin and pad". First I'm unclear why PCB would use the pin _/and/_ pad. Maybe that is just a typo or maybe that just means through hole as well as surface mount. But I'm also unclear on why you would use the geometric mean of the pins and/or pads. At this point I don't recall what the IPC spec says about how to calculate the centroid (if anything), but the Screaming Circuits document (which I find much easier to read) says, "The part origin for odd shaped parts is centered in the entire part footprint including the leads, not just the package.". This is how ever PC layout package I've ever seen does it. For symmetrical parts it all comes out the same. But for asymmetrical parts the stated PCB method can give a centroid that is way off center of the part which I believe is not the intent.

Am I confused about calculation of the centroid in PCB?

I have been using FreePCB. In that program the centroid is specified by the user when creating a part. It is a vector, so it both establishes the centroid of the part for X,Y orientation and establishes the angle for 0 degrees reference. I take it PCB uses the orientation in the library as the 0 degree reference? I think this came about in FreePCB because a bunch of library parts were drawn using a wrong convention and rather than rotate the library, they added a centroid vector. Seems like an unnecessary and complicating factor to me, but it works. Now that I know what should be in the XYRS file (the angle has always been hard to figure out for the reverse side) I inspect every part.

Rick

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Gerbv-devel mailing list
Gerbv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gerbv-devel

Reply via email to