How florianfesti/boxes works
Boxes.py is a parametric laser-cut design generator: users choose a box or other design, set material and geometry parameters, and receive vector artwork. Its documented entry points include an online generator, an Inkscape plug-in, and a reusable Python library; the tree also exposes CLI and server entry points. The graph highlights generator families, geometric construction, and vector export. Several generator modules are unsampled, so their broader capabilities are represented at the directory level; links without direct evidence are omitted.
Main entry points: boxes/__init__.py Box construction · boxes_main.py CLI entry · boxesserver.py Web server · generators/__init__.py Generator registry
Components 18
User interfaces
- CLI entry
boxes/scripts/boxes_main.py - Web server
boxes/scripts/boxesserver.py - Inkscape plug-in
boxes/gears.py - Generator CLI
boxes/scripts/boxes_generator.py
Parametric designs
- Generator registry
boxes/generators/__init__.py - Design generators
boxes/generators
Geometry engine
- Box construction
boxes/__init__.py - Joints and edges
boxes/edges.py - Lids and closures
boxes/lids.py - Wall edges
boxes/walledges.py - Reusable parts
boxes/parts.py - Gear designs
boxes/gears.py - Pulley designs
boxes/pulley.py - Vector math
boxes/vectors.py
Vector output
- Drawing context
boxes/drawing.py - Vector formats
boxes/formats.py - SVG merge
boxes/svgmerge.py
Other components
- Designer
Connections 28
- Designer → CLI entry: configures
README.rst - Designer → Web server: configures
README.rst - Designer → Inkscape plug-in: uses
README.rst - CLI entry → Generator registry: loads
boxes/scripts/boxes_main.py - CLI entry → Box construction: uses
boxes/scripts/boxes_main.py - CLI entry → SVG merge: invokes
boxes/scripts/boxes_main.py - Web server → Generator registry: loads
boxes/scripts/boxesserver.py - Web server → Box construction: uses
boxes/scripts/boxesserver.py - Generator CLI → Generator registry: loads
boxes/scripts/boxes_generator.py - Generator CLI → Box construction: uses
boxes/scripts/boxes_generator.py - Generator registry → Design generators: registers
boxes/generators/__init__.py - Design generators → Box construction: constructs with
boxes/generators/can_storage.py - Box construction → Joints and edges: uses
boxes/__init__.py - Box construction → Drawing context: draws through
boxes/__init__.py - Box construction → Reusable parts: uses
boxes/__init__.py - Box construction → Lids and closures: uses
boxes/__init__.py - Box construction → Pulley designs: uses
boxes/__init__.py - Box construction → Gear designs: uses
boxes/__init__.py - Joints and edges → Box construction: references
boxes/edges.py - Lids and closures → Joints and edges: uses
boxes/lids.py - Wall edges → Joints and edges: uses
boxes/walledges.py - Reusable parts → Vector math: uses
boxes/parts.py - Pulley designs → Vector math: uses
boxes/pulley.py - Gear designs → Vector math: uses
boxes/gears.py - Drawing context → Vector formats: exports through
boxes/formats.py - Vector formats → Drawing context: converts
boxes/formats.py - CLI entry → Vector formats: exports via
- CLI entry → Web server: serves online
README.rst