Making Surface from curve network

Hello everbody,

do you have any idea, how can I make a surface in G2 condition with this network of curves? I think, surface network is the right tool for this geometry. But, it didn’t work, when I tried to use it. Do you have any idea to sort curves correctly and make a surface from them? (19.3 KB)

Ehm… This shape can’t be done as single surface .
If you won’t use a subd the only way is to divide the shape in quadrangular portion along the vertical curves.

how can I create a subd from these curves?

I tried to create a sample surface network with G2 continuity and it doesn’t seem to me that the surfaces are connected with G2. (15.3 KB)

It doesn’t matter, if the structure is a subd or surfaces. At the end I want to export a brep with wall thickness.

Look for @theoutside YouTube official tutorial.

all kidding aside, you need to go thru your network and make sure it ends up all 4 sided regions to avoid ngons.

the problem with y branching stuff is it almost always requires a star point to break up an ngon.
Sadly my lack of gh skill is well documented, I’d have to tap in @pascal or @BrianJ to take a look.

does it have to be nurbs, or can it be subd, then convert to nurbs?

in subd, branching stuff is super easy.

Hello- is there some reason this needs to be done in GH? It looks like your curves are existing geometry and not generated by GH. At any rate, SubD seems to me to be a good candidate here, as Kyle says, branching is not hard from SubD, but I have a feeling getting this shape directly from curves may be a challenge… @theoutside ?


Classic @pascal stoic understatement.

when he says this will “be a challenge” the rest of us will likely be like this.

On the other hand though, starting with the basic branching layout it should be possible to maneuver the SubD to conform to the curves after the fact - in effect using the curves as refernce and not as direct input. I think that’s how I’d approach it.


agreed… I like that approach.

Hi Pascal,

thank you for your reply. Actually, all of these curves were made in Gh. I didn’t want to give whole gh script in order to simplify my question.

i can use subd and then change to brep. But, i need a sample or some tipp, how i can do that. because i didn’t work with subd before

curve network —> surface —> mesh —> subd. Is it the right workflow? or do you have any other idea, maybe any plugin suggestion apart from multipipe?

dear @Mertcan_Kaya
is this a geometry you only have to solve ones ?
(a single modelling will do it?)

whats the adaptive / parametric part of your geometry?
will the numbers always be 3 legs → 1 hip
is it always 3x / polar symmetry ?

there might be solutions with better typologies - less exposed star-points…
to represent a circle with a hexagon mit not be precise enough…

but hopefully this points in a good direction.

3legs_1hip.3dm (4.0 MB)

if you manage to create different curves, representing the later sub-D Typology, then the workflow is quite simple:

_ToSubD (controlpoint as option)

in my file, from left to right:
fast attempt in subD starting with

the lines (that your grasshopper definition should generate ?)



hope this helps - kind regards -tom


…i was not so happy about the starpoints / typology in my first post.

and also multipipe does not do the greatest job regarding typology.
as the multipipe “pipes” consist of 4 faces - there is a hard job to treat those 3 neighbours each branch / leg has…

starting with 4 equale “pipes”, again using 6 Faces arround.
this seams more like a solution for the SubD-school-book…

3legs_1hip_02_tp.3dm (337.9 KB)


very poetic ;-D
but maybe also sounds like a phrase from a dictation test in school


and … another approach if you do not care about the number of “around” Face.
starting with 6 around faces for the hip.
continue with 4 around faces for each leg.

as one rule of thumb says, to use 8 around-faces to approximate a circle,
you may double 12 - 8 - 8 - 8 these numerbs (_subDivide)

3legs_1hip_03_tp.3dm (192.2 KB)


Hello Tom,

thank you for your reply and effort to inform me :slight_smile:
I wasn’t in office last days, sorry for late answer. I’m trying to automate whole system. Therefore, I will create the structures with grasshopper, if possible. I think, I understood the idea of creating subd. I will inform you, if I make some progress.

Hello Tom,

I couldn’t get the subd’s in grasshopper. Actually, I prepared the data tree in gh good. But, I couldn’t get the subd from curve network with grasshopper tools. It should be the same tools, what you used in Rhino. I created a new topic.

basically create a mesh with the tools in grasshopper or via c# / phyton.
this will become the later control-polygon for the subd.
then converting vom mesh to subd is easy. (see screeenshot above)

if you need creases and corners, there is also a
SubD from Mesh component

Actually, I tried to do it, as you suggested here. First to make a mesh than transform it to subd. But, I couldn’t create even a mesh with the curve network.