Skip to content

AxiDraw Software 3.1

Compare
Choose a tag to compare
@oskay oskay released this 19 Jan 07:27
· 61 commits to master since this release
3fc7991

A minor feature release, with significant performance improvements.


Getting the software

Inkscape (GUI) software releases are hosted at https://wiki.evilmadscientist.com/Axidraw_Software_Installation (short link: https://axidraw.com/sw ). Formats include Mac and Windows installers, as well as a direct ZIP download for manual installation on Mac, Windows, or Linux, or for making your own use of the source code. These installers also include the latest EggBot and WaterColorBot software for Inkscape. An archive for manual installation is attached to this release as well.

Python/CLI API releases are hosted at https://axidraw.com/doc/py_api/ and https://axidraw.com/doc/cli_api/ , which are the documentation sites for those two APIs. Both contain a permalink to the latest release of the API download as well as installation instructions. An archive for manual installation is attached to this release as well.


Key changes

  • Significantly faster processing of the SVG document before starting a plot or rendering a preview. Sincere thanks to Michal Migurski @migurski for contributing this improvement. The degree of speedup will depend on the nature and size of the document. In some cases, plots and plot previews that took minutes to start will now begin in seconds.

  • Webhook notifications. If enabled, the AxiDraw software can post to a specified URL when a plot completes. This can be used, in combination with various services including IFTTT, to provide various forms of notifications and operations such as email alerts, mobile alerts, or integration with other hardware. Added some extended documentation on our Wiki about how to use this feature.

  • Python and CLI APIs can now output a "plot digest object", or "Plob" file instead of a full SVG. The Plob is a restricted-format subset of SVG that the AxiDraw software reduces the file to before plotting. It represents the state of the file after stripping out items that will not be plotted and after optimizing what remains. In cases where it is helpful to optimize a file for speed before plotting and plot later (or optimize once and plot many times), it may be helpful to first digest the document to a Plob, and then plot that Plob later.

Minor features related to the above key changes

  • Added two new spatial index scripts to plotink: An R-tree used to speed searches for nearby path ends and a grid index used for nearest-neighbor searches
  • Added new webhook and webhook_url entries to the Inkscape GUI, the configuration file, and the list of options for the AxiDraw CLI API and Python API.
  • Added new digest option to the AxiDraw CLI API and Python API, which can not only output the Plob digest, but also (optionally) disable plotting or previewing a file to do so more quickly. Also add an entry for it in the configuration file.
  • Automatically recognize and verify Plob files. If the file is in the Plob format, then all pre-processing and optimization will be skipped.

Additional minor features

  • New report_lifts parameter in config file to enable reporting the number of pen lifts in a plot
  • New pen_lifts variable in Python API stores number of pen lifts

Various bug fixes and improvements:

  • Fixed an issue in plotink that could cause plot time to be reported incorrectly
  • Fix an issue that could cause content in the SVG root to be skipped after a layer
  • Gracefully handle errors when an internet connection is not available for checking version updates
  • Fix an issue where the the Python API time_estimate variable was not correctly calculated
  • Better documented the min_gap (path joining threshold) parameter in the configuration file
  • Renamed the pen-up and pen-down preview layers for clarity
  • Handle certain cases of SVG primitives objects with attributes defined as percentages
  • Documentation updates (CLI, Python, Inkscape extensions) for the new and updated features.