Geometric Enlightenment

Rhombic Dodecahedron

260mmEdge
120°Dihedral
24Edges
14Vertices
12Faces
Rev P1 · CSG-verified · trimesh + manifold3d

Concept

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.

Optics

A rhombic dodecahedron has 6 pairs of parallel faces, so opposite mirrors form infinity tunnels along six axes through a compact, almost spherical body.

Retention

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.

Verification

Every part is a watertight single solid; mirror-frame, dowel-cap and LED clearances confirmed by CSG (trimesh + manifold3d) on the placed assembly.

Contents

1 · Overview

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.

2 · Geometry

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.

PropertyValue
Edge length260 mm
Vertices / edges / faces14 / 24 / 12
Vertex valences6 four-way (acute) + 8 three-way (obtuse)
Dihedral (one type)120.00°
Face√2 rhombus (diagonals √2 : 1, corners 70.5° / 109.5°)

3 · The edge bar

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.

4 · Mirror seat & dowel

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.

Edge-bar cross-section at the 120 degree dihedral
Bar cross-section at the 120° dihedral, mirror recessed on the inner seat, dowel sized flush by design. The dowel caps the glass edge with ~0.3 mm clearance; the inner LED channel (not shown) stays clear.
Verified. At the production mirror size (fit 0.85) glass-into-frame interference is ≈ 0 (contact only on the seat), the dowel caps the glass within the intended clearance, and the LED channel is clear, all confirmed by CSG on the placed assembly.

Keeping the dowel in

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.

5 · Hubs & the peg joint

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.

6 · Optics

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.

7 · Electronics

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.

ItemSpec
LED stripWS2812C, 198 LED/m, 5 V, IP30
Total length / count≈ 6.2 m · ≈ 1236 LEDs
Peak / typical power≈ 371 W / ≈ 122 W
Supply5 V, ≥ 88 A; inject at 7 hubs via a power bus
Controllerany WLED-capable MCU (ESP32 / ESP8266)

Wiring detail

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.

Power distribution diagram (Schlegel projection)
Power distribution, 7 injection hubs (ringed) fed from a 5 V + GND bus ring.

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.

Data routing diagram (Schlegel projection)
Data routing, one chain over all 24 edges; 3 fly-jumpers (magenta) bridge the odd vertices.

8 · Bill of materials

PartQtySpec / size
Edge bar24printed, ~232 × 22 × 16 mm (22 mm rail)
Hub 4-way6printed, ~43 mm
Hub 3-way8printed, ~42 mm
Mirror (√2 rhombus)122 mm acrylic, ~338 × 232 mm outline, tips squared 14 / 20 mm
Dowel24printed, 6 mm wide × 8.6 mm flush cap
Peg, integral to each bar end, Ø8 × 12 mm (glued)
LED strip1WS2812C, ≈ 6.2 m (≈ 1236 px)

9 · Printing

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.

SettingValue
MaterialPLA or PETG
Layer height0.2 mm
Walls / infill3 perimeters · 25 %
Barsflat on outer facet, brim recommended
Hubssupports on, a vertex axis vertical

10 · Assembly

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.

Interactive 3-D assembly

Orbit, explode and step through the build in your browser.

Open the construction viewer ›