ComfyUI Extension: ComfyUI libigl
libigl geometry processing wrapper for ComfyUI - mesh manipulation and analysis nodes
Custom Nodes (0)
README
ComfyUI-GeometryPack
⚠️ Work in Progress - Active development, expect breaking changes.
Professional geometry processing nodes for ComfyUI. Load, analyze, remesh, unwrap, and visualize 3D meshes directly in your workflows.
Some previews

https://github.com/user-attachments/assets/c2e393ba-fb57-4a46-b772-31c4b01f47f8
https://github.com/user-attachments/assets/b1bcd570-719f-4be5-868d-f72c9f1f4c10
https://github.com/user-attachments/assets/607e6b29-a8d4-4346-873a-5bd6b140bdba
https://github.com/user-attachments/assets/7718a5d7-cd5b-47d3-874c-29ada4320694
Features
Core Operations
- Load/Save meshes (OBJ, PLY, STL, OFF, etc.)
- Primitive generation (cube, sphere, plane)
- Mesh analysis and statistics
- Interactive 3D preview (Three.js & VTK.js)
Remeshing
- PyMeshLab isotropic remeshing
- CGAL isotropic remeshing (optional)
- Blender voxel & quadriflow remeshing
UV Mapping
- xAtlas UV unwrapping (fast, no dependencies)
- libigl LSCM conformal mapping
- Blender projections (cube, cylinder, sphere)
Analysis
- Boundary edge detection
- Hausdorff & Chamfer distance
- Signed distance fields (SDF)
- Point cloud conversion
Installation
cd ComfyUI/custom_nodes/
git clone https://github.com/PozzettiAndrea/ComfyUI-GeometryPack.git
cd ComfyUI-GeometryPack
pip install -r requirements.txt
Automatic Blender Installation (Recommended):
python install.py
This will automatically download and install a portable version of Blender for UV unwrapping and remeshing nodes. No admin rights required!
Restart ComfyUI. Nodes appear in the geompack/ category.
Optional Dependencies:
- Blender: Auto-installed via
install.py, or install manually from blender.org - CGAL: Build tools for CGAL remeshing (see
cgal_tools/README.md)
Quick Start
Basic workflow:
Create Primitive → Mesh Info → Preview Mesh (3D)
Load Mesh → PyMeshLab Remesh → Save Mesh
Workflow Demonstrations
Loading & Analysis
Load Mesh (Blend/FBX)

Mesh Information

Remeshing & Refinement
Remeshing

Batch Remeshing

Mesh Refinement

Mesh Repair
Fill Holes

Self-Intersection Removal

Self-Intersection Remesh

Boolean Operations
Boolean Operations

Distance & Analysis
Hausdorff & Chamfer Distance

Signed Distance Function

Advanced Features
Skeleton Extraction

Normal Fields Visualization

Transform Operations

Texture & Conversion
Preview with Texture

Depth Map to Mesh

Demo Videos
Coming soon - video demonstrations will be added here
Architecture
Codebase organized by function in nodes/ directory:
- io.py - Load/Save
- primitives.py - Shape generation
- analysis.py - Mesh info, boundary detection
- distance.py - Hausdorff, Chamfer, SDF
- conversion.py - Mesh to point cloud
- remeshing.py - PyMeshLab, CGAL, Blender
- uv.py - UV unwrapping (xAtlas, libigl, Blender)
- transforms.py - Positioning
- visualization.py - 3D preview (Three.js, VTK.js)
All nodes use trimesh.Trimesh objects for mesh data.
Credits
Built on trimesh, libigl, PyMeshLab, and CGAL.
License
GNU General Public License v3.0 or later (GPL-3.0-or-later)
This project is licensed under the GPL-3.0-or-later license to ensure compatibility with the included dependencies:
- Blender (GPL-2.0-or-later) - Used for advanced UV unwrapping and remeshing
- CGAL (GPL-3.0-or-later) - Used for boolean operations and isotropic remeshing
- PyMeshLab (GPL-3.0) - Used for mesh processing operations
What This Means
- ✅ You can use, modify, and distribute this software freely
- ✅ You can use it for commercial purposes
- ⚠️ If you distribute modified versions, you must also license them under GPL-3.0-or-later
- ⚠️ You must share the source code of any modifications you distribute
For more details, see:
- LICENSE - Full GPL-3.0 license text
- THIRD-PARTY-NOTICES.md - Detailed third-party license information
Questions?
If you have questions about licensing, please open an issue on GitHub.