A syntactic approach to three-dimensional object recognition from a single viewpoint is proposed. The system consists of two major parts: analysis and recognition. The analysis part consists of selecting primitive surface patches and modeling grammar construction. The recognition part consists of preprocessing, image segmentation, visible primitive surfaces identification, camera model estimation, and structural analysis. Attention is given primarily to the analysis and the structural analyzer of this system.