The important issue of mechanical assemblies has been a subject of intense research over the past several years. Most electromechanical products are assemblies of several components, for various technical as well as economic reasons. This paper provides an object-oriented definition of an assembly model called the Open Assembly Model (OAM) and defines an extension to the NIST Core Product Model (NIST-CPM). The assembly model represents the function, form, and behavior of the assembly and defines both a system level conceptual model and associated hierarchical relationships. The model provides a way for tolerance representation and propagation, kinematics representation, and engineering analysis at the system level. The assembly model is open so as to enable plug-and-play with various applications, such as analysis (FEM, tolerance, assembly), process planning, and virtual assembly (using VR techniques). With the advent of the Internet more and more products are designed and manufactured globally in a distributed and collaborative environment. The class structure defined in OAM can be used by designers to collaborate in such an environment. The proposed model includes both assembly as a concept and assembly as a data structure. For the latter it uses STEP. The OAM together with CPM can be used to capture the assembly evolution from the conceptual to the detailed design stages. It is expected that the proposed OAM will enhance the assembly information content in the STEP standard. A case study example is discussed to explain the Usecase analysis of the assembly model.