Skip to content

Repository files navigation

Plot Server

The purpose of this project is to provide a web-based interface for starting plots with an AxiDraw plotter. It looks at a folder of SVG images, and provides controls for viewing and plotting them. Uploaded SVG files generate PNG thumbnails, and the selected SVG can be downloaded as a PDF on demand from the web UI.

Installation

Create a Virtual Environment with venv

python -m venv .venv

Install dependencies

source .venv/bin/activate
pip install -r requirements.txt

Copy .env.example to .env

Customize your values

Add a symoblic link for artwork

Run this command where {ART_DIRECTORY} is replaced with the value in your .env file:

cd ./static
ln -s {ART_DIRECTORY} sketches

Install the AxiDraw Python module and CLI

See instructions on AxiDraw.com.

Run

source .venv/bin/activate

python index.py

deactivate

Run in the background:

python index.py &

Keep running in background if shell session ends:

nohup python index.py > /dev/null 2>&1 &

Connect

Open the URL initiated by Flask in your web browser. It should be your local IP address followed by the port, so something like http://192.168.0.10:5007.

Monitor Progress (on local network)

Open /monitor (for example http://192.168.0.10:5007/monitor) for a read-only status page. While a plot is running it shows the plot's thumbnail, a countdown to the estimated finish time, and a progress bar with time elapsed and remaining. It has no controls, so it is safe to leave open. The server's network address and port are shown in the footer of the main page.

About

A local web service for interacting with an AxiDraw plotter

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages