Issues with Lofting Closed curves with Grasshopper and Rhino


I’m experiencing some issues lofting a set of curves to produce a smooth surface. I’m working with two sets of three curves. The first set is troublesome. These curves are offset 10mm, and one set of the curves refuses to loft smoothly; it’s as if the curve-start begins at one point then jumps right next to the endpoint before continuing normally, but the seams are nearly in line with each other (see pictures).

However, the second set of offset curves (distance 30mm) lofts beautifully into a polysurface made of two surfaces, as intended. Not sure why this particular distance works, since both sets of curves have the same direction/orientation and the seams are awfully close to lying on a line. Precision is paramount, so I’m not interested in smoothing these curves. I can adjust the seams such, but I’m not sure that’s the problem and I feel like there is a fix somewhere internal to GH.


Files attached (36.3 KB)
toGH.3dm (811.8 KB)

Because your curve structures do not match in control point count and placement. You can see with explode how the curvatures are not aligned so well.

Cruve structure is important for lofts, otherwise the loft tries to interpolate them and you can get strange results. Just use Fit Curve component to fix it.

1 Like


Thank you for reminding me to look at the curves’ control points, although I rebuilt instead of fit the curves since I could assign each curve to have the mean average number of control points (314), but I’m not sure this is necessary.

How does Fit Curve differ from Rebuild Curve for this application (ie how does Fit Curve differ from Rebuild Curve in interpolating new control points)? I notice that Fit Curve produces a curve with significantly fewer control points (between 55 and 68 @ .001 tolerance and 187 and 197 @ .0001 tolerance), does this impact the precision of the model? Is it even relevant for me to consider the number of control points at different tolerances?

Fit Curve doesn’t change the shape of the curve (to a tolerance) and remakes better control point spacing and count based on the curvature. You can think of it as a kind of optimal way the control points should be in order to make that shape without having redundant control points or weird spacings.

Rebuild lets you set control point count and basically tries to evenly space those control points along the input curve, then interpolates a new curve. As you noticed you have to use a lot of control points to get close to the original shape, because even spacing is not always the optimal way to make the curve you drew, hence we have Fit Curve. However, rebuild usually gives you a nicer shaped curve but it won’t be specifically the curve you drew.

In general I use Rebuild if I want a nicer shaped curve than I drew, and I use Fit Curve if i absolutely need to keep the input curves shape.

1 Like

This info should be in a help file. :slight_smile:

Comparisons are always (always) the most pedagogical way to explain things, and here we have a perfect example.

// Rolf