cd846577a4cea8f00e86142e90e3f15e34f1a5ce
HPGL Plotter Manager
Manage HPGL files and send them to a plotter. Single core library (refac version at root), generators, and unified output folder for all graphics.
Folder structure
mimaki/
├── Command.py, Program.py, Plotter.py # Core HPGL library (parse, scale, send to plotter)
├── main.py # Main entry: load HPGL, scale, send to plotter
├── maintk.py, hpglView.py # Tk-based viewer / GUI
├── output/ # All HPGL and SVG files
│ ├── hpgl/ # HPGL plot files
│ └── svg/ # SVG and related assets
├── generators/ # Scripts that generate HPGL (or related graphics)
│ ├── hilbert.py, koche.py, koch.py, kochger.py
│ ├── mandelbrot.py, moebius.py, potter.py
│ ├── refac/ # hilbert, lorenz, K18650, Kleber
│ └── apollon/ # Apollonian gasket → SVG/HPGL
└── docs/ # HPGL / plotter documentation (PDFs)
Usage
-
Run main (load file and send to plotter):
From project root:python main.py
Editmain.pyto change the file (default:output/hpgl/kreis.hpgl). -
Load HPGL and show in window:
python show_hpgl.py -
Run a generator:
From project root, e.g.
python generators/potter.py -
Open/save files in GUI:
python maintk.py— use File → Open and point to files underoutput/hpgl/oroutput/svg/.
Paths
- All HPGL and SVG live under
output/hpgl/andoutput/svg/. - Run scripts from the project root so paths like
output/hpgl/...resolve correctly.
Config
- Copy
config.example.initoconfig.inito set plotter port, baudrate, timeouts, and web UI host/port.config.iniis gitignored. - Plotter and web UI read from
config.ini; envSECRET_KEYoverrides the web session secret.
Description
Languages
Python
64.5%
JavaScript
12.7%
Prolog
12.5%
CSS
6.2%
HTML
4.1%