Sweep & loft problem on generating an integrated surface

boxx.gh (69.3 KB)
tower.3dm (146.2 KB)

Hi guys, I’m having problems on generating surface in grasshopper. I’ve tried both method of sweep & loft, but it always create a surface that can’t join well. It always has naked edges on the seams and now I don’t know how to fix it up. Am I using a wrong method or algorithm?

Please let me know if I didn’t describe my question clearly. Much appreciated!


Even without those plugins, it was easy to see the problem. It’s more difficult to explain it. I found a place in the code that had the points I wanted so I started there to create the white group (below).

boxx_2021Oct18a.gh (28.5 KB)

I threw away everything after that. I noticed you used Member Index in several places where the additional input(s) to Sort List would have been more appropriate.

If you look carefully at all the corners, top and bottom, you will see how the vertical edges don’t quite meet, which is really fortunate, because the extended curves didn’t cross each other.


1 Like

Hi Joseph,

Thank you so much for your solution.

In my first attempt I noticed that there’s a little gap between two surfaces. I was trying to make the list of points that used for generate the surface to cover all the area but it turned out that the gap still exist. So is there any way to create a pure sharp corner between those two surfaces, or I must fillet the corner and make one surface continuous from bottom to the top?

Thanks again for your solution, it seems much easier in your ways, much appreciated.

I won’t say it’s impossible but in general, Rhino can fail with shapes that taper to nothing. There can be zero volume or surface area at those points. I wrote this demo to show how it might fail but it works!

pointy_srf_2021Oct19a.gh (11.8 KB)

So I added a second set of control points, thinking it might create straight lines at the points, but it still works, so I guess there is hope. :thinking:

pointy_srf_2021Oct19b.gh (17.2 KB)

Finally, on the subject of Member Index vs. Sort List, I wrote another demo to illustrate how Sort List works using the other input(s) that get sorted in the same sequence as the ‘K’ input.

sort_by_Z_2021Oct19a.gh (24.1 KB)

The cyan group is a snippet of your code using Member Index. The white group shows how to use the extra input(s) of Sort List to get the same result. The yellow group culls zero length (invalid) lines before moving them 200 units in the Y direction.

Instead of explaining why it might fail, I should have looked more deeply into your code, which I have done now. Simplified a little further, eliminated Extend Curve, changed Graph Mapper type to ‘Bezier’ (which has handles to shape the ends better), and it works fine, No tiny bevel at the corners.

boxx_2021Oct19a.gh (25.6 KB)

I removed some unnecessary Domain and Bounds components because the defaults (0 To 1) work fine.

Please don’t use Bifocals, it’s intrusive and annoying. ‘Sunglasses’ is far better:

1 Like

Hi Joseph,

Thank you so much for answering my question and giving optimizations on my code. It really helped me to understand how it works which means a lot to me!


You’re welcome. My last post (boxx_2021Oct19a.gh) might be better to mark as the solution?

1 Like