I've been working on a generated mesh where the topology is mostly good, but I'm encountering issues with edge loops being interrupted by misplaced lozenges. This recurring pattern is shown highlighted in the image on the left.

enter image description here

I managed to select and delete the problematic areas as they are easily detectable by vertices with fewer than four neighboring vertices. However, I need to exclude the mesh boundary edges to avoid deleting them also. While this method works to some extent, I think it is weak and prone to unintended effects. Maybe you can suggest a better way.

My main challenge now is filling the holes left behind after deleting these "offending" parts. Ideally, I want to achieve the result shown in the center example of the image. Specifically, I would like to:

  • Create a vertex at the center (in 3D space) of each hole.
  • Fill the hole with four faces, connecting the new central vertex to the surrounding boundary vertices.

I've tried several approaches but I'm stuck. Has anyone encountered a similar issue or can offer a solution for cleaning up the interrupted edge loops and filling the holes as described?


1 Answer 1


You could use Merge by Distance node instead of deleting them:

enter image description here

This works here at least. If the faces are more or less uniform in size then there should be a fair amount of difference between the distance of the paired vertices and the distance between their merged version and another merged version

  • 1
    $\begingroup$ You could also animate it if you wanted... i.imgur.com/mqs9DSD.gif No idea why you would want it but you could $\endgroup$ Commented Jul 1 at 18:18
  • $\begingroup$ Thank you, Cornivius, for taking the time to help me. Your solution works perfectly for the example I posted, but it depends on a specific value (the distance at which to perform the merge) that could cause issues in meshes where the features can have much more variable and unpredictable sizes. On the other hand, Markus von Broady's solution seems to work in all the cases I've tested without having to set this value. The animation itself was not necessary for me, but I believe his different approach represents the correct solution in my case. It would be fair to accept your answer, but... $\endgroup$
    – crucchi
    Commented Jul 2 at 7:57

You must log in to answer this question.

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