A CSG (constructive solid geometry) -based system to recognize 3-D objects from range images is proposed. The system starts by segmenting an object in a range image into primitive surface patches with the simplest geometric characteristics. The primitive patches are classified as surfaces of primitive volumes such as spheres, cylinders, cubes, or cones, and the order and types of set operations on these primitives are determined. This is achieved by constructing a precedence graph describing the priorities of operations. The recognition is based on matching of precedence graphs. The advantages and disadvantages of the approach are discussed.