DimArrow lets you define the properties of a dimensional arrow and receive back an SVG of it. To see it in action an over-the-top GUI is also available.
There are two basic dimensional arrows: pointing outwards with the label usually in the centre, and pointing inwards for smaller dimensions or where the crntre label won't fit.
DimArrow automatically generates the appropriate arrow type using the values of properties length and gap.
When gap is 0 the line of an outwards arrow is uninterrupted. As gap increases,
the gap widens until its value is greater than length, at which poibt the arrow becomes inwards facing.
All other parameters are for the style of the arrow (stroke width, label size, etc.), the size of the arrowheads, and the extend of the terminating arrowhead lines.
Create a virtual environment, source it, and install:
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install .If you'd like to run the GUI (see below — a bunch of other libraries are required) replace the last command above with:
python3 -m pip install .[gui]To install:
poetry installand with the GUI dependencies:
poetry install --extras guiTo be able to run the GUI, follow the installation instructions below and run
python3 dimarrow-gui.pyif installed with pip, or if using Poetry
poetry run python dimarrow-gui.pyThis will open a browser tab with the app served at http://127.0.0.1:8080/.
Note
The GUI is written in the wonderful NiceGUI Python framework, which is very much worth discovering!


