This paper presents the functional requirements and architecture design of a system for supporting routine mechanical design of parts, assemblies, or systems. The majority of activity in routine design involves the use of heuristic rules, procedures, and analysis techniques that are well understood and widely accepted. Taking advantage of the common features in routine design, which are domain independent, it is possible to construct a domain independent shell. The shell, named “The Design Machine®” commands a feature-based assembly modeler, a feature-based part modeler, and a solid modeler, in that order. The system includes abstract sketching facility, icon compiler, a knowledge base building facility, inferencing capabilities (The Design Engine®), and intelligent data management.