Nodes/Avatar Graph/Mesh Dissolve Mode
ComfyUI Node

Mesh Dissolve Mode

The generic dissolve behind Blender's own Ctrl+X, wherever your selection mode is

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Mesh Dissolve Mode
  • BPY_OBJ
  • BPY_OBJ
use_vertsfalse
use_face_splitfalse
use_boundary_tearfalse

If you've used Blender directly and hit Ctrl+X on a selection without thinking too hard about whether you were in vertex, edge, or face select mode, this is the operator that ran. Mesh_DissolveMode wraps bpy.ops.mesh.dissolve_mode, which looks at the mesh's current selection mode and delegates to the appropriate dissolve behavior automatically - vertices if you're in vertex mode, edges if you're in edge mode, faces if you're in face mode - rather than requiring you to pick the specific dissolve operator for the situation.

How it works

Compare this to Mesh_DissolveEdges or Mesh_DissolveVerts, which each do one specific thing regardless of selection mode. This node is the "figure it out from context" version - the same shortcut Blender itself uses for its generic dissolve hotkey. In a node graph, that context comes from whatever selection mode was set on the BPY_OBJ by an earlier step, not from anything you configure here directly. It's a convenience wrapper more than a distinct capability: functionally, it produces the same result as calling the matching specific dissolve node, provided the mesh's selection mode lines up with what you actually selected.

The inputs and outputs that matter

  • BPY_OBJ (optional) - the mesh with a selection already made, in whichever mode.
  • use_verts (default false) - also dissolve leftover vertices that no longer serve a structural purpose after the main dissolve.
  • use_face_split (default false) - split resulting faces where needed for cleaner topology instead of always merging into the largest possible face.
  • use_boundary_tear (default false) - allow the dissolve to tear open the mesh's outer boundary rather than keeping it sealed, a more destructive option left off by default.

Output is a single BPY_OBJ, dissolved according to whatever selection mode was active.

How to install it

Search Avatar Graph in ComfyUI Manager, or clone manually:

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, conda environment (conda create --name comfyui python=3.10) on Mac/Linux. opencv-python, mediapipe, and segment-anything also install.

Common issues & troubleshooting

Result doesn't match what you expected from your selection. Since this delegates based on the mesh's selection mode, not just what happens to be selected, a mismatch between the two (say, vertices selected while the mesh is still in face-select mode from an earlier step) produces a different result than you'd get from the specific node matching your actual selection. If the behavior is unpredictable, switch to the explicit node - Mesh_DissolveVerts, Mesh_DissolveEdges, or a face-mode equivalent - for full control instead of relying on this one to infer correctly.

Nothing happens at all. Same root cause as the pack's other selection-driven dissolve nodes: no meaningful selection upstream means nothing to dissolve here, regardless of mode.

A hole opened up unexpectedly. That's use_boundary_tear - it's off by default for a reason, so if it's enabled somewhere in your graph, the operator is allowed to tear the mesh's outer edge rather than only working on interior geometry.

Categoryblender

Inputs (4)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
use_vertsoptBOOLEANfalse
use_face_splitoptBOOLEANfalse
use_boundary_tearoptBOOLEANfalse

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ