Wish: delaunay option for rhino mesher

i would appreciate an option to produce delaunay meshes from rhino (poly)surfaces in the rhino mesher.

  • delaunay meshes work well for physics simulation (finite element analysis, …)
  • delaunay meshes can be subdivided using loop-subdivision

i attached a rhino file with a polysurface and a delaunay sample mesh. i igs-sent the solid to 3dsmax to generate the delaunay mesh to give you an idea of what i am talking about (as max-nurbs cant join, there are gaps at the edges)

any thoughts on this feature are welcome

nurb_delaunay.3dm (714.7 KB)

Hi Roberto :smile:

i may be able to create you such meshes automated with a plugin i´ve developed but it is not ready for prime time yet. Attached is an example.

nurb_delaunay_cg.3dm (472.2 KB)


hi clement,
nice to hear from you again and thanks for the professional input (as usual).
your mesh looks perfect!

would you please keep me up to date on your plugin development?
what is your purpose for the plugin development?

as you possibly remember, i work with inflatables and could use delaunay meshes for pneumatic sims from time to time. but at the time there is no specific occasion.

to the rhino-team: it would be great to have these meshes as a standard functionality in the rhino mesher.

cheers roberto

quick pneumatic sim test with clements delaunay:nurb_delaunay_cg_rg.3dm (1.1 MB)

Hi Roberto,

Check out WeaverBird in Grasshopper. I bet you’ll find a lot of useful mesh tools there for this work. http://www.grasshopper3d.com/group/weaverbird

hello brian,
i know weaverbird and check its features for the discribed and similar tasks from time to time - so far without success. could you (or someone else) elaborate a little more on how this could work?

i am sure someone could solve this with gh/wb or rhino script (as clement showed us). but not every rhino user has scripting skills. as rhino is very popular for interchanging abilities, i consider it a good idea to implement delaunay meshes as a standard feature.

  • quad-meshes and catmul-clark subDs are very popular these days. but quad-meshing is simply not possible in every case, thats where delaunay-tris and loop SDS could help.
  • same goes for physics simulation as discribed above.
  • if you like mesh modeling in meshmixer or sculptris, delaunays are the best way to go there from rhino

greetings roberto

Ok, i´ll keep you posted about it, the purpose of it was to create deformed micropolygons for laser engraving.

Of course, i hope your plugin still works ok in Rhino 5 :smile: which application did you use to create pneumatic simulations ? (btw. i don`t get the video shown on your page, must be my security settings or a missing codec)

I second your wish to create such meshes with Rhino`s built in tools, in both ways, seam preserving as my example and not seam preserving. The latter means that the delaunay mesh would allow to cross seams and edges of a polysurface.


hi clement,

perfectly, thanks …

yes i know. firefox does not display the video (it did until approx. a year ago), some other browsers do.
i am not really a pro here, so i became tired of fixing these things. same goes for the 3d-samples on my page, since java is blocked and oracle refuses to fix the security matters :frowning:

BTW: you can watch the video by rightclicking and “video anzeigen” (play video)

sounds very reasonable.
looking forward to the the progress in your delaunay-plug …

greetings to germany

Hello Clement,

Your request is a good one and I’ve added your request to the the list we work off of. For future reference, the item is RH-25224. I am certain this won’t appear in the initial release of Rhino 6.


– Dale Lear


Agreed - would be nice to have! But no, at the moment Weaverbird does not do that, and there is no plan to do that right away for now.



good news !!!
another wish: would be great if the delaunay meshes could store the UV information of the surface they are based on, at least when using[quote=“clement, post:7, topic:6711”]
seam preserving

1 Like

I’ve posted a Grasshopper script for remeshing here:

It uses libraries from Kangaroo and Plankton:

I haven’t added anything for preserving sharp feature edges yet, but it’s on the to-do list


Thank you Dale, it will be very useful since my attempts are pretty slow atm. :frowning: [quote=“DanielPiker, post:12, topic:6711”]
I’ve posted a Grasshopper script for remeshing here
Thank you Daniel, this is great to optimize scanned data !


I have once seen Daniel’s Vimeo channel and I think it is among the best Vimeos I have ever watched :).

Yes, I also think that there would be great to implement such an “amorphous” meshing is Rhino. I understand that it should be much slower that usual UV meshing, but nevertheless I think that it is also a much better option when someone has a 16-core CPU with 64 GB memory instead of PC XT or P.III :smiley:. \Not to offend PC XT owners, just because I am a 16-bit fan myself.\

Good wish!
In your sample the Delaunay mesh on the planar faces seems a bit dense, so I would imagine a mesher using either Ruppert’s refinement or P. L. Chew’s second algorithm would be optimal.


in some cases i do indeed consider these options interesting. in others - the most important for my needs, it is desired to have approximately equal edge lengths / mesh density ( tensile structures, pneumatic structures, physic simulation in general, …)

If a manual step is acceptable, then Instant Meshes has a triangulation option for isotropic meshes. Unfortunately it doesn’t accept defining the edge length, only the Face or Vertex count, but after that it does a good job.

Another alternative would be OpenFlipper, which can take the edge length and perform isotropic remeshing.


But yes, I would also need a “native” Rhino isotropic remesher. It’s essential for analyzis and simulation.

// Rolf