Goal
"Start me from the bracket template" beats "describe a bracket from scratch." Provide ~5-10 working build123d examples that demonstrate partsmith's common use cases.
Concrete deliverable
examples/ directory in the partsmith repo with one .py file per pattern. Each file is a self-contained, runnable build123d script with comments explaining each section. Suggested seed (revisit after real-print iteration):
examples/
README.md — overview + how to use these
01_basic_box.py — Hello-world; just a box with rounded edges
02_mounting_bracket.py — Right-angle bracket with screw holes
03_pegboard_mount.py — Generic mount with adjustable pegboard hole pattern
04_enclosure_box.py — Parametric box with lid + standoffs
05_hinge.py — Print-in-place hinge with clearance
06_threaded_insert_hole.py — Heat-set insert sizing for M3
07_snap_fit.py — Cantilever snap with parametric deflection
08_french_cleat_mount.py — French-cleat-style wall mount (matches the Woodpeckers wall mount pattern)
09_woodpeckers_wall_mount.py — The actual Woodpeckers mount from the first real workload
10_text_label.py — Embossed text on a face
Format conventions
- Each file has a
result = ... final assignment so it runs as-is via partsmith_create_model
- Top of file: 5-line docstring explaining what it makes and when to use it
- Inline comments on every meaningful step
- Parametric: dimensions at top as named constants so users can tweak
Out of scope
Why this matters
The blank-page problem is real. Even with good helpers (#1), starting from result = Box(...) and a vague mental model is slower than starting from a working bracket and tweaking 3 parameters.
Tracked in ROADMAP.md under Theme 1.
Goal
"Start me from the bracket template" beats "describe a bracket from scratch." Provide ~5-10 working build123d examples that demonstrate partsmith's common use cases.
Concrete deliverable
examples/directory in the partsmith repo with one.pyfile per pattern. Each file is a self-contained, runnable build123d script with comments explaining each section. Suggested seed (revisit after real-print iteration):Format conventions
result = ...final assignment so it runs as-is viapartsmith_create_modelOut of scope
partsmith_load_example) — defer until v0.3.0: Persistent design store (save/load build123d source) #2-v0.3.0: Versioned designs with diff support #3 design persistence ships; for now copy/pasteWhy this matters
The blank-page problem is real. Even with good helpers (#1), starting from
result = Box(...)and a vague mental model is slower than starting from a working bracket and tweaking 3 parameters.Tracked in ROADMAP.md under Theme 1.