DelaunayMesh component fails from python in Version 6 SR34 / Version 7 SR6

Hi,

This is a minimal example showing how the DelaunayMesh component is no longer working correctly from Python (_EditPythonScript context) in current versions of Rhino 6 (Version 6 SR34) and 7. I have tested this on more than one installation, have restarted, etc.

Result:
“Warning: Delaunay Mesh: solver component. warning: Triangulation resulted in an empty mesh”

This used to work correctly in previous versions for Rhino 6. (I have a project that was worked on for months that uses this. Looks like the last mod date was May 28, 2020.)

Please advise; we need to spin up this project again. Thank you.


import  ghpythonlib.components as ghc
from    Rhino.Geometry import Point3d

def delaunayMeshTest():
    pts = [ Point3d(0,1,2), Point3d(4,5,6), Point3d(7,8,9) ]
    print( "len(pts): " + str( len(pts) ) )
    mesh = ghc.DelaunayMesh( pts )
    print( "mesh: " + str( mesh ) )

if __name__ == "__main__":
    delaunayMeshTest()

Hi,

These are your points:

You simply can’t construct a Delaunay mesh from only three, even co-linear, three-dimensional points! They wouldn’t even end up forming a valid, single, triangular face.

If you try this in Grasshopper, you get the exact same warning.

Thanks diff-arch, Yes, my example script was fatally flawed. I simply picked consecutive numbers for my points.

In my actual script, it is failing to create a mesh as well, with the same error. It must be for some other reason.

Good to know it is working in general, though.

Are your points by chance not co-planar? Delaunay triangulation is meant to work on points that all lie on the same plane. It can work for non-co-planar points, but that’s rather an exception.

Yes, they are not entirely coplanar. It did work previously, but my inputs were very slightly different so I must have hit the edge. Thank you for the hint. I will project them to a plane, mesh, and then pull the topology.