Skip to content

xiaokaiwangdragonplus/ComfyUI-GeometryPack

 
 

Repository files navigation

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

Remeshing self_intersection_fix uv_unwrapping

normals_fix_30fps.mp4
uvwrapping_30fps.mp4
geomnode_sidebyside_30fps.mp4
geomnode_camelhead_selfintersection_30fps.mp4

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) Load Blend or FBX

Mesh Information Mesh Info

Remeshing & Refinement

Remeshing Remesh

Batch Remeshing Batch Remesh

Mesh Refinement Refine

Mesh Repair

Fill Holes Fill Holes

Self-Intersection Removal Self Intersection Removal

Self-Intersection Remesh Self Intersection Remesh

Boolean Operations

Boolean Operations Boolean Ops

Distance & Analysis

Hausdorff & Chamfer Distance Hausdorff or Chamfer Distance

Signed Distance Function Signed Distance Function

Advanced Features

Skeleton Extraction Skeleton Extraction

Normal Fields Visualization Normal Fields

Transform Operations Transform Operations

Texture & Conversion

Preview with Texture Preview with Texture

Depth Map to Mesh 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:

Questions?

If you have questions about licensing, please open an issue on GitHub.

About

Some tools for 3D Geometry processing in ComfyUI. igl, CGAL, blender...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 47.1%
  • JavaScript 33.4%
  • HTML 19.1%
  • CSS 0.4%