BD Blender Repair
The targeted mesh repair pass for holes, doubles, and flipped normals
- mesh
- mesh
- status
Mesh generation is sloppy, and not every sloppy mesh needs the full cleanup treatment. BD Blender Repair is the lighter, focused sibling of BD BlenderCleanup: it fixes the three classic defects - holes, duplicate/overlapping vertices, and inconsistent normals - and stops there. If your mesh is basically good but won't slice, won't import clean, or has a handful of holes, this is the node. It's less destructive than a full cleanup, which matters when you're close to done.
The inputs are the repair checklist:
- fill_holes (on) - close open boundaries in the surface.
- remove_doubles (on) + merge_distance (0.0001) - weld coincident vertices. The default is conservative; bump it if you see seams that should have merged.
- recalc_normals (on) - make normals consistent (outward).
- make_manifold (off) - the "aggressive" switch. It's aimed at 3D printing: it can change topology to force manifold watertightness. Leave it off for game assets; the warning in the tooltip ("may change topology") is not exaggerated.
Plus a timeout cap on the Blender pass. Outputs: repaired mesh + status.
Install and the Blender gotcha
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/BizaNator/ComfyUI-BrainDead
cd ComfyUI-BrainDead
pip install -r requirements.txt
(ComfyUI Manager → "BrainDead", restart; needs the ComfyUI V3 API, so keep it updated.) It's a Blender node, so the recurring rule: a real Blender must be installed. The README's "bundled in lib/" line is about scripts; the binary is searched at lib/blender/blender-5.0.1-linux-x64 (not shipped), in sibling packs (GeometryPack/UniRig), then /usr/bin/blender. No Blender → "Blender not found."
Which repair node when? BD BlenderRepair for the targeted pass on an otherwise-good mesh; BD BlenderCleanup when the mesh is genuinely dirty (islands, loose geometry, non-manifold, n-gons - the full bath). Both are Blender-backed, so if you want zero Blender dependency, the pack also has BD Mesh Repair (pymeshlab-based) and BD FixNormals (pure Python).
One honest caveat about hole-filling: on character meshes it will happily fill the eye sockets or the inside of a mouth if those read as "holes." If you're repairing a character, keep fill_holes on only when you've confirmed those openings are actually supposed to be closed - otherwise you'll spend the next hour carving eyes back out.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| mesh | TRIMESH | — | |
| fill_holes | BOOLEAN | true | Fill holes in the mesh surface |
| remove_doubles | BOOLEAN | true | Merge duplicate/overlapping vertices |
| merge_distance | FLOAT | 0.00010.00001–0.1 | Distance threshold for merging vertices |
| recalc_normals | BOOLEAN | true | Recalculate normals to be consistent (outward facing) |
| make_manifold | BOOLEAN | false | Aggressive repair for 3D printing (may change topology) |
| timeoutopt | INT | 30030–1800 | Maximum processing time in seconds |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| mesh | TRIMESH | — |
| status | STRING | — |