Thursday, August 14, 2014

Today we modified Day 344's Cube net design to make a Tetrahedron net:

Here it is mostly folded up. This net is so small that it only folds well in one direction; in the other direction the edges of the faces keep the hinges from swinging open enough for the model to close all the way. The cube net, and all other larger nets, fold well both ways.

Settings: We optimized this design for printing on a Replicator 2 with .3mm layer height and no raft, no supports. If your printer is different then you may need different clearances in your model. You can use the Thingiverse link to open the model in Customizer and set your own side length, border width, hinge clearance, and snap tolerance.

Technical notes, platform/raft edition: These hinge/snap net models print best without a raft. You can print them with a raft, but it will take 50% as long and then another 25% longer for you to peel off the raft bits. (Note that although you can print these with rafts if for some reason you want/have to, you cannot print these models with supports or the hinges will not work correctly.) If you're printing on an acrylic build plate with PLA, like the standard plate that comes with the MakerBot Replicator 2, then you have an excellent build surface for printing without a raft. If you're printing with a glass platform on the Replicator, or with some other printers, then you may not be able to print without a raft. For me at least, PLA never sticks to the glass, and I need glass+tape+raft to make prints work on the glass build plate (see Day 214). In any case, make sure your build platform is very level before you try printing a large hinge/net model, or the outer pieces will be deformed and hinges and snaps may fail.

Technical notes, OpenSCAD edition: Using the same hinge, snap, poly_maker, and attach modules as on Day 344, we assembled the tetrahedron as follows:

// center triangleunion(){poly_maker(sides=3);attach(type=2,side=1,sides=3);attach(type=2,side=2,sides=3);attach(type=1,side=3,sides=3);}// next triangletranslate([(length/tan(180/3)+jump)*cos(180/3),(length/tan(180/3)+jump)*sin(180/3),0]) rotate(180/3,[0,0,1])union(){poly_maker(sides=3);attach(type=2,side=2,sides=3);attach(type=1,side=3,sides=3);}// next next triangletranslate([0,2*(length/tan(180/3)+jump)*sin(180/3),0]) rotate(2*180/3,[0,0,1])union(){poly_maker(sides=3);attach(type=1,side=2,sides=3);attach(type=2,side=3,sides=3);}// next next next triangletranslate([(length/tan(180/3)+jump)*cos(180/3),3*(length/tan(180/3)+jump)*sin(180/3),0]) rotate(3*180/3,[0,0,1])union(){poly_maker(sides=3);attach(type=2,side=1,sides=3);attach(type=2,side=2,sides=3);}