Nodes/BrainDead Nodes/BD Blender Cleanup
ComfyUI Node

BD Blender Cleanup

One-click mesh cleanup when your generated geometry is a mess

By BizaNator·Created 8 months ago·Updated 3 days ago· 15
BD Blender Cleanup
  • mesh
  • mesh
  • status
remove_loosetrue
remove_islandstrue
island_threshold10
merge_verticestrue
merge_distance0.0001
fill_holestrue
fill_holes_max100
fix_normalstrue
fix_manifoldtrue
triangulate_ngonsfalse
dissolve_embeddedfalse
use_smart_cleanuptrue
timeout300

Generated meshes come out dirty. It's not a quality judgment, it's just what mesh extraction produces: loose vertices, disconnected islands, non-manifold edges, duplicate verts, holes. BD Blender Cleanup is the pack's "just make it presentable" button - a configurable cleanup pass that runs Blender's geometry tools headlessly and hands you back a TRIMESH that doesn't embarrass you in front of a slicer or a game engine.

It's the natural first step before anything else in the 🧠BrainDead/Blender category. Decimation, remeshing, and export all behave better on a clean mesh, and this node is cheap to run, so put it early in the chain.

What it actually cleans

All of these are toggles, and they're all on by default except the last two:

  • remove_loose - loose vertices/edges/faces.
  • remove_islands - small disconnected islands, controlled by island_threshold (default 10: keep an island only if it has at least 10 faces). This is the "floaty debris" killer.
  • merge_vertices - remove doubles, with merge_distance (default 0.0001) in mesh units. That's conservative; nudge up if you have seams that should weld.
  • fill_holes - close open boundaries, fill_holes_max (default 100) caps the polygon sides of a hole it'll attempt.
  • fix_normals - recalculate normals outward.
  • fix_manifold - repair non-manifold geometry.
  • triangulate_ngons (off) - split faces with more than 4 verts.
  • dissolve_embedded (off) - dissolve small faces embedded in larger regions.
  • use_smart_cleanup (on) - routes through the addon's combined smart cleanup, which the pack recommends.

Optional timeout (default 300s) protects you from a pathological mesh hanging Blender forever. Outputs: cleaned mesh + status.

Install and the Blender requirement

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/BizaNator/ComfyUI-BrainDead
cd ComfyUI-BrainDead
pip install -r requirements.txt

(Or ComfyUI Manager → "BrainDead", restart.) This pack runs on the ComfyUI V3 node API, so keep ComfyUI updated.

The critical thing to know about every BD Blender node: Blender must actually exist on your system. The README says Blender 5.0+ is "bundled in lib/" - the repo only ships Python scripts and assets, not the binary. The code looks for a bundled blender-5.0.1-linux-x64 build, then sibling packs (GeometryPack, UniRig), then /usr/bin/blender. None found → "Blender not found." So install Blender system-wide (5.0+ preferred), and make sure it's on PATH or at /usr/bin/blender.

A practical note: fill_holes is great, but on generated meshes it can close holes you actually want (like an open mouth or a character's eye sockets). If cleanup closes something it shouldn't, turn off fill_holes and handle those boundaries deliberately with a targeted fill later. And if your mesh is mostly fine and just has a few holes, BD Blender Repair is the lighter-weight sibling - this node is the full bath.

Category🧠BrainDead/Blender

Inputs (14)

NameTypeDefaultDescription
meshTRIMESH
remove_looseBOOLEANtrueRemove loose vertices, edges, faces
remove_islandsBOOLEANtrueRemove small disconnected mesh islands
island_thresholdINT101–1000Minimum faces to keep an island
merge_verticesBOOLEANtrueMerge close vertices (remove doubles)
merge_distanceFLOAT0.00010–0.1Distance threshold for merging vertices
fill_holesBOOLEANtrueFill holes (open boundaries)
fill_holes_maxINT1003–1000Maximum sides for hole filling
fix_normalsBOOLEANtrueFix face normals to point outward
fix_manifoldBOOLEANtrueFix non-manifold geometry
triangulate_ngonsBOOLEANfalseTriangulate faces with >4 vertices
dissolve_embeddedBOOLEANfalseDissolve small faces embedded in larger regions
use_smart_cleanupBOOLEANtrueUse addon's smart cleanup (recommended)
timeoutoptINT30060–3600Maximum processing time

Outputs (2)

NameTypeDescription
meshTRIMESH
statusSTRING