How to delete faces with only one edge connected to mesh? I think this question must have been asked a thousand times before, but after several attempts to find a solution i am sorry to ask it again:
I would like to &quot;delete faces with only one edge connected to another face&quot;.
Remaining edges and vertices not connected to another face should also be removed.
I can probably rephrase the task to &quot;delete vertices with only two edges connected&quot;. I guess that is more or less the same.
Example:

I assume there is a simple sequence of commands to achieve that, but I am simply too blind to find it.
I am aware that after a first iteration in the example above, deleting the face on the right side will result in another face that has only one connected edge. This can be covered in a next iteration, no worries.
Bmesh script.

There may be a way via one of the selection items in the UI, however will propose a script solution
Selecting
Run over all faces in the edit mesh, and if all face edges, or all but one face edge are boundary select the face.
import bpy
import bmesh
from bpy import context

ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)
for f in bm.faces:
    f.select_set(len([e for e in f.edges if e.is_boundary]) &gt;= len(f.edges) - 1)
bmesh.update_edit_mesh(me)

Deleting
Similarly, while there are faces, find the &quot;tabs&quot;, and if any remove their boundary edges, repeat until can find no more, or all faces removed.
import bpy
import bmesh
from bpy import context

ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)
while bm.faces:
    faces = [f for f in bm.faces if (len([e for e in f.edges if e.is_boundary]) &gt;= len(f.edges) - 1)]
    if not faces:
        break

    edges = list(set(e for f in faces for e in f.edges if e.is_boundary))
    bmesh.ops.delete(
            bm,
            geom=edges,
            context='EDGES',
            )
bmesh.update_edit_mesh(me)