Rhino failing simple Loft. BUG?

Hi all!

I have a big datatree of groups of 5 nurbs curves… almost everything works fine, but some branches do this thing:

loft bug.gh (6.4 KB)
(attached as grasshopper but it behave the same in Rhino)

Every curve have the same “structure” … what’s going on?

What can I do to have a proper single surface that passes through those curves? (without rebuilding the curves)
This is urgent and I’ve already wasted too much time :face_with_head_bandage:

Hi @maje90 ,

As you’ve demonstrated the directionality and order of the curves as well as the control point count seems correct. Does seem a bit bugged out. I’m going to analyze further.

In the meantime. Here’s two methods as a potential workaround.

Graph Space:

Lofting the SubCrvs (results in Polysurface though…):

Sweep2 (better option, single surface):

Alright, I think the issue is in the curve knots.
Check this out:

Graph Space (Create New NURBS Curves With Weight/Knot Data from first curve in list):

Model Space:

GH (All Options Above):
20230831_loft bug_Response_01b.gh (24.4 KB)

GH (Knot/Weight Method Only):
20230831_loft bug_Response_01c.gh (9.0 KB)

1 Like

Thanks for the effort!

The sweep2 solution doesn’t accurately follow the curves, only the first section is used…

The solution about matching weights and knots is interesting, but I wonder… doesn’t changing those means also changing the shape?
This branch of curves are similar each-other, also other branches do not have big differences, but I fear in future the difference will be bigger from first and last curve, and so matching the weights and knots might not be suitable for me.

Is Loft function expected to behave this way if the sections curves are not matched?
I would tag a dev but I don’t know who bother for this …


something seams strange with the curves or with _loft
also the corresponding Rhino commands (WIP V8) do not behave as expected.

to get a proper result

  • use loft option with refit - within the desired tolerance


  • simplify the curves first
1 Like

Yes, you are correct. This was just a bandaid solution for now since you said you were in a rush on it.

I think the longer term issue is something related to the planar curve being composed of subcurves and the loft operation not matching the indices properly across the subcurves/points but I’m not sure.

but @Gijs or @pascal
something is inconsistent here - at least from a user point of view.
(there might be some technical explanation in the background…)

drawing curves and fillet them (left) with different radi
_loft with normal setting.
(split at tangent unchecked)

once I get a Polysurface
once a single (merged) surface

the baked curves of this topic give this nice “zopf”

_simplify and _loft result in unexpected knots / spans

oh … and quite curious:
orientating and scaling the curves - the problem is gone
maybe some tolerance-issue ?

see attached file

loft_bug_TP.3dm (5.2 MB)

1 Like

@maje90 I will ask around why this happens, but in the meantime, does the attached help?
Basically I am exploding the curves, lofting them separately and them merging them back into a single surface.
loft bug workaround.gh (26.2 KB)

1 Like

@Tom_P thanks for the scaling observation.
I’ve made RH-76757 Loft gives unexpected result

reminds me of ‘Stuten’ :yum:

Yeah, that is a nice solution, thank you @Gijs
I’m using it now for all the other 491 cases… seems good!

1 Like