No description
- HTML 63.9%
- Python 35.9%
- Dockerfile 0.2%
| .github | ||
| assets | ||
| bike_box | ||
| earring | ||
| ruler | ||
| sticker | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| .venv | ||
| docker-compose.yml | ||
| Dockerfile | ||
| index.html | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
SVG Generator Suite
Parametric SVG generators for laser cutting, plotting, and digital fabrication. All tools generate true-to-scale SVG output using millimetre-based geometry.
Projects
ruler/— ruler generator (boxes_ruler.py) + live preview (ruler_preview.html)sticker/— sticker/logo generator (boxes_sticker.py) + live preview (sticker_preview.html)earring/— earring generator (boxes_earring.py) + live preview (earring_preview.html)bike_box/— bike shipping box generator (boxes_bike_box.py) + live preview (bike_box_preview.html)
Quick Start
# (optional) create and activate env
pyenv virtualenv 3.13.3 svg-gen
pyenv activate svg-gen
# install dependencies
pip install -r requirements.txt
CLI Usage Examples
# Ruler
python ruler/boxes_ruler.py --length 150 --output ruler/examples/ruler.svg
# Sticker
python sticker/boxes_sticker.py --output sticker/example.svg
# Earring
python earring/boxes_earring.py --output earring/examples/earring.svg
# Bike box
python bike_box/boxes_bike_box.py --output bike_box/examples/bike_box.svg
Web Preview
Run the static server:
docker-compose up -d
Then open:
http://localhost:8000/(landing page)http://localhost:8000/ruler/ruler_preview.htmlhttp://localhost:8000/sticker/sticker_preview.htmlhttp://localhost:8000/earring/earring_preview.htmlhttp://localhost:8000/bike_box/bike_box_preview.html
Stop preview server:
docker-compose down
Assets
assets/fonts/— local custom TTF fontsassets/css/all.min.cssandassets/webfonts/— local FontAwesome assets for offline previews
Testing
Current automated tests are in tests/test_sticker.py.
pytest tests/test_sticker.py
License
This repository is licensed under GNU General Public License v3.0 (GPL-3.0).
See LICENSE for details.