I have a large surface of non-manifold geometry that I would like to repair. I have tried deleting the faces and then using fill. This roughly works but generates new edges and recreates a lot of the original problems.

Is there any way to only generate faces where all the edges are already there and to not create a face if the edge has already been used for two faces?

I am hoping it could recreate most of the surface and I can manually fix what hasn't worked.

This is the problem. From what looks like a fairly good set of triangles, using fill produces the following mesh. Lots of missing triangles. Some strange added edges added on the cliff face and lots of edges sharing multiple faces. I've used merge by distance to try and fix it any vertex troubles but it doesn't work. Decimate recreates the on-manifold geometry. Remesh loses a lot of the original data and creates holes.

Ruined mesh

Back to the original mesh, it looks like some triangles have two faces. Z-fighting

  • 1
    $\begingroup$ Hello and welcome :). Please add some images to your question, for those of us with bad imagination. $\endgroup$ Mar 2, 2020 at 18:30
  • $\begingroup$ Thought it's not an answer to my question, I managed to fix this using MeshLab. Export mesh from Blender > Delete faces in MeshLab so only points remain > Compute Normals for Point Sets > Screened Poission Surface Distribution $\endgroup$ Mar 2, 2020 at 22:10
  • $\begingroup$ So you want a script that searched for edges connected into triangles, but without a face inside (and then create a face there) $\endgroup$ May 27, 2021 at 15:39
  • $\begingroup$ @MarkusvonBroady I think that's what I wanted a year ago, but I've moved on now. $\endgroup$ May 28, 2021 at 18:24

2 Answers 2


You can use the Fill Holes command for this.

  1. In Edit Mode, select your mesh (Select > All)
  2. Go Mesh > Clean Up > Fill Holes
  3. Done

enter image description here


Don't know if it helps, but ALT+double-clicking an edge selects the whole hole:

enter image description here

  • $\begingroup$ This doesnt work in my situation because there are too many holes but thank you. $\endgroup$ Mar 2, 2020 at 19:48
  • $\begingroup$ you can select all the holes from Edge mode -> Select -> Select All by Trait -> Non Manifold $\endgroup$ Mar 2, 2020 at 19:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .