Input from a table of offsets, is that possible?

Below is a brief description of the method I use for creating a hull surface from offsets using Rhino.

  1. Import the offsets into Rhino as coordinate triplets to create a set of points.

  2. Create curves the points using CurveThroughPts with Knots=Chord. If any curves have kinks, for instance where they cross a chine, create separate curves for each segment between kinks.

  3. Look for large, obvious errors in the point locations, correct those and generate corrected curves. I do not spend a lot of time trying to reconcile and fair the curves at this stage.

  4. Look at the curves and decide how many individual surfaces to use to model the hull. Natural divides are kinks such as chines. Four sided, untrimmed surfaces are preferred but not always possible. Trimmed edges should be not be adjacent to other surfaces if possible. Edges need to be defined by curves from the offsets.

  5. Fair the curves which define the edges.

  6. For each surface create an untrimmed “starting” surface with edges which coincide with edge curves. If the surface will be trimmed then extend edge curves to create a set of curves which define the perimeter of the corresponding untrimmed curve. The starting surface can be created using EdgeSrf. Additional curves may be used as stations and the starting surface created using Sweep2 if each end of the additional curves is directly on a faired edge curve. Occasionally I will use NetworkSrf with a more complex set of curves but usually a starting surface created with EdgeSrf or Sweep2 is preferred.

  7. Rebuild and simplify the starting surface if possible with acceptable deviation from the edge curves. Commands I use for this step include Rebuild, RebuildUV and RemoveKnot. The goal is as simple an arrangement of control points as possible while being close enough to the edge curves.

  8. Start the Patch command and select the offset points as the input points and the appropriate starting surface. Select the Preserve edges option.

  9. Check the results against the offset points with PointDeviation.

  10. If there are areas where the match with the offset points is not close enough consider using InsertKnot to increase the number of control points in those areas. Also investigate where it may be possible to simplify the surface using RemoveKnot without deviating too much from the edge curves.

  11. Repeat steps 8, 9 and 10 using revised surface as the starting surface.

  12. Repeat steps above until a satisfactory surface is obtained.

  13. Refine the surface by moving control points as desired.

I’ll try to find time to provide a step-by-step example of the method in a new thread.