Conventional mechanical design focuses on a single completely specified nominal shape that is later toleranced to allow for variations in form. The corresponding design processes usually involve arbitrary decisions affecting the geometry and do not support systematic generation of alternative shapes satisfying identical or altered functionalities. This places a serious handicap on the design cycle of a product, since most new designs are obtained by modifying existing products to comply with new functional specifications. Since the functionality of a part does not usually define all of its geometry, a more coherent approach would be to design classes of equivalent mechanical parts that satisfy a given functionality. We show here that, by replacing the completely specified geometry of the traditional approaches with partial geometry and functional specification, we can generate classes of mechanical parts that are equivalent, in the sense that all members of the class satisfy the same functional specifications. Ability to define, compute, and represent classes of functionally equivalent parts will allow one to generate, compare and modify functionally equivalent designs, perhaps having dissimilar geometries. We identify three such equivalence classes for artifacts with parts moving in contact, which presume, at the very least, contact between parts, spatial containment during their relative motion, and external loads applied on the moving parts. We show that these classes of functionally equivalent parts are computable and may be represented unambiguously by maximal elements of each class.