LaserMadeMusic
Musical instruments cut from 3mm Baltic birch plywood on a laser, and the cut files to build them. Everything here is millimetre-true at 1 user unit = 1mm, so a file prints and cuts at real size, and every part is a flat plate joined to other flat plates.
The cutting and the playing are on LaserMadeMusic.
That is the ribbon bore — a metre of 10 × 10mm bore, constant along a planar curve, cut flat and finger-jointed. Drag it. (The frame is bore-viewer.html; GitHub strips iframes, so on this README it is a link rather than a picture.)
More bores you can turn
Every bore in the project has one of these. They are the same viewer in two families: a lattice of blocks for the walks, and a swept tube for the planar curve above.
the coiled trumpet — 59 blocks, 8 sections, 944mm of centreline at 10 × 10mm, with no elbows.
the switchback trumpet — 22 blocks, 6 sections, 352mm of centreline at 10 × 10mm, folding back on itself twice.
the ribbon bore again — the same metre wound flat, two and a bit turns in a 220 × 223mm disc, with a lead at each end and the openings 180° apart. Every facet is its own constant-radius arc, which is what lets a curve this tight be offset correctly.
the double spiral — the longest of them at 1506mm, 42 facets of 30°. Two arms half a turn apart, their vertices sampled every facet off a smooth Archimedean spiral, r = R0 + b·θ from R62 and rising 46mm a turn, joined at the centre by an arc off R30 and a straight. Winding in and back out is what gets both ends to the rim: a coil that only winds in has to stop somewhere, and that somewhere is enclosed. 86 parts on two sheets, the cheek plate 237 × 244mm.
the double volute — 1180mm, the same skeleton on a different curve. Where the double spiral samples one smooth spiral, this is a chain of semicircles: the radius holds all the way across each arc and steps only at the joins, about two alternating centres whose midpoint is the eye. That is what separates the two, and neither can be turned into the other — one spiral about one centre, against circular arcs about two. Interleaving the return arm puts the openings 180.00° apart for nothing, because the two ends are one end and its own half-turn.
the opposed-ends bore — the same metre laid out long: three half-circles of R64 joined by straights, then a quarter turn to bring the ends opposed. 28 facets of 30°, 58 parts, and its cheek sheet is 572 × 251mm, which is most of the bed.
the wave — 836mm at 45° facets, a trough of R55 and a crest of R55, level at both ends. Nothing nests here: the straight riser between the lobes is structural, because where the curvature reverses at a single vertex the two offset walls cross.
the stretched lattice — one walk truncated four ways: 274, 548, 822 and 1096mm, an exact 1 : 2 : 3 : 4. A block that runs straight is 30mm long and a block that turns is a 16mm cube, which is where the extra length comes from.
The longest of the four is the three-turn trumpet, and it is the one instrument here that exists as an object rather than a drawing: 1096mm of bore in twelve sections, a mouthpiece at one end and a 153mm bell at the other. It plays — one of its notes is F4, 349.2 Hz, measured.
the coil search worked through seventeen of them. Seven were promoted for winning a category outright or tying for one, each carrying the numbers that say how hard it coils and what it costs to build; the other ten are still in coil/search.
And the parts on the ends of them
A bore is only the tube. Both of these are stacks of laminated 3mm rings, and both turn the same way — the slider stacks them a ring at a time, which is the useful part.
The bell — 17 rings of 9mm, 153mm tall, a 10mm square throat opening to a ø86mm round rim. The section morphs square to round on the way up while holding area.
The mouthpiece — 30 rings of 3mm, 90mm tall, a 16mm square plate at the instrument and a ø23mm rim at the lip — ø17 where the lip actually sits — narrowing to a ø3.66mm throat before the backbore. Full size on a quarter-size instrument, which is the point of it.
the bell and the mouthpiece has the generators that draw them, and both sheets listed with their sections and isometrics. Every bore is on the same 10mm channel, so one of each serves all of them.
The instruments
| the three-turn trumpet | The one that was built: 1096mm of 10 × 10mm bore coiling three whole turns, with the bell and the mouthpiece on it, and it plays |
| the coiled trumpet | A trumpet bore in 10 × 10mm square section that coils flat and drops twice, built with no elbows |
| the switchback trumpet | A trumpet bore that folds back on itself twice, in six sections, at 10mm |
| the greek spiral | A trumpet bore drawn as a flat meander — the Greek key, wound in and brought back out beside itself, in one piece |
| the bell and the mouthpiece | The bell and the mouthpiece, shared by every trumpet built on that channel |
| kalimba | A seven-sided kalimba body whose front carries a seven-fold knot rosette |
| slapstick | Two long slats joined at one end; swing it and the free ends clap |
| bullroarer | Five blade profiles for a bullroarer, whirled on a cord |
| buzz-disc | Two designs for a buzz disc, threaded on a cord loop that winds and unwinds |
The generators
Parts too fiddly to draw by hand, made by a script instead.
| the bore generator | Turns a bore written as a walk through a lattice of blocks into checked cut files |
| the design library | Every bore worked out so far, built into cut files — the corpus the generator regresses against |
| the ribbon bore | Constant cross-section along any planar curve, with the walls faceted between two flat cheeks |
| the stretched lattice | Bores whose straight blocks run longer than their turns, so one walk gives 548mm where it gave 352 |
| spirals | Coiling bore walks that turn about an axis while advancing along it, with what each costs to build |
| knotwork-soundholes | Knotwork rosettes for an instrument sound hole, by leads and bights |
| living-hinge | Parametric lattice-hinge patterns, so a flat sheet will bend |
The tools
| lasermade-tools | Shared checkers: what a writeup claims about itself, and what a cut file claims about its colours |
Colour is the cut order
Shared by every repository here: blue engraves, then green → orange → cyan → black, with black always the cut that frees the part, and violet #8000ff meaning skip. A file uses only the stages it needs.
The one deliberate exception is test-ladder.py, where colour carries cut speed rather than order — because splitting an import into layers by colour is the only place a laser importer will let a separate speed live.
This page is README.md rendered by md2html.py into index.html and committed, not built on the server, so it goes stale silently unless it is regenerated after every edit.
Released under CC0 1.0.