Mesh Dissolve Edges
Removes edges without leaving a hole
- BPY_OBJ
- BPY_OBJ
The edge-mode counterpart to Mesh_DissolveFaces, and worth knowing apart from Mesh_Delete for the same reason: this doesn't punch a hole. Mesh_DissolveEdges wraps Blender's bpy.ops.mesh.dissolve_edges operator - it removes selected edges and merges whatever faces were on either side into one, keeping the surface sealed.
How it works
Select the edges you want gone and run this instead of deleting them outright. Where Mesh_Delete with type=EDGE removes the edges and any faces that used them - leaving an opening - dissolve merges those adjacent faces into a single larger one and closes the gap. It's a topology-reduction move: fewer edges and faces, same outer shape. Like the pack's other selection-driven dissolve nodes, the result depends entirely on what's selected going in; nothing gets touched without an upstream selection step first.
The inputs and outputs that matter
BPY_OBJ(optional) - the mesh with edges already selected.use_verts(defaulttrue) - also dissolve any vertices left over from the merge that no longer serve a structural purpose (typically ones reduced to only two edges). Leaving this on generally produces tidier resulting topology.use_face_split(defaultfalse) - split the resulting merged faces where needed for cleaner geometry in ambiguous cases, rather than always merging into the largest possible face.
Output is a single BPY_OBJ, the mesh with the selected edges gone and the faces around them merged.
How to install it
ComfyUI Manager: search "Avatar Graph" and install. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt
then restart. bpy==3.6.0 needs Python 3.10.x - README's prebuilt Python-3.10 zip on Windows, dedicated conda environment on Mac/Linux (conda create --name comfyui python=3.10). opencv-python, mediapipe, and segment-anything also install.
Common issues & troubleshooting
Nothing happens. This only acts on selected edges - if the upstream selection step didn't run, selected the wrong object, or selected nothing, there's nothing here to merge. Trace selection state back through your graph before assuming the node is broken.
Leftover, low-value vertices sitting where an edge used to be. That's what use_verts is for - it's on by default here (unlike some of this pack's other dissolve nodes), but if you've explicitly disabled it and are seeing clutter, switch it back on.
Wanted an actual hole, got a merged surface instead. That's the whole point of dissolve versus delete - if a hole was actually the goal, use Mesh_Delete with type=EDGE or VERT instead; this node is specifically for reducing edge density while keeping the mesh watertight.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| use_vertsopt | BOOLEAN | true | — |
| use_face_splitopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |