We describe a constraint-based three-dimensional design environment called Smart Objects. In Smart Objects, design collaborators (designers, clients and consultants) would engage an architectural design in an interactive three-dimensional environment where they may alter objects in the model and compose formal solutions. Design intentions embedded into objects as constraints are expressed as behaviours when the user moves objects in ways that either violate or meet specified constraints.