Software can produce a product model of a building as a consequence of the designers'actions in drawing and evaluating the design. The actions of the designer include interpreting, predicting and assessing the emerging design and describe the building in terms of forms, functions and behaviours. A software prototype has been implemented that incorporates this understanding of the design process in the field of building design. It employs object-oriented classes to represent forms, functions and behaviours. As a software user draws and interprets the design for multiple evaluation issues, the software creates a unique `virtual component'for each entity. During automated reasoning to evaluate the emerging design, virtual components collect and organize form, function and behaviour instances to describe the parts of the building. In comparison to other product models, our approach, which we refer to as a `Virtual Product Model', better accommodates change, provides increased support for the design process and enriches the product representation by including function and behaviour.