One frame system, many shapes. The flat-facet edge bar, inner mirror seat and through-dowel carry over unchanged in principle; only the hubs and a few proportions change for each polyhedron.
A rhombic dodecahedron has 6 pairs of parallel faces, so opposite mirrors form infinity tunnels along six axes through a compact, almost spherical body.
Mirrors glaze from outside onto an inner seat; one flush push-through dowel per bar caps each edge. Service one face without disturbing the others.
Every part is a watertight single solid; mirror-frame, dowel-cap and LED clearances confirmed by CSG (trimesh + manifold3d) on the placed assembly.
This lamp is a rhombic dodecahedron built as a printed edge-and-hub frame carrying twelve two-way acrylic √2-rhombus mirror faces, lit from inside the edges by an addressable LED strip. It is another object in a deliberately generalised system: the geometry, the flat-facet edge bar, the recessed mirror seat and the flush retaining dowel are all driven from a single shape definition (a list of vertices, edges and faces), so the same tooling produces every member of the family.
What changes for the rhombic dodecahedron is the set of hubs, its vertices come in two valences (four-way and three-way), and a re-proportioning of the bar to suit its 120° dihedral, which is a little steeper than the gentler members of the family. The end joint is a centred peg plus glue: each bar end carries one Ø8 mm peg that plugs and bonds into a bored socket in the solid hub, so there are no screws and no heat-set inserts anywhere in the build.
A rhombic dodecahedron has 14 vertices, 24 edges and 12 identical √2-rhombus faces, a Catalan solid, the dual of the cuboctahedron. Its vertices split into 6 four-way (acute) corners, where four edges meet at the sharp 70.5° tips of the rhombi, and 8 three-way (obtuse) corners at the blunt 109.5° tips. With an edge length of 260 mm the lamp spans about 600 mm point-to-point. It is edge-transitive, one edge type and a single dihedral of 120°, so the entire frame is built from one bar.
| Property | Value |
|---|---|
| Edge length | 260 mm |
| Vertices / edges / faces | 14 / 24 / 12 |
| Vertex valences | 6 four-way (acute) + 8 three-way (obtuse) |
| Dihedral (one type) | 120.00° |
| Face | √2 rhombus (diagonals √2 : 1, corners 70.5° / 109.5°) |
Every edge carries the same flat-facet edge bar: a flat outer rail, two mirror faces sloping beneath it, an inner LED channel, a centred peg at each end and a single dowel tunnel near the outer rail. Each bar is built in a local edge frame, x along the edge, z along the outward bisector of the two adjacent faces, y across, so seat, peg, channel and dowel are all placed automatically from the shape definition.
Because the solid is edge-transitive there is only one bar. At the 120° dihedral the mirror plunges about 0.58 mm for every millimetre across, so the cross-section is a compact 22 mm rail × 16 mm deep. The mirror is recessed a little further than that plunge, so the dowel sits in the remaining gap and is sized to finish flush with the outer facet, no trimming. The profile, seat, peg and LED channel are otherwise identical to every other shape in the family.
Each mirror glazes from the outside and rests on an inner seat machined into both faces of the bar. A single dowel per bar then slides into a tunnel near the outer rail and caps the mirror's edge with ~0.3 mm clearance. Loading from outside means the last face installs exactly like the first, there is no keystone, and pushing a dowel through to flush lets you remove a single mirror for service.
Every rhombus corner points straight at a vertex hub, so the mirror tips are squared off to clear them: about 14 mm at the sharp four-way (acute) corners and 20 mm at the deeper three-way (obtuse) corners. That keeps a near-full rhombus (fit 0.85) filling most of the face while the bar stays a slim 22 mm. Seat depth, dowel slot and peg are all placed automatically from the edge frame and the 120° dihedral.
The 120° faces tilt the dowel tunnel toward the outer rail, so the dowel is a shallow flush cap rather than a deeply captured plug; it is positively retained three ways:
1 · Interference (press) fit. The slot is printed about 0.15 mm narrower than the dowel across its 6 mm width, so friction on its flanks holds it even inverted. Dial this in on the test coupon to a "firm thumb-push to seat, deliberate push to remove." This is the primary retention.
2 · Snap detent (optional). A small bump in the slot wall (or a nick in the dowel) gives a positive snap if your printer runs the slot loose.
3 · Removable glue (optional). A dab tacks it for a permanent install without bonding the mirror.
Servicing is unchanged: push that bar's dowel through the slot until it clears the mirror edge, lift the mirror, then press the dowel back flush. Set the slot clearance to a light interference and confirm it on the coupon before printing all 24.
The vertices come in two valences, so there are two hub types: six four-way hubs at the acute corners and eight three-way hubs at the obtuse corners. Each hub is generated automatically as the convex hull of the bar-ends that meet at its vertex (four or three of them) and is a watertight single body. Each bar end carries a centred Ø8 mm peg that plugs into a bored socket in the solid hub, a friction fit with a dab of glue, so there are no screws or inserts. A centred, mid-depth peg is what makes both valences work from one bar: even where four bar-ends crowd an acute vertex, the pegs sit on the neutral axis and clear one another where inner-face tenons would collide.
A rhombic dodecahedron has six pairs of parallel opposite faces, so each pair of two-way mirrors forms a straight infinity tunnel, six axes through a compact, almost spherical body. With twelve faces packed tightly around a small interior, the reflections cross and re-cross, reading as a dense lattice of receding tunnels rather than a few isolated ones.
An addressable WS2812C strip at 198 LED/m runs in the inner channel along all twenty-four edges, about 6.2 m of strip, ≈ 1236 LEDs. At full white that draws ≈ 371 W (≈ 74 A at 5 V), so the build is organised around power distribution: inject 5 V at 7 hubs through a parallel power-bus ring that taps the strip around the solid, fed from a single 5 V / 88 A supply. Typical animated draw is far lower (~122 W); a firmware brightness cap keeps the supply comfortable. Data runs as a single chain over all twenty-four edges, level-shifted to 5 V.
| Item | Spec |
|---|---|
| LED strip | WS2812C, 198 LED/m, 5 V, IP30 |
| Total length / count | ≈ 6.2 m · ≈ 1236 LEDs |
| Peak / typical power | ≈ 371 W / ≈ 122 W |
| Supply | 5 V, ≥ 88 A; inject at 7 hubs via a power bus |
| Controller | any WLED-capable MCU (ESP32 / ESP8266) |
These two diagrams summarise the wiring on a Schlegel projection, a flat view in which all 24 edges are visible at once.
Power distribution. At ≈ 371 W there is too much current for one feed point. A 5 V + GND bus ring (14, 16 AWG) runs inside the lamp and taps into the strip at 7 hubs spread around the solid, so no run of strip carries much more than its share of the load. One 5 V / 88 A supply feeds the ring; fuse the feed.
Data routing. A single WS2812C signal runs DIN→DOUT through all twenty-four edges (the colour gradient shows the order, 1→24). The strip is cut to one piece per edge and a 3-wire corner jumper (5 V / GND / data) joins each piece to the next. Because the odd-degree (three-way) vertices break a single continuous trail, 3 short data fly-jumpers carry the signal across to continue the chain.
| Part | Qty | Spec / size |
|---|---|---|
| Edge bar | 24 | printed, ~232 × 22 × 16 mm (22 mm rail) |
| Hub 4-way | 6 | printed, ~43 mm |
| Hub 3-way | 8 | printed, ~42 mm |
| Mirror (√2 rhombus) | 12 | 2 mm acrylic, ~338 × 232 mm outline, tips squared 14 / 20 mm |
| Dowel | 24 | printed, 6 mm wide × 8.6 mm flush cap |
| Peg | , | integral to each bar end, Ø8 × 12 mm (glued) |
| LED strip | 1 | WS2812C, ≈ 6.2 m (≈ 1236 px) |
Print the test coupon first (one hub corner, a bar-end stub and a dowel) to dial in the peg, seat and dowel fits before committing to the full set. Bars print flat on the outer facet with the LED channel and dowel tunnel facing up; hubs print with supports, a vertex axis vertical. PLA is fine for a display piece, PETG if it runs warm near the strip. The mirrors are cut from 2 mm two-way acrylic to the template, not printed.
| Setting | Value |
|---|---|
| Material | PLA or PETG |
| Layer height | 0.2 mm |
| Walls / infill | 3 perimeters · 25 % |
| Bars | flat on outer facet, brim recommended |
| Hubs | supports on, a vertex axis vertical |
The four-step build is shown live in the interactive viewer:
1 · Hubs, place the 14 hubs (6 four-way + 8 three-way) as the corners.
2 · Edge bars, bridge each pair of hubs with a bar; press each Ø8 mm peg home with a dab of glue.
3 · Mirrors, drop each √2-rhombus mirror in from outside onto its seat.
4 · Dowels, slide one flush dowel per bar into its tunnel to cap the mirrors. Push through to flush to service a face later.
Orbit, explode and step through the build in your browser.
Open the construction viewer ›