Blender node-based slicer
Find a file
2026-05-06 20:59:27 +03:00
core inclined infill + gn preview 2026-05-06 20:55:56 +03:00
doc inclined infill + gn preview 2026-05-06 20:55:56 +03:00
infra intrinsics implementation 2026-05-06 18:17:30 +03:00
wheels init 2026-05-06 11:12:13 +03:00
.gitignore init 2026-05-06 11:12:13 +03:00
.python-version init 2026-05-06 11:12:13 +03:00
__init__.py gn assignment 2026-05-06 20:59:27 +03:00
blender_manifest.toml init 2026-05-06 11:12:13 +03:00
nodes.blend inclined infill + gn preview 2026-05-06 20:55:56 +03:00
pyproject.toml init 2026-05-06 11:12:13 +03:00
README.md init 2026-05-06 11:12:13 +03:00
registry.py init 2026-05-06 11:12:13 +03:00
uv.lock init 2026-05-06 11:12:13 +03:00

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):
    • numpy
    • shapely
    • pyclipper

As a Blender Extension

  1. Zip the repository contents (excluding .venv, __pycache__, etc.).
  2. In Blender, go to Edit > Preferences > Get Extensions.
  3. Click the arrow in the top right and select Install from Disk.
  4. Select your zip file.

Quick Start

  1. Open the Node Editor.
  2. Switch the tree type to NodeSlicer Tree.
  3. Create a new tree.
  4. Add an Object Input node and select a mesh object.
  5. Connect it to a Get Mesh node.
  6. Connect the mesh to Slice Shells.
  7. Connect the slices to Slices to Paths, then Paths to Gcode.
  8. 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.