A full video sphere is sixty-three printed parts: twelve screen modules at four parts each (case base, lid, stem port, BOOT plunger), plus the hub, twelve screen stems, the long mounting stem, and the pedestal. All of it came off a Bambu Lab X1C in standard PLA, and none of it failed: zero scrapped prints across the build. The reprints that did happen were fit corrections, where a part printed perfectly and fit imperfectly. That’s a different thing, and it’s most of what follows.
The orientation is in the geometry
None of these parts relies on the slicer to be printable, and that’s the property I’d defend hardest. Where a part has an orientation story, that story is designed into the geometry and written down in the source.
The clearest example is the pedestal, along with the stem port, which is the same curve at two scales (150 mm foot and 25 mm foot). Both are a rotate_extrude of a quarter-ellipse chosen so the tangent is horizontal at the foot’s edge and vertical at the socket neck:
// Flat-bottomed pedestal that elegantly tapers to the long-stem socket.
// The taper is a quarter-ellipse with horizontal tangent at the foot
// edge and vertical tangent at the socket neck — every layer above the
// foot is contained by the layer below, so it prints without supports.
Nobody removed supports in the slicer; the curve comes from the family of curves that never needs them.
The same thinking shows up smaller elsewhere:
- The stem port prints foot-down; its only geometry is that same self-supporting taper.
- The BOOT plunger prints stem-down. Its one overhang is the underside of the retention flange, a 1.25 mm step ((6.5 − 4.0) / 2) that bridges without complaint, and the source says so.
- The long stem is a 230 mm cylinder printed vertically, sized to fit a 256³ mm bed with margin. That’s a print constraint expressed as a design constraint.
- The stems carry 0.6 mm chamfers at their press-fit ends, so insertion starts clean instead of shaving the hole; the long stem is chamfered on both ends because both ends press-fit.
- The hub renders at
$fn = 128, with a comment inviting you to raise it for a smoother print.
Clearance is a named parameter
Every fit in the project goes through a variable with a name and a comment, and the comments admit what they are: printer-dependent guesses that get corrected by printing.
| Parameter | Value | What it tunes |
|---|---|---|
stem_clearance | 0.3 mm | Friction fit of stems into hub, port, and pedestal |
ridgeSlack | 0.35 (was 0.2) | How hard the case lid snaps onto the base |
standoffHoleSlack | 0.5 (was 0.2) | M3 self-tap pin fit in the PCB mount holes |
| Port pocket slack | 0.2 mm radial | Stem-port foot in its registration pocket |
The two “was” entries are the interesting ones. Both started at 0.2 mm and both were re-tuned upward after physical parts came off the printer: one-line diffs in the git history, one commit literally titled “slack.” That loop (print, measure, change one number, reprint) is the actual workflow, and having every fit be a single named parameter is what makes the loop fast. The full change-by-change story is in The Hardware Revisions.
Ship the slicer file too
The repo commits .3mf slicer projects (Bambu/Prusa format) alongside the exported STLs for the pedestal and the enclosure. An STL records the shape; the .3mf records everything else that made the print work. Given how much of this post is about tuned numbers, committing the slicer state is just extending version control one layer closer to the physical object. Superseded geometry moves to an archive/ directory rather than being deleted; the v1 shells are still there next to the case that replaced them.
White, then black
The bring-up parts were printed in white (the hub, stems, and pedestal in the early prototype photos are all white plastic) and the production modules went black. The color call was about attention: on the finished sculpture the screens should be the only bright thing, and black cases recede where white ones pull the eye. You can read the layer lines plainly in the toggle-switch macro; nothing here is trying to hide that it’s printed.
Orientation is a design decision
Decide the print orientation when you draw the part, not when you slice it, and put every fit behind a named parameter so the fix lands in version control where the next part inherits it. Every part here printed in its happiest orientation, and standard PLA on an X1C did the rest, sixty-three times in a row.
Part 3 of the video-sphere series. Previous: The Screen Enclosure · Next: The Hardware Revisions.