Industrial parts can
be fed (oriented) using a sequence of fixed horizontal pins
to topple the parts as they move past on a
conveyor belt. We give an algorithm for designing a sequence
of such pins for a given part. Given the n-sided
convex polygonal projection of a part, its center of mass
and frictional coefficients, our O(n2) algorithm computes the toppling graph,
a new data structure that explicitly represents the mechanics of
toppling, rolling, and jamming. We verify the toppling graph analysis
with experiments. Our O(n3n) design algorithm uses the toppling graph
to design a sequence of pin locations that will cause
the part to emerge in a unique orientation or to
determine that no such sequence exists.