Create 3d geometry from flat surfaces - alternative to Delaunay meshing (1.2 MB)
Hi, I have a bunch of flat surfaces all oriented at different angles, and I want to create a continues surface out of these panels. From this geometry I want to create a color heightmap. (which will to be exported as image in the future) .

What I notice is when using Delaunay meshing, some artefacts become visible.

Is there an alternative way create this 3d geometry without these artefacts? I tried smoothing the mesh, but that made it worst.

I attach .gh file. Hope someone can have a look and point me in the right direction (1.2 MB)

Hi @crz_06,

Could you expand on what sort of surface are you aiming for (e.g. smooth, undulating, sawtooth, etc)?

Do you want the surface to accurately mimic each original element across the latter’s entire surface or is it sufficient to be accurate for some lesser part? If the latter how much must be accurate (e.g. 80%, 50%, 10%, just a point)?


Hi Jeremy,

Thanks for the reply.

what is most important is that the original flat surface elements remain as is (albeit near the surface edges the transition may be smooth instead of a sharp angle. I will use these flat elements as reflective elements after fabrication.

Ideally I would have the 3d geometry as a nurbs surface(s) although a mesh would be acceptable.

Obviously I tried the ‘points from surface’ component, but that is way too smooth. So in a sense the geometry typology of the delaunay mesh is pretty much what I am looking for.

What I tried after posting .gh file is using the output mesh and make it a quad mesh and sub dividing it using the ‘refine’ component by 4 iterations. Although that sort of works, the computation time exceeded over 2 minutes to compute this.

In an earlier attempt I used a series of Ruled Surfaces operations between the edges of these original flat elements, but that turned out to be too cumbersome.

Hope this helps.

PS: using a component form a non-native app is fine by the way

here a first try, there are still holes but I think the logic could be used to make network surfaces, or extract curves in UV …

The logic is just to blend the edges of mirror. (1.2 MB)

And here a version that generate a surface (1.2 MB)

Hi Laurent,
Thank you so much … and quite surprised it’s pretty fast. I can definitely extent on this. Nice touch with the ‘blend curve’ to define smoothing the edges!

You could use the second script to make a whole surface using Network Surface that strangely didn’t work for me yesterday!

Then blend surface in Rhinoceros

Then Network surface for the corners

With some symmetries.

Or you can fill the holes of first script using Rhinoceros

Hi Laurent,

I figured it out using your first script as the basis. As you can see in attached file I use 2 x Ruled Surfaces + 1 x Edge Surface instead of Loft. So close as you suggest in your last reply. This gives me actually want I hoped to achieve and you definitely set me up the right direction.
Hope it will help other in the future.
PS: nice looking shiny material. Care to share how you made this?
PPS: I also tried Network Surface but failed as well. Maybe I will give it another try later today, as I think a single surface instead of multiple might to useful. I am not aware of a way to ‘join’ multiples surface into one, and still have it as a single surface, instead it will most likely become en Open Brep (1.2 MB)
I’ll see if I can clean it up a bit, but for now it does the job

Here a file with only one surface without the border/frame, there is also the material.
Panels_to_Geometry_LD_v2 (1).gh (1.2 MB)