Skip to content

Common files for Inkscape extensions to drive EggBot, WaterColorBot, and similar plotter-type machines

License

Notifications You must be signed in to change notification settings

evil-mad/plotink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

plotink

Python helper routines for driving AxiDraw, EggBot, WaterColorBot, and similar plotter-based machines.

This repository maintained by Windell H. Oskay, Bantam Tools.

Source code and issue tracker are hosted at github.

Installation

Releases are available on PyPI.

To install the latest release, use pip install plotink

Overview

These library files are intended to provide a single place to edit routines that are common to the EggBot extensions for Inkscape, the WaterColorBot extensions for Inkscape, the AxiDraw extensions for Inkscape, and derivative machines. Hosting these in a single place means less duplication of code, and (more importantly) reduces the number of cases where identical code changes need to be made in multiple places.

The library files are:

  • ebb_serial.py - General routines for communicating with the EiBotBoard by USB serial.
  • ebb_motion.py - Motion-related routines for interacting with the robot.
  • plot_utils.py - Additional helper functions for managing plots and their data.
  • text_utils.py - Additional helper functions for managing text.
  • rtree.py - Minimal R-tree spatial index class for calculating intersecting regions.
  • spatial_grid.py - Specialized flat grid spatial index class for finding nearest neighbors.

Python version support

Latest version requires Python 3.6 or newer.

A previous release, Plotink version 1.0.1, supports python 2.7 as well.

Logging

This library uses the standard python logging module. Suggested configurations follow.

For stand-alone machine control, print info, warnings, and errors to stdout:

import logging

logging.basicConfig(level=logging.INFO, format='%(message)s')

For running as an Inkscape extension, print errors to Inkscape's extension errors log:

import logging

logging.basicConfig(level=logging.ERR,
        format='%(message)s'),
        filename = "~/.config/inkscape/extension-errors.log")

About

Common files for Inkscape extensions to drive EggBot, WaterColorBot, and similar plotter-type machines

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages