Skip to content

v0.3.0: Cookbook — examples/ dir with starter designs #4

@digispark-bot

Description

@digispark-bot

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions