Electronic – Do packages have to be centered in eagle to export valid pick and place data

eaglepackagespcb-assemblypcb-design

I am working on a PCB featuring this SD card connector
http://media.digikey.com/pdf/Data%20Sheets/Amphenol%20PDFs/101-00313.pdf

In the technical drawing, it seems that the origin of the part is the intersection of the axis of the component with a line through the middle of the pads for the signal pins. For example, the dimension for the topmost hole (24.31mm) is measured from the center of those pads.

I created the component in Eagle and I've used the same center as in the technical drawing. However, I can imagine the pick and place machine won't be able to pick up the connector using that center.

My question: do I have to make sure to manually calculate the center of the part body (without pins) and then use that as the new center for the package, when I'm done designing the package? So basically, I move the package so it centers around the origin when I'm done? When I called my SMT subcontractor they said the software automatically calculates centroids when you export pick and place data (e.g. using mount-smd.ulp) but I'm thinking that it's up to the machine operator to decide how to pick up the part and place it correctly on the footprint?

I'm just not 100% clear on whether eagle uses the centers of the packages when exporting centroid data or if it just determines the centroids of the parts automatically (such that where you put the origin originally in the library editor won't matter).

Best Answer

Looking into the script I see

     printf("%s %5.2f %5.2f %3.0f %s %s\n",
     E.name, u2mm((xmin + xmax)/2), u2mm((ymin + ymax)/2),
     E.angle, E.value, E.package.name);

thus it must output center of component by X axis and center of component by Y axis. Further, if you look into description

#usage "<b>Data generation for mounting machines</b>\n"
   "<p>"
   "Generates files for smds on the top and bottom layers "
   "wich can be used with mounting machines. "
   "The x and y coordinates (units: mm) of the SMD elements are calculated "
   "as mean of maximum and mimimum value of the smds origin points. "
   "The calculated value does not necessarily fit with the origin "
   "point of the part in the layout."
   "All SMD elements populated in currently set assembly variant are considered."
   "<p>"
   "The syntax of the output data looks like this:"
   "<p>"
   "<tt>name x-coord y-coord rotation value package</tt>"
   "<p>"
   "<author>Author: support@cadsoft.de</author>"

It actually slightly confusing, but I tried this script on one of my projects, and SMD device with origin out of its physical center was output to the placement file with physical center of the component.

Conclusion: origin position of the component does not matter. You do not need to rework your device.