Split the surface with multiple curve?

Hi, there :

This really confuse me, i want to split a surface with multiple curve , but however the results is not what i want.

See the image attached: i have a surface, and 5 curves, i want to split this one surface with these 5 curves, so the result should give me 6 surface—this is what i want.

However, when i use the Geometry split function , the result is : i got 5 groups , 2 surface in each group.

Just wondering is there any way that i can have 6 surfaces?

Thanks a lot.QQ截图20150213144839

Right now, what you’re doing is split the surface by each curve simultaneously, that’s why you get two surfaces for each curve (left and right of the respective curve).

You would have to split the surface recursively, i.e. split by the first curve, then take the larger remaining surface, split that by the second curve and so on.

Hi,<span class=“author-link”><span style=“color: #428bca; font-size: small;”>Andreas Dieckmann</span></span>:


Thank for replying, i see your point, do that recursively, i t should work for splting a surface just with several lines, but when you want to split the surface with 100 curves, it would be tremendous work to achieve that goal.

I find the same problem with grasshopper.

Just wondering is there any weasy way to achieve?




As long as you have a (spatially) ordered list of curves that do not intersect each other and that all intersect the surface it’s fairly easy.

Here’s how you could process the surface recursively with a Python node. I’ll add this to the next version of Clockwork - unless someone comes up with a more elegant solution, that is. :wink:


1 Like

This might be doable with OOTB nodes. There are certain exceptions, where you can combine your cutting tool into a single entity (solid, PolySurface) and “trick” the “Geometry.Split” node:


Thank you guys , really helpful, but still hoping that we can have this function in the next version of Clockwork.

7:PM in Shanghai , time to get off . hope you guys have a wonderfull weekend.


Dimitar, that’s a very clever solution. You could use the average surface normal of the target surface as the extrusion direction and then you have a pretty robust workflow.

Hi Andreas,

Did you ever get to adding the “Split Surface with Multiple Curves” node into the Clockwork package? I could really use it right about now!

Thank you

No, I liked @Dimitar_Venkov 's solution better.

I am looking for simple node. Split the surface with curves.

input list surface output list surface
input list curves

here was discussion few years ago but images are not good quality and can not read code
so could not find still working solution. Maybe now there is good one.
Appreciate your help,

ps. basically I am taking two set of curves from spaces at two levels, bring them together and trying to split, so when is exposed floor in edge of building floors will be already splited

@Michal_Dengusiak The images in some of the posts above should now be readable.
Also, here is the link to the old topic

If this doesn’t address your issue, I’d suggest you start a new topic. The responses will be better.