Making a watertight mesh of a terrain

I have a mesh surface of a terrain, which I have added a thickness to it in order to make it ready for 3d printing. It is an open mesh and I need it to be a closed one. I have tried the mesh repair tools but was not successful. Is there any advice? (10.9 MB)

I think the problem is with the original mesh in that its edges are not the terrain, but a more or less straight line going through the terrain. That means that the geometry on the sides does not properly join to the sides.

It’s just a guess and I think one solution would be trim a bit off the sides of the mesh first, so you don’t have that edge with the overlapping vertexes.

1 Like

I offset their bounding box inwards and used that to trim the mesh and fed that new trimmed mesh back into the script but there’s still issues…the initial mesh seems very messy.


The initial mesh:

Thanks! Is there a way I can clean the initial mesh?

For some reason I can’t see your mesh (maybe is a NVidia Quadro driver issue). So here’s some blind notes (after finding disjoined pieces etc etc):

  1. Instead of thicken (may be challenging if the Mesh has issues and/or unsuitable Topology). I would suggest the approach as shown (i.e. getting the outline(s) as Polyline(s) [ more than one if inner holes are present], project in some base plane (use a Box to find the lowest pt in Z) and then “bridge” the sides via quad meshes [ on a per Polyline segment pair basis]). If you want a closed Mesh create a BrepFace out of the projected Polylines and then convent that to Mesh … then Append side(s) and bottom (with that order) to the original:


  1. There’s various ways to attempt to fix (up to a point) a Mesh with issues … but none is achievable without code.
  2. The Free MeshLab has various tools for that matter … but is rather complex and has lot’s of bugs.
  3. Have in mind that the Mesh class is using floats and not doubles meaning that for big Meshes too far from global origin … tolerance issues/failures may occur.