Blender node-based slicer
| core | ||
| doc | ||
| infra | ||
| wheels | ||
| .gitignore | ||
| .python-version | ||
| __init__.py | ||
| blender_manifest.toml | ||
| pyproject.toml | ||
| README.md | ||
| registry.py | ||
| uv.lock | ||
NodeSlicer
NodeSlicer is a high-performance Blender extension that provides a custom node-based interface for mesh slicing and G-code generation. By bypassing traditional Blender modifiers and using NumPy and Shapely for geometry processing, it offers a flexible and extensible workflow for 3D printing and procedural geometry tasks.
Key Features
- Custom Node Editor: A dedicated node tree type for slicing workflows.
- Fast Geometry Processing: Uses NumPy for vectorized mesh operations and Shapely for robust 2D geometry manipulation.
- G-code Generation: Direct conversion of 2D contours (toolpaths) into G-code.
- Live Preview: Debug nodes to visualize generated toolpaths directly in the Blender viewport.
- Extensible: Modular architecture allowing for easy addition of new nodes and processing logic.
Installation
Requirements
- Blender 4.2 or newer (uses the new Extension system).
- Dependencies (bundled or installed via
uv):numpyshapelypyclipper
As a Blender Extension
- Zip the repository contents (excluding
.venv,__pycache__, etc.). - In Blender, go to
Edit > Preferences > Get Extensions. - Click the arrow in the top right and select
Install from Disk. - Select your zip file.
Quick Start
- Open the Node Editor.
- Switch the tree type to NodeSlicer Tree.
- Create a new tree.
- Add an Object Input node and select a mesh object.
- Connect it to a Get Mesh node.
- Connect the mesh to Slice Shells.
- Connect the slices to Slices to Paths, then Paths to Gcode.
- Use a Gcode To File node to export your result.
Documentation
License
This project is licensed under the GPL-3.0-or-later license. See blender_manifest.toml for details.