Snap-Fits in 3d! (a bazillion ways not to do it)

A project log for esp8266 Futuristic Hex Wall

A series of 3d printed hexagonal panels outfitted with a number of 24-bit neopixel LEDs provide the backdrop to my invention room.

Josh ColeJosh Cole 02/09/2019 at 18:070 Comments

After printing a few more hexagonal pieces, I quickly learned that joining them with bolts was simply unsustainable. Aside from physical injuries due to pieces snapping when I can't get them positioned just so, I realized that snap-fits are something I haven't tried before. So this seemed like a great opportunity.

If I wrote a story about this, it would be titled "a bazillion ways not to snap-fit". But that's how we learn, right?

I started firstly by reading everything I could on snap-fit joinery. A lot of it seemed unapproachably complex, and also technically difficult to get right. These are a few of the resources I pored over:

A few things which didn't work

My initial test included trying to create a cantilever snap-fit mechanism. Which appears to be a traditionally accepted approach to joining plastics. Unfortunately, this failed miserably for me. In addition to the tolerances being too multi-dimensional for me to iterate over reasonably, I also discovered a very important side effect of the hexagonal shape...

Hexagons need to be able to seamlessly join along multiple faces at once.

In addition to that fact, I also realized that any extrusion along the outer surface of my parts will add further complexity to the final shape. In order to get the insert and receiver faces to mesh correctly, I found it much easier to design joints that connect inside the wall of the part.

All these findings led to the following rules:

Here is an example of one prototype which does not work. It violates pretty much all the rules. Because the wall thickness is not 100% consistent between the insert and the receiver faces, if I were to connect multiples of these together, there would be a triangular space between each edge which looks really unprofessional.

But that could never happen because it also violates the second rule :-) so connecting too many of these together is physically impossible.

I realized that a rail system like this is nice in theory, and the tolerances did get to "snapping together" stage. But the shape of the faces and the inconsistent extrusion needed to make this work led to an unsuitable prototype. I decided to go back to the drawing board...

Something which did work

With all those findings in mind, I decided to look at how people solve this problem on thingiverse - just to understand the general geometry required.

The design which really helped me understand what a solution might look like came from this particular print: (thingiverse) Hex Stackers

How they solved the geometries problem was to enforce a rule:

That simple rule makes thing so much easier. If you follow that pattern, it's fairly easy to join hexagons provided you have some kind of mechanism for doing so.

The conclusion

After many prints tweaking tolerances (in 0.05mm increments...) and a few iterations on the shape of the inserts, I came up with a working piece! The current prototype looks like this:

And so far it is working quite well! I will continue to iterate a few more times and then I think I'll finally be ready to mass-produce the hexagonal tiles.

(Apologies for not recording in the proper wide-screen orientation :P I always forget to do that...)