A semi-automatic 3D roof reconstruction method is proposed in this paper. It consists of two components: automatic recognition of 2D plane drawings and interactively “pulling” or “pushing” the recognized results. Only a limited number of reconstruction operations are needed to generate various types of 3D roofs, making the method efficient. Key words: roof reconstruction, pulling, pushing