The objective of this work was to propose a surface fitting algorithm for the reconstruction of surfaces of revolution from three-dimensional measured points. A surface of revolution can be described by a two-dimensional cross-section curve rotating about an axis. An iterative optimization process was proposed to minimize the root-mean-squares error between each of the measured data and the fitted surface, which yields the optimized rotating axis and the best-fit cross-section curve. This surface fitting algorithm was combined with a B-spline surface fitting algorithm and a surface blending algorithm for the modeling of complex rotational parts. Several examples were presented to demonstrate the feasibility of the proposed strategy.