This paper describes a strategy for representing tolerance information and assembly information in a feature-based design environment. The concept of designing with features is extended to incorporate the specification of tolerance information. This allows appropriate tolerancing strategies to be provided within the feature definitions themselves. Thus a closer connection is formed between features and the functional intent implicit in their use. The concept of designing with features is also extended to incorporate the specification of assembly information, through the use of assembly features which provide a high-level user interface for the creation and modeling of assemblies, and which handle the identification and creation of mating relations between components. Several examples of component and assembly design using this extended feature-based approach are presented.