3d Fairing of Table of Offsets

One approach:

Create a set of edge curves. First create polylines around the boundary from the input points on the edges. Use FitCrv to obtain a NURBS curve from the polyline. The polyline is used as the input to FitCrv because “When the input to the FitCrv command is a polyline, the FitCrv command treats the polyline vertices as a list of points, and it tries to compute a curve that goes near the points but has a reasonable number of control points. The FitCrv command is meant for polylines with many closely spaced points.” Experimentation with the tolerance value in FitCrv is usually needed to find the balance between minimum number of control points and curve fit to the input points and smoothness. Additional refinement of the curve using RemoveKnot and/or InsertKnot and manual edit of the control point locations may be needed. Fit to the input points is checked using PointDeviation and smoothness is checked using CurvatureAnalysis.

Create an initial surface from the edge curves using EdgeSrf. Use Patch to fit the initial surface to the input points using the initial surface as the Starting surface. Preserve edges will probably be desired. Use PointDeviation and CurvatureAnalysis to check the fit and smoothness of the surface. Experimentation with the Stiffness value may be needed. Use InsertKnot to add knots and associated control points if needed to allow the surface to more closely fit the input points. Run Patch with the updated surface to refine the interior control point locations. The trade-off of adding knots and control points is an increased probability of oscillations or similar in the surface.