My research focuses on richer tools for designing three-dimensional objects, particularly by novice and casual users, and on related problems in 3D synthesis and reconstruction. This research is driven by a more abstract interest in shape understanding at both the structural and semantic levels. (Why is a model of a chair not one of a chicken? What distinguishes a well-designed chair from a badly designed one? How can one build a better chair?) By building computational models of form, attribute and function, we develop new techniques for designing shapes (e.g. for 3D printing or architecture), for recognizing and reconstructing objects (e.g. in scanned cities or indoor environments), and for analysing large collections of three-dimensional data such as the 3D Warehouse.