I made a shallot-shaped lamp.
I was inspired by a lamp that hangs outside of my favorite ramen joint. I had originally intended to make something much closer to the original, but I wasn’t able to get a satisfying design. So I decided to go with something with more curves.
To design the lamp, I wrote a crappy Python program filled with magic numbers. It generated two files: a POV-Ray scene description, and a SVG for the laser cutter. This let me rapidly iterate on the design. Here’s a video render of an earlier version (I didn’t bother to make a video of the final version):
I hadn’t touched POV-Ray for like fifteen years, but it came back to me pretty quickly. It was pretty much exactly what I needed for a quick visualization of 3d parts. As an aside, my usual approach for both POV-Ray and SVG is to just use print statements. Yeah, there’s no guarantee that you’ll be generating correct output, but if you make a mistake, it’s usually visible and easy to fix.
I initially planned to have the lamp be made entirely out of laser-cut wood, with a standard press-fit tab/slot arrangement. I prototyped this at NYC Resistor, and discovered that fitting 25 slots into a ~60 mm ring was not going to work well. The wood was just too fragile.
So I bought some stainless steel rings, cut them open, and and cut circular holes in the ribs. The holes are sized (after some more prototyping) so that they fit quite snugly onto the rings, which made assembly kind of a pain. I think next time I would cut the holes looser and use rubber o-rings to constrain the positioning of the ribs. It’s not expensive to get Viton o-rings in an appropriate size (Viton was the material used for Challenger’s infamous o-rings, but hopefully nobody will be launching my lamp into space).
I did the final laser cut at Ponoko, because I didn’t want to try to track down an appropriately sized/shaped piece of wood for Resistor’s laser. One kind of stupid thing is that fitting the lamp ribs onto Ponoko’s largest (P3) sheet was a manual process. Each rib is individually shaped, so they don’t nest cleanly. I guess I probably could have coded some solution which nudged the pieces around until they fit, but it was quicker to do it manually.
I’m pretty happy with the end result. The photo at the top of this post was taken immediately after turning the lamp off; because it has an incandescent bulb, you can still see a bit of the glow.