Package-level declarations

Types

Link copied to clipboard
class Axidraw(val program: Program, paperSize: PaperSize, orientation: PaperOrientation = PaperOrientation.PORTRAIT)

Class to talk to the axicli command line program

Link copied to clipboard
Link copied to clipboard

Axidraw reordering optimization types. See: https://axidraw.com/doc/cli_api/#reordering

Link copied to clipboard
Link copied to clipboard

Axidraw layer mode. The command argument will be prepended to the layer name.

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun GroupNode.configure(layerName: String = "layer", penSpeed: Int? = null, penHeight: Int? = null, plotDelay: Int? = null, layerMode: AxiLayerMode = AxiLayerMode.DEFAULT)

Configure an SVG layer name. Certain character sequences are used by the Axidraw software to control layer speed, height and delay. Other characters make the layer be ignored, or trigger a pause. The arguments in this function provide a typed approach to construct the layer name. See https://wiki.evilmadscientist.com/AxiDraw_Layer_Control

Link copied to clipboard
fun invokePython(arguments: List<String>, executable: String = systemPython()): String
Link copied to clipboard
fun Composition.saveToInkscapeFile(file: File, postProcess: (String) -> String = { xml -> xml })

Save a Composition to an Inkscape file. Includes expected XML namespaces and sets an XML header with the view window size. Strips an extra wrapping <g> tag to make special layer names work with the Axidraw pen plotter.

Link copied to clipboard

Determines the appropriate Python executable name based on the operating system.

Link copied to clipboard
fun venvPython(venv: File): String

Returns the path to the Python executable in a given virtual environment. The path varies depending on the operating system.