Programming Organic Shapes in Beetle Blocks for 3D Printing

Eric Rosenbaum's Beetle Blocks is a programming environment built on SNAP. It uses a familiar block programming metaphor to produce STL files for 3D printing in an unconventional manner for those of us used to using CAD programs to design 3D models.

The included examples include a few different shell shapes that demonstrate how to make the beetle extrude and move in interesting patterns. I decided to head to the beach with my son to collect some shells. I would try to program their general shapes and see what kinds of models I could create for 3D printing.

While my son collected quartz I went looking for shells from the common slipper shell, a sea snail. There is a beach further down the coast where there are hip-tall piles of these shells.

When they are alive, the sea snails cluster in clumps around a stone or a buoyant object: I once found many clinging to an old golf ball!

I brought home a sample of the shells. I started by examining one of the Beetle Blocks projects that generates a shell. I figured out what the combination of blocks did, then remixed the project to approximate the shape of the slipper shell. One simply exports an STL directly from Beetle Blocks.

I tried and failed to get MeshMixer on Ubuntu 14.04 to slice a plane from the bottom of the model to flatten the base: Meshmixer will not save. I used Tinkercad instead.

I sliced the model in ReplicatorG and specified 0% infill. Still, the model had some strange complexities to it because I was rotating on the x and y planes (I lost that work and had to recreate it for the screenshot above but could not remember how I did the x rotation in the model I originally generated).

I printed the model on my Thing-O-Matic. Originally I scaled the model too small and the filament retraction eventually worked the filament loose in the extruder.

Scaling the model up resulted in a strange, complex, but very organic looking 3D print.

As I continue to program in Beetle Blocks I am beginning to understand how to control the extrusion and movement on the x y z axis creates interesting designs

My second design sought to mimic a snail shell. 

This model required support in order to print. 

Additionally, the model, as programmed, is pretty "messy." The printer is well-tuned, but the model appears to be stringy. Inside, the toolhead path is insanely overly complex, probably because of the beetle's path to create the model and the way the path is rendered into an STL. However, the roughness of the model, in my mind, contributes to the shell's design as it makes it look weathered like it washed up on a beach.

The model took a little over five hours to print.

After removing the support the model beautifully mimicked an invented shell shape. I was even able to remove the support material from inside the model.

You can see the complexity of the toolhead path in the exterior of the print.

I look forward to the opportunity to talk with Eric about Beetle Blocks and to better understand this unique programming environment.