In this paper, we address the problem of recovering the true underlying model of a surface while performing the segmentation. First, and in order to solve the model selection problem, we introduce a novel criterion, which is based on minimising strain energy of fitted surfaces. We then evaluate its performance and compare it with many other existing model selection techniques. Using this criterion, we then present a robust range data segmentation algorithm capable of segmenting complex objects with planar and curved surfaces. The presented algorithm simultaneously identifies the type (order and geometric shape) of each surface and separates all the points that are part of that surface. This paper includes the segmentation results of a large collection of range images obtained from objects with planar and curved surfaces. The resulting segmentation algorithm successfully segments various possible types of curved objects. More importantly, the new technique is capable of detecting the association between separated parts of a surface, which has the same Cartesian equation while segmenting a scene. This aspect is very useful in some industrial applications of range data analysis.