尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Parametric lattice-hinge ("living hinge") SVG generator for laser cutting. Output is
millimetre-true — 1 user unit = 1mm with a physical width/height — so it prints
and cuts at real size.
All eight patterns at 50 × 200mm. Click one to download the cut file. The pictures are display renderings — gold is the panel that stays, cream the slits the laser removes — with the stroke thickened and painted onto the panel. A real cut file draws a hairline on nothing at all, which a browser shows almost invisibly against a transparency checkerboard.
Built for LaserMadeMusic, so an instrument cut from flat sheet can have curved surfaces; the cutting and bending are shown there.
The rest of the build files — every instrument, generator and tool, indexed.
The operating guide — every option, the library API, and what each pattern is for.
Repository — the code, if you want to change a pattern or read how it works.
Download everything as a ZIP — the source, the guide, all eight examples and the coupons.
cargo build --release # once; puts the programs in target/release/
target/release/living-hinge --list # patterns and their defaults
target/release/living-hinge -p wave -w 80 -l 300 # 80 × 300mm wave hinge
target/release/living-hinge -p chevron -w 80 -l 300 --margin 10 # with a 10mm margin
target/release/living-hinge --help # every option
Every pattern is committed cut-ready in examples/ at 50 × 200mm, so you can
cut one without running anything. Those are the files the guide's per-pattern figures
describe.
Requires Rust (rustup). No dependencies beyond the standard library. The tools were JavaScript until 2026-11-02; the Rust port redraws every shipped file byte for byte.
| Pattern | Defaults (mm) |
|---|---|
straight | pitch 3, bridge 2 |
dogbone | pitch 3, bridge 3, hole 0.5 |
wave | pitch 3, bridge 2, wavelength 13, amplitude 1, step 0.5 |
chevron | pitch 3, bridge 2, wavelength 13, amplitude 1 |
torsional | pitch 3.5, bridge 2, cap 1 |
honeycomb | side 5, gap 1.2 |
auxetic | cell 6.25, gap 1.5 |
crosshatch | cell 6.25, slit 4.5 |
Slits must reach the panel edges, or the hinge does not flex. That constraint wins
over your other numbers: --side and --cell are fitted to the panel width, so they
are targets rather than guarantees, and the report tells you what they became.
The stock is 3mm Baltic birch plywood, and the defaults are aimed at it. The tuning
numbers are still reasoned rather than tested, though: bridge width decides whether a
hinge flexes or snaps, and the right value depends on your kerf as well as your stock. The
coupons/ directory holds a bridge sweep for exactly that purpose — six otherwise
identical 40 × 120mm coupons varying only --bridge, so you can cut one sheet and
find out.
living-hinge.rs | the command-line program, built as target/release/living-hinge |
src/generator.rs | the geometry library it calls |
src/jsfmt.rs | writes numbers exactly as JavaScript did, so the files stay byte-identical |
src/lib.rs · Cargo.toml · Cargo.lock | the Rust crate around them |
living-hinge-guide.md · .html | operating guide; the markdown is the source |
NOTES.md | how to reach this generator from a later session |
preview.rs | draws previews/ from the cut files: the hairline thickened onto a gold panel |
panel-convention.rs | draws the guide's panel-convention.svg from real generator output |
examples/ | one cut-ready file per pattern, all eight, at 50 × 200mm |
coupons/ | bridge-sweep test coupons and cut instructions |
index.html | this page, generated from README.md; GitHub Pages serves it |
previews/ | display renderings of every pattern — not cut files |
Released under CC0 1.0.