LIVE DEPLOYMENT: https://mfihs.com/plotter-tool/
Integrated toolpath optimization platform for CNC pen plotters. Converts vector graphics to machine-executable G-code with automated path reduction and overlap elimination. Real-time telemetry visualization included.
CORE FUNCTIONS:
- G-code sequence parsing and reordering
- SVG-to-plotter conversion pipeline
- 2-opt traveling salesman optimization
- Geometric line overlap detection and filtering
- WebSocket-driven progress monitoring
TECH STACK: FastAPI | Python 3.11 | Vanilla JS | Canvas API
docker compose up -d --buildService available at http://localhost:8080
For reverse-proxy deployments under dedicated routes (e.g., domain.com/plotter-tool):
BASE_PATH=/plotter-tool docker compose up -d --buildAlternatively, define environment variables in .env:
BASE_PATH=/plotter-tool
location /plotter-tool {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}pip install -r requirements.txt
uvicorn app.main:app --reloadOptional: BASE_PATH=/plotter-tool uvicorn app.main:app --reload
All operational parameters (feed rates, Z-axis control, curve tolerance, pen width filtering) are configurable via the web interface. Settings persist in browser local storage.
This system incorporates svg2gcode for SVG decomposition and G-code generation. Path optimization and overlap filtering are implemented internally.
This application was shamelessly vibe-coded by an individual whose close-to-zero coding skills are a source of deep, profound shame. The code quality reflects this unfortunate reality. Proceed with appropriate caution.
MFCORP INDUSTRIAL SOLUTIONS // 2026 ALL RIGHTS RESERVED