6
$\begingroup$

I'm trying to vet the correctness of my mesh object, and I'm trying to find a method that will detect holes in my mesh. I define a hole as either of the following (these definitions are almost equivalent):

  1. An area between faces that should be divided by another (missing) face.
  2. A face who's front and back are on the same side of the mesh, i.e. it is impossible to tell which side of the face is on the inside of the mesh
  3. A hole is indicated by a face that has at least one edge that is not shared by another face.

How can I automatically identify such holes/affected edges?

The following image demonstrates what I mean by this. The selected vertex has accidentally been ripped, and it is now loosely dangling in 3D space:
vertex

A similar image that easily illustrates definition 3 is this:
hole edges

I found this answer, but this only proposes using a "magic fix everything" tool, while I'm looking for a way to find the problems, and correct them myself.

$\endgroup$
5
$\begingroup$

You can quite easily select all edges meeting your third condition with the Select Similar function.

To do this, first go into Edge Select mode, with Ctrl+Tab > E. Then select an edge with only one face and hit Space and type Select Similar and choose the operator, then select Amount of Faces Around an Edge.

enter image description here

$\endgroup$
9
$\begingroup$
  1. Use Select > Select All by Trait > Non-Manifold option in 3dView header (or Ctrl+Alt+Shift+M) and in options of operator located in Last Operator panel (they appear there after executing it) deselect everything but Boundaries.

    selecting non-manifold operator


  1. Select all and choose Select > Select Boundary Loop.

    selecting boundaries

    This will select boundary loops around selected edges.


  1. Use shipped with Blender MeshLint addon (by default not activated). It allows choosing which categories of wrong topology to select, including non-manifold (however I think it will select wire, multiple faces etc. as well but still for completeness).

    non-manifold selecting with MeshLint

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.