oschrenk/woodwork

★ 0Forks 0SwiftGitHub ↗Compare

README

Woodwork

Parametric models of furniture, built with Cadova.

Each project is its own executable target on top of the shared Woodwork library, which holds the reusable pieces — gear models used for scale and fit-checking, hardware (casters, screws), and the cutlist / screw-list / nesting output helpers.

Projects

Project Command Output Docs
Caddy — rolling shelf cart task build:caddy Build/Caddy/ Docs/Caddy/
Shoerack — tip-out shoe cabinet task build:shoerack Build/Shoerack/ Docs/Shoerack/
Pila — wooden lid for the outdoor washing basin task build:pila Build/Pila/ Docs/Pila/
Couch — scaffold only, no design yet task build:couch Build/Couch/ Docs/Couch/

Run tasks from the repo root; the generators write to paths relative to the working directory.

Open the generated .3mf in CadovaViewer for live reload.

Layout

Sources/
  Woodwork/     shared library — Gear/, Hardware/, Output/
  Caddy/        the caddy — Structure/, Nesting.swift, main.swift
Assets/
  models/       shared third-party STLs (encrypted, see DEVELOPMENT.md)
  inspiration/<Project>/  reference images, not used by the build
Docs/<Project>/ hand-written build docs + generated cutlist
Build/<Project>/ generated models (gitignored)

Caddy

A plywood rolling shelf cart. See

  • Docs/Caddy/Assembly.md for the build
  • Docs/Caddy/Cutlist.md for the plywood-piece dimensions (generated by task caddy)
  • Docs/Caddy/Paint.md for painting instructions
  • Docs/Caddy/Shopping.md for what to buy
  • Docs/Caddy/Tools.md for the tools you need

Development

See DEVELOPMENT.md for building, the encrypted assets, and adding a new project.

Contributors

oschrenk

Issues