In the computer aided engineering process with finite element analysis, a CAD surface model is sometimes needed for various tasks such as remeshing, shape optimization or design modification. Occasionally, engineers who perform an analysis at the product design stage are given only finite element mesh models; corresponding CAD models can be unavailable. This paper presents a method to extract free-form B-spline surfaces and certain feature curves from a surface mesh model. First, using the k-means clustering method, our process segments given meshes into a number of regions according to principal curvature information; then, region operations are performed. Next, each region is converted to an approximately free-form B-spline surface. In the last step, feature curves to create loft or sweep surfaces are calculated by minimizing the distance error. Some practical examples are also presented to demonstrate the effectiveness and usefulness of our method. (C) 2018 Society for Computational Design and Engineering. Publishing Services by Elsevier.