Command line interface¶
The draworg Python module can be called from the command line to generate
custom single parts, including fused waves, part sets, or the full complement of
meshes available in releases.
Installation¶
Download the pre-built Python package from the Releases page, then install it with
the pip package manager:
pip install ./draworg-0.2.0-py3-none-any.whl
Documentation¶
The module has built-in documentation:
$ python -m draworg --help
usage: python -m draworg [-h] [-V] COMMAND ...
positional arguments:
COMMAND
part build a single part
set build a set of parts
wave build a fused wave
wave-width compute a fused wave’s width (cm)
wave-set build a set of fused waves
release build all parts for release
options:
-h, --help show this help message and exit
-V, --version show program version and exit
Each command has its own documentation topic:
$ python -m draworg set --help
usage: python -m draworg set [-h] [-f] [-o DIR] [--box-clearance FLOAT]
[--dovetail-clearance FLOAT] [--filament-clearance FLOAT]
[--groove-clearance FLOAT] [--peg-clearance FLOAT]
[--support-disc-radius FLOAT]
HEIGHT [HEIGHT ...]
positional arguments:
HEIGHT panel height to build parts for
options:
-h, --help show this help message and exit
-f, --force overwrite existing files
-o, --output-directory DIR
output directory (default: cwd)
--box-clearance FLOAT
clearance for box joints (e.g. corners) (mm, default: 0.1)
--dovetail-clearance FLOAT
clearance for dovetail joints (e.g. between panel parts) (mm,
default: 0.025)
--filament-clearance FLOAT
clearance for the filament hole (in corner pieces) (mm, default:
0.15)
--groove-clearance FLOAT
clearance between grooves and panels (mm, default: 0.1)
--peg-clearance FLOAT
clearance between pegs and holes (mm, default: 0.015)
--support-disc-radius FLOAT
support disc radius (mm, default: 5)
Examples¶
To generate a panel part with 5-cm height, (non-standard) 3-cm width, and no support discs:
$ python -m draworg part Panel 5 3 --support-disc-radius=0
Panel_H5_W03: 100%|████████████████████████████████████████| 1/1 [00:00<00:00, 1.22it/s]
Non-standard 5x3 cm² panel part¶
To generate a fused wave to accomodate two large tools:
$ python -m draworg wave --crest-height=4 L1,T2,C1,T2,R1 LargeHolder2
Wave_LargeHolder2_W11.5: 100%|█████████████████████████████| 1/1 [00:00<00:00, 2.98it/s]
Custom fused wave¶
To generate a set of 5-cm-height parts with custom clearance values:
$ python -m draworg set 5 \
--box-clearance=0.15 \
--dovetail-clearance=0.05 \
--filament-clearance=0.225 \
--groove-clearance=0.1 \
--peg-clearance=0.02
WaveThrough_W8: 100%|███████████████████████████████████| 49/49 [00:16<00:00, 2.89it/s]
These values are midway between ClearanceStandard and ClearanceLoose.