47 lines
1.9 KiB
Markdown
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.
|