2.1 KiB
2.1 KiB
Module Reference
This file provides a mapping of modules to their primary responsibilities and key symbols.
Root
-
__init__.py:- Entry Point: Extension registration (
register,unregister). - Node Tree:
SLICETREE_NodeTreeclass. - Sockets: Definitions for all
SLICESOCK_*classes. - Nodes: Definitions for all
SLICENODE_*classes. - Evaluation Engine:
resolve_input(): Recursively evaluates linked sockets._resolve_output(): Computes node outputs with a caching system (_EvalCache) to avoid redundant calculations._follow_reroute(): Handles Blender's Reroute nodes during evaluation.
- Entry Point: Extension registration (
-
registry.py:- Auto-Registration: Utility to track classes decorated with
@register_class.
- Auto-Registration: Utility to track classes decorated with
-
blender_manifest.toml:- Metadata for the Blender Extension platform.
-
pyproject.toml:- Standard Python project configuration.
/core (Geometry & Slicing)
-
slice.py:slice_at_range(): Top-level slicing function that iterates through Z-heights.slice_at_z(): Vectorized plane-mesh intersection using NumPy.Pather: Class that converts toolpaths into G-code strings.segments_to_slice(): Utility to convert raw intersection segments into closed loops using Pyclipper.link_segments(): Logic for joining loose segments into continuous paths.buffer_slice(): Offset utility using PyclipperOffset. Supports rotated offsetting.infill_slice(): Generates rotated grid or rectilinear infill patterns, ensuring layer-to-layer consistency.boolean_slice(): Performs 2D boolean operations (Union, Intersection, etc.) on slice sets.
-
geometry.py:- Geometry utility functions.
/infra (Blender Integration)
-
blender_mesh_capture.py:SlicingObject: Represents a single mesh as a NumPy triangle array.capture_mesh_edges(): Extracts edges from a Blender mesh for path-based workflows.
-
blender_slice_nodes_generic.py:- Base classes for NodeSlicer nodes (
SliceNode) and sockets (SliceNodeSocket). - Core evaluation logic (
resolve_input).
- Base classes for NodeSlicer nodes (