BD Blender Cleanup
One-click mesh cleanup when your generated geometry is a mess
- mesh
- mesh
- status
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.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| mesh | TRIMESH | — | |
| remove_loose | BOOLEAN | true | Remove loose vertices, edges, faces |
| remove_islands | BOOLEAN | true | Remove small disconnected mesh islands |
| island_threshold | INT | 101–1000 | Minimum faces to keep an island |
| merge_vertices | BOOLEAN | true | Merge close vertices (remove doubles) |
| merge_distance | FLOAT | 0.00010–0.1 | Distance threshold for merging vertices |
| fill_holes | BOOLEAN | true | Fill holes (open boundaries) |
| fill_holes_max | INT | 1003–1000 | Maximum sides for hole filling |
| fix_normals | BOOLEAN | true | Fix face normals to point outward |
| fix_manifold | BOOLEAN | true | Fix non-manifold geometry |
| triangulate_ngons | BOOLEAN | false | Triangulate faces with >4 vertices |
| dissolve_embedded | BOOLEAN | false | Dissolve small faces embedded in larger regions |
| use_smart_cleanup | BOOLEAN | true | Use addon's smart cleanup (recommended) |
| timeoutopt | INT | 30060–3600 | Maximum processing time |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| mesh | TRIMESH | — |
| status | STRING | — |