In the present paper, we address the problem of recovering the true underlying model of a surface while performing the segmentation. A novel criterion for surface (model) selection is introduced and its performance for selecting the underlying model of various surfaces has been tested and compared with many other existing techniques. Using this criterion, we then present a range data segmentation algorithm capable of segmenting complex objects with planar and curved surfaces. The algorithm simultaneously identifies the type (order and geometric shape) of surface and separates all the points that are part of that surface from the rest in a range image. The paper includes the segmentation results of a large collection of range images obtained from objects with planar and curved surfaces.