How to check if a mesh is watertight?

   3863   3   0
User Avatar
Member
434 posts
Joined: Aug. 2019
Offline
As title. How to check if a mesh is watertight (no holes, no self-intersection)? There is PolyDoctor, but I can't figure out how to use it to check the "watertight-ness".
User Avatar
Member
166 posts
Joined: March 2014
Offline
You can turn your mesh into a VDB (VDB from polygons). If it has any holes you'll normally see it right away because the VDB you get will look strange. You can also follow up with a Convert VDB to convert it back into polygons. In wireframe mode you'll then see whether you have one solid piece of geometry.

This won't help you with self-intersections because the VDB conversion handles these quite well. After you convert it back to polygons you're guaranteed to not have self-intersections, but of course if you need to work with the original polygon mesh then that won't do.
User Avatar
Member
29 posts
Joined: May 2019
Offline
You can use a PolyFill SOP to check for holes in the geo. If you enable the patch group creation in it and it returns no value the mesh is watertight. It will also give a warning that no patches could be created.
For intersection there is the IntersectionAnalysis SOP for example. Easy to find intersecting points with that.
User Avatar
Staff
31 posts
Joined: June 2018
Offline
You can use a divide sop with keep shared edges turned on to check if a mesh is water tight or not. If the point count is zero it's water tight. If the point count is greater than zero then it isn't.
  • Quick Links