Geometry is a language for representing and communicating mechanical design information. To enhance the integration of design and manufacturing tasks, a representation of product geometry at appropriate levels of abstraction for geometric reasoning is necessary. In addition, a mechanism to perform reasoning with the representation is needed. This paper describes a computational formalism for representing and manipulating geometry at different abstraction levels. Geometry is abstracted in terms of form features. Spatial relationships between features, which are important components for geometric reasoning, are represented using a modification of a previously developed technique — the intermediate geometry language (IGL). To enable geometric reasoning, information abstracted using features and the IGL is transformed into a data model based on object-oriented modeling technology. An object algebra is defined to query the data model for information.