Divide complex surface along edges

Hi everyone !

I’m trying to subdivise this complex surface following edges, I tried but I can’t have any result following this idea. Is there any way to make it ?

Thank you !!

surface subdivision.3dm (3.7 MB)

Did you create two threads?

Update: No you didn’t I got notified twice :smiley:

I edited the category maybe that’s why :sweat_smile:

1 Like

Where does the surface come from?
To subdivide it as you show, you will probably want the ‘skeleton’ of the shape.
If you have this already it makes things easier, though it is also possible to find it using the medial axis.

maybe this help a little

s_sub.gh (8.2 KB)

1 Like

Here’s a way that first finds the medial axis:
medialaxis.gh (113.7 KB)

It uses a couple of extra components:
MeshDual.gha (9.5 KB)
Topologizer.gha (19 KB)


Does the dual component uses mesh face in-circles centers?
As it is not typical dual component.

Also is there another method of skeletonization without geometrically exploding lines and checking if they are inside the brep geometry ? Would it work when using only triangle mesh face adjacency?
For instance connected neighbour face centers.

1 Like

It’s using circumcircle centers, which for a Delaunay mesh are exactly the vertices of the Voronoi diagram. I just put this together quickly, and surely there are other more efficient ways of doing it. For instance you could also take the Voronoi and remove edges which intersect the input curves.

also - what is that component on the bottom 2nd from the left in your definition?
Is it a new NGon one?

Thank you Daniel but i have issues to run this .gh, here what it says i don’t know what is going on.

yap working on some ngon components, currently trying to make a skeletonization from triangle mesh topology following this paper: https://www.researchgate.net/publication/320183238_Patterns_for_Masonry_Vault_Design

For now I really do not get how pruning of skeletons works, as there is no fixed rule for that.


Ah, I forgot that component wasn’t a native one. Replacing it with Surface Closest Point works just as well here:
medialaxis2.gh (110.5 KB)

it works fine thank you !

Pretty sure it is native to Build 0.9.0076:

This might be a different versioning issue though:



Aha the corporate license in the wild!

[quote=“pascal, post:2, topic:20645”]
there is no ‘Corporate’ Rhino from us…