Before we (or any old assembly house) go about putting surface mount parts on a board, we need to program our assembly robots. I’m oversimplifying, but essentially, the machine program needs to know the X / Y coordinates, relative to the board origin (which is the lower left-hand corner), the part rotation, and the side of the board.
In years past, we needed a centroid file (AKA pick-and-place file) containing all of that information. In some cases, we still need the centroid, but not always. Today, we can get the same information from ASCII CAD files, ODB++ CAD files or Eagle .brd files. You only need a centroid if you send us your board files in Gerber format.
If you do send us a centroid file, you no longer need to worry about rotation. The IPC has defined the zero degree orientation, as well as proper rotation direction, but too many part footprints set the zero degree at different angles. We can’t rely on the data.
While we have to ignore rotation and figure it out with other means, we still do strongly recommend that you follow IPC standards when you make your own footprints. The illustrations below show how footprints are supposed to be oriented.
There’s no earthly way of knowing
which direction we are going
There’s no knowing where we’re rowing