Create curve from space enclosed by surface?


I’m working on a parametric roof like in the pictures below. The problem here is that the created curves only make half of the surfaces than intended. You can see there is space between the surfaces that also need to be made a surface, does anyone know how to fix this or knows a way to easily add curves from the enclosed spaces?

This is the grasshopper file used. It works on just 1 straight curve in Y direction. (63.5 KB)

Kind regards,



It appears to me that none of the curve params in this file have been internalized?

And these plugins are needed:

P.S. Have you considered using the curves to split a rectangular surface?

Hi, thanks for the reply.
Why would it be needed to internalize all the params? I do have the plugins, i forgot to mention these are needed.

I haven’t thought about that, but how would I do that?

Because the GH code is useless without the geometry. Apparently your code refers to curves in a Rhino file, which you didn’t post here. So either post the Rhino file or internalize the curves. preferably after the plugin code.

From here, suggestion #3:

Surface Split

Thanks for the quick reply. Internalizing doesn’t do much for me but i’ll try to figure out what I can do with it. As I said in first post; the only curve it works on is a horizontal line in Y direction. Because the model works that easily I didn’t add any Rhino file, also my own file is too big to upload.
I hope you can find the time to excecute the grasshopper code with a selfmade Y-line. Maybe you’d see the problem I’m seeing.

Kind regards,


Hi Luca -

That means you didn’t read Help Us Help You. Why not?

Internalizing geometry is not for you! It’s for the benefit of anyone on the forum who tries to help you, only to find that your GH code doesn’t work at all without your Rhino file (and plugins). If you can’t be bothered to present a working file, don’t expect help from anyone.

No, I can’t be bothered to figure out how to make your code work in order to help you with your question. Make it easy for me (us) or forget about it.

Like Terms Of Service, that page should be required reading before anyone can create a thread.

All right, completely missed that ‘Help us help you’ page, and yeah maybe that should be required reading before creating a thread.

Anyways, internalizing the data won’t help because i don’t see exactly where the problem is. Keeping it like this would make it more clear for others to see what I’m trying to do. In the screenshot I’ve shown where I think the problem is, I made another file that goes up to that point, attached below.

Only PTComponentLibrary is needed as plugin - PanelingTools for Rhino and Grasshopper | Food4Rhino

Apologies for the firstly incomplete thread. I hope this is helps to help. (11.2 KB)
y-line.3dm (49.2 KB)

See white group. I didn’t bother to sort the surface fragments after SrfSplit (green group), in fact I deliberately mixed up their colors with ColorJ. ‘Curve’ is internalized, no need for Rhino file. (29.8 KB)

I’m afraid you missed the point of the video I posted, which is not to expect people to install your plugins, no matter how reasonable that sounds to you.

P.S. In general, the sequence of splitting curves cannot be relied upon to affect the sequence of surface fragments from SrfSplit. In this case, however, sorting the joined curves and splitting first with one set and then splitting the surface fragments with the other set yields somewhat(?) predictable results. (31.6 KB)


For best results, sorting the surface fragments always works better than sorting the splitting curves: (31.8 KB)

Flatten the Sort ‘A’ output in the green group to get this:

P.S. Games can be played with the sequence of surface fragments: