Files
orx/orx-jvm/orx-axidraw/README.md
2025-09-02 06:52:20 +02:00

67 lines
2.6 KiB
Markdown

# orx-axidraw
GUI for configuring and plotting with an Axidraw pen-plotter.
Uses the [AxiCLI](https://axidraw.com/doc/cli_api/#introduction) command line tool
to communicate with the pen plotter.
Requires: Python 3.8 or higher.
This orx create a Python virtual environment and downloads AxiCLI automatically.
## Usage
```kotlin
fun main() = application {
program {
val axi = Axidraw(this, PaperSize.A5)
axi.resizeWindow()
val gui = WindowedGUI()
gui.add(axi)
axi.draw {
fill = null
axi.bounds.grid(4, 6).flatten().forEach {
circle(it.center, Double.uniform(20.0, 50.0))
}
}
extend(gui)
extend {
drawer.clear(ColorRGBa.WHITE)
axi.display(drawer)
}
}
}
```
Study the inputs available in the GUI. Most are explained in the [AxiCLI](https://axidraw.com/doc/cli_api/#introduction) documentation page.
### Important
* Choose the correct pen-plotter model and servo type in the GUI before plotting.
* Always make sure the pen is at the home position before starting to plot. If it's not, unpower the steppers,
drag the carriage home (near the Axidraw's CPU), then power the steppers back on.
### Tips
* One can repeatedly click on `toggle up/down` and adjust `pen pos down` and `pen pos up`
to find the ideal heights for the pen.
* Enable `fills occlude strokes` and increase margin value to hide elements near
the borders of the paper.
* Click `save` to save your SVG file.
* Click `plot` to plot the visible design using the current settings.
* A [2D camera](https://guide.openrndr.org/extensions/camera2D.html) is enabled by default to place your design on the paper.
* Click `resume plotting` after pressing the hardware pause button (or including a pause
command on a layer) to continue.
* To get a plotting time estimate, enable `preview` and click `plot`. Nothing will be plotted, but the estimate will be shown in the IDE console.
The `Load` and `Save` buttons *at the top of the GUI* can be used to load and save the plotting settings. In a future version we may embed the plotting settings into the SVG file.
### Multi color plots
orx-axidraw makes it easy to create multi-pen plots. To do that, use two or more stroke colors in your design. The order of the lines does not matter. Then, before plotting, call `axi.groupStrokeColors()`. This will group curves into layers based on their stroke colors and insert a pause between layers, allowing you to change the pen.
When the plotter pauses during plotting, change the pen and click `resume plotting` to continue.