Loft not working as expected

lofting the two top curves will result in a polysurface, while sweep2 on the bottom curves will return a single surface as desired (using the arcs as rails and two lines as sweep shapes). The four curves have the same CV-stucture. I guess it has something to do with weighted CVs of the arc-like curves. The whole thing was baked from Grasshopper, but the original gh-definition produces the exact same results and I need the curves to stay unrebuilt.

Any explanations or workarounds?

loft_vs_sweep.3dm (94.6 KB)

Hi, I tries Loft with the rebuild option( 5 control points) and Normal. That made a single surface. —Mark

as I said:

Then you have to live with the result (from loft). Your curves have kinks, so with loft you’ll get several sub-surfaces (from the sub-curves) that are joined into a BRep.

Hallo Lagom,

thanks for contributing to the discussion!

Please tell me how you know that there are kinks in the curves? I tried to check this by:

1 running “explode” on the curves (…“Cannot explode single curve segments.”)

2 running curvature graph, which looks like constant curvature. I had assumed this because the curves were generated by slicing through a sphere and and a cylinder:

Also interesting:

I did a “Loft” between curve “1” and “3” which worked as expected, … unlike lofting between curve “1” and “2” … although all the curves share the same CV-structure. (See attached file)

thanks in advance for your feedback!

loft_vs_sweep03.3dm (139.9 KB)

Move the centre CP of each curve and you’ll see. Your curves are arcs (measure their radius, it is constant). Curve 1 and 3 seem concentric, you get a single surface, albeit with a kink also (move the CPs on the isocurve).

@Lagom When you use “kink” do you mean a discontinuity in the tangency of the curve, or do you mean a multi-knot? A fully multiple multi-knot will cause a discontinuity in the tangency of the curve unless the control points are located so that the curves have tangency continuity.

These curves have fully multiple multi-knots but the control point locations are such that the tangency and curvature are continuous. Split the curves at the multi-knots and GCon reports G2 continuity.

Multi-knots can cause Loft to create a polysurface rather than a single surface.

hi david and lagom,

thanks for the interesting insight! This might help adress the problem in Grasshopper.

btw: the grasshopper “CrvKinky” component detects “no kinks”.

I now changed all the CV-weights to the same value which made the loft work as a single surface (when moving the center CV, it stll shows as a “kink”.

But shouldn´t opting for “loose” instead of “straight” or “developable” in the loft settings produce a single surface anyhow in this case, even with different CV weights?

Well, I’m just a surface modelling/CAS person, not a grasshopperer, so others are better qualified to explain what happens there.

No that’s not what those settings are about. They’re about how the surface behaves between the curves, not the input curves themselves…look it up in the help. Frankly “loft” is a primitive tool I never actually use.

The loft command is perfect in many situations, for example when i need a quick “fill” for a 4-sided hole. It works the same in rhino and in grasshopper (except for the “developable” option" which is not there in rhino). So please keep on commenting on the way loft works in rhino, especially on how curves and CV-structure influences the surface generation. I posted the rhino file instead of the grasshopper definition to reach more people.

thats exactly what the discussion is about ; )

and if you don´t like the loft command, then maybe this thread is not for you ; )