Maker Faire 2025: SpaceframeSCAD: Large-scale light-up sculptures, 3D printed, portable in a ziploc bag

Appearing at the 2025 Bay Area Maker Faire

Love, loss, and shiny silvery spandex

Most of my projects end up having a weird story about love, loss, shiny silvery spandex, and unrequited dreams.

We can start with the very bad and very forgettable 1986 movie SpaceCamp. Made before the Challenger disaster where a SRB failure caused a loss of crew and vehicle, it features a SRB failure that caused some kids in Space Camp and their instructor to get launched into space. I can’t watch it these days because it’s too much cringe, but I love certain bits of it. One bit was the Space Station Daedalus scene where they frantically try to grab an oxygen tank from the in-construction space station except that the camp instructor is too big to fit between the beams so they grab the kid, who spends most of the movie being super-cringe and stick him in a space suit because he’s small enough. They break a wide variety of laws of physics, spacecraft design, operational planning, flight safety, and so on.

Still, because the kid was cringe and I was cringe and when I was a kid I would usually identify with the cringe socially awkward nerd character even though most of them coughWesley Crushercough were written very poorly (no shade on Wil Wheaton, of course — Wil’s great) so I kinda still wanted to be one of the kids trapped on a space shuttle.

The eighties featured a lot of trusses. In buildings, they became one of the trademarks of the late modernist architecture period, representing “cool” and making the prior brutalist or streamlined or art deco or merely modern buildings look dated. In space, they represented a turning point of dreams where the Space Station Freedom then ISS had a truss structure in contrast to prior stations that were mostly made of docked cylinders. In science fiction, starting in the 1980s, trusses became something fun and vaguely futuristic one could throw into the background.

Why a truss?

I wanted to make illuminated sculptures, but I only have so much room to work with. Thus, I asked myself “How would I make something that looks neat but fits into a ziploc bag?” A lot of my inspirations seemed to be mostly air anyways, so this didn’t feel impossible.

Around the same time, I’d been browsing through the NASA Tech Report Server to look at the wealth of papers from the 1980s. I realized that the classic concept art renditions of space stations that were based on trusses like the fictitious space station in Space Camp or the dual-keel proposal for Space Station Freedom was only really scratching the surface of NASA’s ambitions to build giant structures in orbit, all using trusses and with great consideration to the size and weight of the structure.

Unfortunately, the flights that really started to test these truss systems in space happened right before the Challenger accident, after which having astronauts assembling giant satellites stopped sounding practical, thus the research slowed to a trickle and didn’t attract any attention until 10 years ago where everybody looked at how amazingly difficult it was to get JWST deployed and wondered if maybe the solution for the next generation of large space telescopes was robotically assembled trusses.

Finally, I liked the idea of making large things that could be printed on a standard-sized 3D printers.

This helped me form SpaceframeSCAD, a tool to build parametrically defined pieces to build a variety of structures.

The structures

The first structure is generally the “octet” truss from Buckminster Fuller, constructed out of regular octahedra and regular tetrahedra in a 1:2 ratio.

From there, you can remove most of the joints, rotate the structure on the side, curve it slightly and build a hex-wall.

The printers

I’ve got a 300mm x 300mm Voron Trident. However, it turns out that the optimum size for this still fits, albeit barely, on the standard Ender 3/Prusa i3 bed. Let’s just point out that the struts are basically the same shape as the test piece you to check how good the bed adhesion is for the combination of temperatures and materials.

It’s still easier to print on a larger bed so the beams aren’t diagonal across the bed and I can print in bigger batches.

The side quest

Tomatoes are dangerous.

Dangerous?” you ask. “Why are tomatoes dangerous?”

And, as always my reply is “Well, if they weren’t dangerous, why do we put them in cages?”

My best-friend-besides-my-spouse likes to plant things in my patio. Tomatoes are a good thing to grow because they go great in salads so they get used up and store-bought tomatoes are usually sad gene-tampered hybridized not-actually-ripe fake products. And tomatoes, being dangerous, need to be caged.

My desired patio garden aesthetic is less cottagecore and more “Looks like a fancy spaceship arboretum or domed-habitat garden from Star Trek TNG” and so normal tomato cages just aren’t going to do it for me.

Thus, not only is this useful for making illuminated artwork that fits in a ziploc, it’s also part of my garden.

Some design and fabrication notes

  • At Maker Faire 2024, we had some demo bracelets that used Molex MicroFit 3.0 connectors that I’d crimped my self to link them to the power supply. A whole lot of people fiddled with them, forgot that they were wired down and yanked at them, et al and the Molex MicroFit 3.0 connectors survived the experience quite well, therefore I’ve made that the standard for LED wiring for my projects.
  • In spite of having a BS in Math and Computer Science and doing a bunch of computer graphics, there’s this whole world of polytrope geometry that … I had to figure out myself the hard way, although with some square roots of 2 and 3 and arccoses here and there, I’ve been able to bring it under control.
  • I’d used this as a test case for how useful LLM-based code generation is for this kind of situation. Spoiler alert: it’s basically useless. It will generate vaguely plausible syntactically-correct OpenSCAD code. However… counter to all of the AI hype, it’s still just spicy autocomplete, trained on whatever random pages it got fed off of the Internet. I could get it to recreate a very general solution to one problem that looks fairly identical to a solution that I found on the web. There’s really only one way to write the function it spat out, so it might not have been mere plagarism but it’s clearly not able to solve even mildly novel problems. Likewise, Google’s “AI” based searching was also consistently wrong at supplying the required equations.

Posted:

Updated: