Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nornagon/saxi
Tools & library for driving the AxiDraw pen plotter
https://github.com/nornagon/saxi
axidraw plotter serial
Last synced: about 4 hours ago
JSON representation
Tools & library for driving the AxiDraw pen plotter
- Host: GitHub
- URL: https://github.com/nornagon/saxi
- Owner: nornagon
- License: agpl-3.0
- Created: 2017-08-19T05:58:45.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-07-27T15:41:10.000Z (5 months ago)
- Last Synced: 2024-10-30T00:38:17.408Z (about 1 month ago)
- Topics: axidraw, plotter, serial
- Language: TypeScript
- Homepage:
- Size: 2.49 MB
- Stars: 471
- Watchers: 16
- Forks: 55
- Open Issues: 55
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-plotters - saxi - Driver and library for the AxiDraw. Uses constant-acceleration motion planning and automatically resizes to paper. (Software / Plotter Control)
README
# saxi
##### make plot goodsaxi is a tool for interacting with the [AxiDraw
drawing machine](https://axidraw.com/) by Evil Mad Scientist. It comes with an
easy-to-use interface, and is exactingly precise.- automatically scales & centers your drawing to fit on the paper
- minimizes pen-up travel time by reordering & reversing paths
- uses a custom motion planning algorithm (inspired by [axi](https://github.com/fogleman/axi)) that's smooth & fast
- automatically splits apart layers based on SVG stroke colors or group IDs
- has a web-based UI, so there's no need to muck around with installing X11 and Inkscape
- can run on a Raspberry Pi or similar, so you don't need to be tethered to your plotter while it plots![a screenshot of the saxi user interface](docs/saxi.png)
### Usage
```
$ npm i -g saxi
$ saxi
Server listening on http://0.0.0.0:9080
Connecting to EBB on /dev/tty.usbmodem1461
```
If you encounter an `EACCES` error when installing the package globally, see [Resolving EACCES permissions errors when installing packages globally](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally).#### Raspberry Pi
To install saxi on a Raspberry Pi, first install node.js if you haven't already:```
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
$ sudo apt-get install -y nodejs
```and then proceed as above :) If you connect to the raspberry pi over ssh, you might want to run the `saxi` server inside a tmux or screen session to have it stay running even if your ssh session disconnects.
If you want `saxi` to run at boot on the Pi you can use a systemd unit file and enable the service:
```bash
sudo tee /lib/systemd/system/saxi.service <
by Julien Terraz (@targz)
by Antoine Beyeler (@abey79)
by Lionel Radisson (@MAKIO135)
by Daniel Feles (@daniel_feles)