Why is my loft of 25 curves is creating a polysurface instead of a surface?

I am new to Rhino (on a Mac). Please excuse me if this is a naive question.

I’ve constructed 25 curves and am trying to loft them. The curves deform very little between neighbors. I keep getting a polysurface which is jagged.

Do the curves have to have the same number of knots? Do the loft connect corresponding knots on neighboring curves?

Note: By experimenting, I’ve found that some subsets of the curves loft into a surface, other subsets create polysurfaces.

Are there general tips for getting a smooth surface through many curves?

Thank you.

Hi @ccarter,

Can you post the 3dm file that contains the 25 curves you are trying to loft?


– Dale

I suspect some of your curves are “polycurves”, that is separate curves Joined together, perhaps with a sharp kink where they are joined.

Dale is right, we need the file to be sure but I suspect you have one or more curves joined together.

Even if it’s just one out of the 25, that will create a polysurface, so you will need to check them all…

I’m impressed by this community. Thank you for the rapid response.

I’ve selected all the curves individually and they all give me “a single curve added to selection”. But, again I am new to Rhino so I am not sure if this proves they are not polycurves.

I am attaching my file. All of the curves are on the default layer. There is more stuff on the other layers which can be ignored.

09M-26D_18.3dm (3.6 MB)

Many thanks, Craig

Actually most of your curves have internal tangent joints (G1) even if they are not listed as polycurves - if you select them all and use Explode, you will end up with 187 segments. I think this is because they are degree 2.

How to fix data like this is difficult (at least with my knowledge) - one way to do this might be to run FitCrv on all of them with the largest tolerance (deviation) you can handle - that will not make the curves with all the same number of control points, but the resulting loft will be a single (but somewhat noisy) surface…

Maybe someone has a better idea…

OK, maybe I have a better idea - file attached below. Hmm, not sure all of the ops are available in Rhino V5 for Mac…

  1. Select one curve - I took the one on the end and colored it red - and use FitCrv. I used a tolerance of 0.1.

  2. Select the other curves (cyan) and call Rebuild, then punch the “Select master curve” button (in Rhino V6), and select the red curve as a master then accept.

  3. Then loft all the curves.

In Rhino V5, the “select master curve” option is not available through the dialog, but via the command line with the -dash version of the command. Don’t know if it’s that way on Mac.

This produces a relatively clean surface, but it will be somewhat out of tolerance from the original curves at the bottom where they are sharp… Turn on the default layer to see the deviation.

RebuiltV5.3dm (509.8 KB)

HTH, --Mitch

Thank you Mitch,
This is useful, but it looks like I may need to create some new curves from scratch. I need to eliminate the ridge which run parallel to the x-axis.

I am importing the points for some of the curves from another program and then visually interpolating between them. I will try your advice about FitCrv

I am wondering if there is a best practice for creating smooth surfaces from lofts of many curves?

Again, I appreciate the help very much.


FitCrv will try to reconstruct your curves within tolerance with as few points as possible. In your case this will actually result in many more points than the originals, but the advantage is that the curves will be degree 3 and not have any kinks.

There is also RebuildCrvNonUniform which will rebuild a group of curves with the same structure - the problem is that the points are distributed more or less uniformly, you have both fairly sharp curvature in some spots and fairly flat in others, so you will also need a lot of points to not deviate too much in the sharper areas.

So it’s a trade off between fidelity to the original and smoothness/simplicity.