nodeslicer/README.md
2026-05-06 11:12:13 +03:00

47 lines
1.9 KiB
Markdown

# 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
- [Project Overview](doc/README.md)
- [Module Reference](doc/MODULES.md)
- [Node & Socket Reference](doc/NODES.md)
## License
This project is licensed under the GPL-3.0-or-later license. See `blender_manifest.toml` for details.