3D Fairing of Curves

Is there some tool out there that will do 3D fairing of curves.

If i start with a grid of points and draw vertical and horizontal curves through them, I would like to be able to fair the curves such that the horizontal and vertial curves continue to intersect.

Or restated, I would like to fair the points such that, if i start with points in line in the X and Y directions, that the poiints will move only in the Z direction to create smoother curves.

Might want to show us a model, but I use Nudge a lot to fair curves.

Here is an older tutorial on fairing: https://www.flexicad.com/public/Uebung_Glaettung.pdf

@miano I assume you are interested in fairing a set of lines for a boat or ship, starting with a table of offsets for the point locations.

Record History on.
CurveThroughPts to create the curves through the points. I usually use Knots=Chord.
CurvatureGraph on for the curves.
Select and move the points as desired. I also usually use Nudge. The curves will automatically update to the new point locations.

My method for entering a table of offsets as points into Rhino: Table of Offsets into Rhino as 3D Points

My approach to fairing a set of hull lines is to create a “virtual half model” surface based on the table of offset points. The virtual half model is then adjusted/faired until I’m satisfied with the combination of the fairness and the deviation from table of offsets. A revised set of lines and offsets can be created from the virtual half model.

General approach to using a table of offsets:

Approach used to create the virtual half model:

Modeling hulls with stems which smoothly transition into the keel"

I asked again because I finally broke down and started to program my own.

My plan is to start with a spreadsheet of data. In a Macro I would define ranges that are

  1. Fixed
  2. “Curves” that are variable in Y/Z
  3. “Curves that are "variable in Y

Those would define outlines and knuckles.

  1. [Ranges] boarded by one of the above faired as surfaces.

Each of the above will invoke a macro that converts F-I-8 values in one table into decimal values in another table.