A way to identify merged vertices by distance before committing?

“M” hotkey and the “by distance” option is a way I commonly use to get rid of doubles or cleanup topology.
Often I would like to check which veritces being merged. Is there a way to identify merged vertices by distance before committing?

I just wrote a quick script that will deselect all vertices further than some distance.

Just paste it in the text editor and run in edit mode, that way you can be sure all vertices you can inspect the selection to see which vertices you are merging before running merge by distance.

# =================================================
#    
#    Deselect by distance script V 0.00001.2-3b-cde
#
#    must be used in edit mode
#
# =================================================

DISTANCE = 0.0001 # <=== change this to tweak the affected distance

import bpy
import bmesh
from mathutils.kdtree import KDTree

ob = bpy.context.active_object
bm = bmesh.from_edit_mesh(ob.data)
bm.verts.ensure_lookup_table()

selected_verts = [v for v in bm.verts if v.select]

kd = KDTree(len(selected_verts))

for v in selected_verts:
    kd.insert(v.co, v.index)
kd.balance()

for v in selected_verts:
    for co, indx, dist in kd.find_n(v.co, 2):
        if indx == v.index:
            continue
        if dist > DISTANCE:
            v.select = False

bmesh.update_edit_mesh(ob.data)
3 Likes

Thank you!