On the same board, pads, silkscreen, and the 3D view can all look normal, yet after the placement file is imported an entire row of parts is offset. Many people go back to check the board outline or units. The real problem is often in the footprint library: move the origin by a small amount, and every coordinate follows.

The origin is not a crosshair left behind while drawing. It is the zero of the footprint local coordinate system. After the part is placed on the PCB, the software adds board-level position and rotation to this zero to generate X, Y, and angle.
A footprint that passes DRC therefore does not guarantee that assembly data is correct. For reliable placement coordinates, footprint origin, pin-1 orientation, and the zero-degree definition must follow the same set of rules.
Geometric center and assembly datum are not the same thing
Symmetric resistors and capacitors often place the origin at the geometric center. Position stays stable during rotation, and the placement program is easy to recognize.
For irregular connectors, switches, and parts with locating posts, the assembly datum may be set by body center, the lead array, or the pick-up center recommended by the manufacturer.

The criterion is not whether the drawing looks centered. It is whether coordinate output, nozzle pick-up, and placement location can use the same reference point.
Library files often contain a drawing origin, a footprint origin, and pad endpoint coordinates at the same time. What usually enters the placement file is the part placement reference, not the current cursor zero in the editor window. Library rules should separate the names and purposes of all three so engineers do not assume that clicking "set origin" once completes every datum setting. For parts with a thermal pad or an asymmetric mechanical structure, also check the manufacturer assembly drawing to confirm whether the pick-up center is offset from the lead-array center.
Geometric center must also be calculated from the complete assembly object. Selecting only pads and omitting locating posts or the body outline can produce a center that is suitable for routing but not for pick-up. Library rules should state what the center is based on.
Endpoint coordinates determine how pads are laid out around the origin
X and Y in the footprint editor do more than set pad pitch. They also state the position of each endpoint relative to the origin.
If the origin changes and pad coordinates are not rebuilt under the same rule, the footprint may still look correct while the local coordinates have already changed reference.
During library review, record key endpoint coordinates and confirm that the origin is where it is intended to be. Do not rely on the visual result after dragging with the mouse.
Bottom-side parts also add mirror and rotation rules. The same 90° may be expressed clockwise or counterclockwise in the EDA view, the placement file, and on the machine. A correct origin with an inconsistent angle convention can still produce a batch-wide orientation error. Coordinate samples should cover both top and bottom sides and keep a diode or IC with clear polarity as an orientation reference. Units must also be locked to mm or mil so origin problems are not stacked on unit-conversion problems.
Panelization further stacks daughterboard origin, panel origin, and full-board fiducials. When single-board coordinates are correct but the panel import is offset, check the coordinate hierarchy level by level. Do not go back and randomly edit footprints.
If the zero-degree direction is wrong, every angle is wrong
Rotation in the placement file usually references the footprint zero-degree direction. If the library treats 0° as pointing right, while the factory library defines 0° as pin 1 up, import produces a uniform 90° or 180° difference.
SOP, QFN, and polarized parts in particular must mark pin 1, silkscreen, and zero-degree direction together. Aligning only the outline center is not enough.

After changing a footprint origin or orientation, place a test part again and regenerate coordinates. The old coordinate file must not be reused.
After a library change, instances already placed on the board may not update completely. Different tools may keep local edits, update pads only, or reset all attributes. After correcting the origin, check that parts in the design truly reference the new version and re-export assembly data. If an old project must remain manufacturable and traceable, record library version and change date. Do not overwrite the library and then explain historical coordinates from the current file alone.
For alternate parts that share the same footprint, if the body or pick-up area differs, confirm that a shared origin is still valid. Pad compatibility does not mean the assembly datum is identical. Alternate-part review should include placement data.
Close the loop on one part before export
Choose one part with a known location and obvious orientation. Record X, Y, and angle from the board, then export the placement file and compare item by item.

In the assembly preview, check that the reference point falls inside the part body, that the center holds after a 90° rotation, and that pin 1 faces the expected direction.
If the coordinate error appears only in one footprint family, go back to the library, fix the origin, and update every instance on the board. Do not compensate part by part in the factory coordinate table.
Before volume production, build a small coordinate acceptance table: reference designator, board X/Y, footprint origin location, 0° direction, pin-1 direction, top or bottom side, and the reading from the placement file. Then have CAM or SMT return an import preview and confirm that the board outline and fiducials also match. This closed loop only needs a few representative footprints, yet it can expose origin, mirroring, angle, units, and failed-update problems at the same time.
After the coordinate loop passes, keep the sample file and import screenshots next to the footprint library. After a software upgrade or output-template change, the team can regress quickly with the same part instead of waiting for factory feedback.
Conclusion
A small shift in footprint origin does not change whether copper is connected. It does change how manufacturing understands part location. That is why the problem is easy to miss, and why it is best eliminated once at the library stage.
Put origin, pin 1, and zero-degree direction on the footprint acceptance checklist, then close the coordinate loop with one known part. That is far more reliable than editing tables by hand before production.