Skip to content

AxiDraw Software 3.8.0

Compare
Choose a tag to compare
@oskay oskay released this 08 Feb 04:29
· 33 commits to master since this release

A major update, with significant performance improvements and several minor new features.


Key changes

  • Significant performance gains in processing the input SVG file, particularly for large SVG files.
    • Faster time to begin plotting (or resume plotting). The degree of improvement depends on the nature of the file and the options selected. Some test files that would not begin plotting (or resume plotting) for 30 s now begin in under 4 s.
    • Resume > Return to Home Corner command (and res_home mode in the APIs) is dramatically faster on large files.
    • Faster computation between plots when plotting or previewing multiple copies of a document:
      • Parse and digest file only once before plotting (or previewing) multiple copies.
      • Faster previews; preview is only rendered on last page.
      • Faster yet previews when randomization is disabled. (Rather than calculating the same page many times, calculate once and multiply.)
    • Some examples showing these specific speed gains are documented as Issue 144.
  • New feature to export an optimized "plot digest", or "Plob" file from Inkscape. For files where initial processing is time consuming, printing from a Plob file can be much faster, particularly when using repeated pause and resume cycles.
  • Add support for narrow-band brushless servo option.
  • Overhaul of the AxiDraw CLI progress bar:
    • Progress now shown in physical units, as mm of travel.
    • Simplified and clarified progress bar during delays between pages.
    • Added secondary progress bar to show layer delays (delays added with AxiDraw layer control syntax).

Minor features

  • Added new "dead slow" rates for pen lifting and lowering in AxiDraw Control Inkscape extension, half the speed of "very slow".
  • Added new penlift option in configuration file and Python/CLI APIs, to enable brushless servo option.
  • Python API now supports axidraw.__version__(in addition to existing version_string).
  • When pausing a plot, the paused message now includes the pause position, given as pen-down distance through the file in millimeters.
  • Visual makeover of AxiDraw Control Inkscape extension

Other bug fixes, improvements, and maintenance:

  • Changed walk_dist option in configuration file and Python/CLI APIs to dist. (The old value walk_dist is now deprecated but still functional.)
  • Added new button_interval parameter in configuration file to specify interval for polling pause button
  • Added 6 new parameters in configuration file to support new brushless servo option.
  • Changed the format of plot progress data stored in the SVG file. (As is typical for each software update, documents saved after pausing by previous software versions cannot resume plotting in the new version.)
  • Fully rewritten "drip feeder" that manages the process of sending motion commands to the hardware
  • Fully rewritten pause-and-resume subsystem. The internal plot-progress index is now based on distance of pen-down motion, rather than a count of "nodes" or trajectory waypoints. (Necessary for new features to offset pause position.)
  • Expand estimate_time.py example file included with Python API
  • Supersampling to smooth paths with overly-high vertex density is now dramatically faster and now happens after path joining.
  • Supersampling tolerance is now slightly higher.
  • Default path joining distance threshold is now slightly smaller.
  • General refactoring for code quality.
  • Updates to AxiDraw User Guide, and documentation for Python API and CLI API, in support of new features and changes.
    -Documentation updates: State explicitly that AxiDraw Nicknames are erased by firmware updates. Added to AxiDraw Naming utility GUI, plus notes in the user guide and API docs.
  • Fixed some bugs reflecting "corner cases" of pause and resume functionality
  • Bug fix: Avoid a case where initial acceleration was too high when resuming a plot in the middle of a path
  • Bug fix: Avoid a possible position-along-path issue when changing speed before resuming a plot
  • Bug fix: The time allotted to lower the pen was incorrectly calculated in cases where the pen raising and lowering speeds were different.
  • Bug fix: Layer delays were not correctly skipped in preview mode
  • Bug fix: Only display pen-lift count report when also reporting time
  • Bug fix: strip_data manual command was not working in CLI API
  • Bug fix: Python API, plot context: Raise error more gracefully on failure to load file

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 (ad-ink_[...].zip) for manual installation into your Inkscape "user extensions" folder 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 permalinks for latest version as well as an archival link to this particular version, as well as installation and upgrade instructions. An archive for manual installation is attached to this release as well. The download package also includes the full HTML documentation for both APIs.