Nodes/ComfyUI libigl/Reconstruct Convex Hull (backend)
ComfyUI Node

Reconstruct Convex Hull (backend)

Convex hull reconstruction — the fastest way to wrap your points in plastic

By PozzettiAndrea·Created 10 months ago·Updated 4 days ago· 218
Reconstruct Convex Hull (backend)
  • points
  • reconstructed_mesh
  • info

Convex hull is the blunt instrument of the reconstruction family. Give it a point cloud and it wraps the whole thing in a single tight surface - like shrink-wrapping a spiky object, where the shrink-wrap can only bulge outward. Every concavity, every indent, every hole gets bridged over. That's not a bug, it's the whole point: this node exists for the times you want the rough extent of something, fast, and don't care about its actual shape.

It's the convex_hull option inside Reconstruct Surface, the frontend node that actually owns the dropdown. This (backend) node is marked dev-only, and it's the thinnest of the four backends - no parameters beyond the input. If you've seen the GeometryPack gallery, the convex-hull row is the one where every object looks like a rounded blob; that's honest advertising.

How it works

The pack just asks trimesh for the convex hull of your vertices: Trimesh(vertices=vertices).convex_hull. trimesh computes it with the scipy/spatial Qhull implementation, which is about as battle-tested as geometry code gets. There's no normals step, no parameter tuning, nothing to get wrong - points in, a guaranteed watertight, convex, closed mesh out. It's the only reconstruct backend you can't misconfigure.

Inputs and outputs

  • points (TRIMESH) - the cloud. That's it.

Outputs: reconstructed_mesh (TRIMESH) and info (STRING), which reports output counts, watertight status, and the volume. The volume line is quietly the most useful thing here - a convex hull is a decent proxy for "how much space does this thing occupy," which is why this node also works as a quick bounding-volume sanity check.

Installing

Same pack, same drill: ComfyUI Manager → GeometryPack, or

cd ComfyUI/custom_nodes
git clone https://github.com/PozzettiAndrea/ComfyUI-GeometryPack.git
cd ComfyUI-GeometryPack
pip install -r requirements.txt --upgrade
python install.py

Restart ComfyUI. Convex hull needs no heavy backend - trimesh ships in the pack's base requirements, so unlike the Poisson or Blender backends there's nothing extra to download for this one.

When it's the right call

Honestly? More often than you'd think, but almost never as a final result. People reach for it for collision/proximity checks, for a cheap bounding shape before a boolean, for measuring volume in a workflow where "close enough" beats "precise," or as the starting point for a mesh that will be carved down later. If your point cloud is noisy garbage and you need something to build on, the convex hull is a rock-solid first step. If you need the actual shape of the object, one of the other three backends - alpha shape if you want control, Poisson if you want watertight-and-smooth - is what you actually want.

Troubleshooting

There's very little to go wrong that's specific to this node. It can be slow on enormous clouds (Qhull doesn't scale linearly), and on degenerate near-coplanar point sets you can get warnings from trimesh about facets - usually harmless. The pack-wide note applies as always: this pack is in active development with occasional breakage, so if a saved workflow referencing the frontend node throws, delete and re-add it. But the hull itself is about as dependable as this pack gets.

Categorygeompack/reconstruction

Inputs (1)

NameTypeDefaultDescription
pointsTRIMESH

Outputs (2)

NameTypeDescription
reconstructed_meshTRIMESH
infoSTRING