## Welcome to MakerHome

We've completed our yearlong print-a-day project!
All new material is now at Hacktastic: www.mathgrrl.com

## Monday, December 16, 2013

### Day 112 - Tetris T's

I like the rounded and nicely-spaced design of 3DAndy's Pentominos on Thingiverse, but wanted to print some tetrominos instead, for math/puzzles (for example, polyomino packing problems) and for future Tetris-related art projects.  Since 3DAndy was nice enough to post his OpenSCAD code, it was easy to modify his pentomino-T into a tetromino-T.

STL file: http://www.geekhaus.com/makerhome/day112_tetrisT.stl

Settings: MakerWare .3mm/low, with 8 T's printing in 45 minutes and weighing only 16 grams. Tetris pieces is a great "stash-busting project" for those of you with lots of little scraps of filament that are too small for any normal print job.

// mathgrrl tetrominos - example with Tetris "T"
// based directly on 3DAndy's pentominos

////////////////////////////////////////////////////////////
// PARAMETERS ////////////////////////////////////////////////////////////

//resolution
\$fn=32;

//dimensions
length = 10;
space = 0.2;

///////////////////////////////////////////////////////////////
// RENDERS ///////////////////////////////////////////////////////////////

//render an instance of the Tetris "T"
tetromino_T();

///////////////////////////////////////////////////////////////
// MODULES ///////////////////////////////////////////////////////////////

//define the blocks and connectors that make the Tetris "T"
module tetromino_T() {
union() {
// the blocks
translate([0,0,0])
myCube();
translate([length,0,0])
myCube();
translate([2*length,0,0])
myCube();
translate([length,length,0])
myCube();
// the connectors
translate([(0.5)*length,0,0])
myConnect();
translate([(1.5)*length,0,0])
myConnect();
translate([length,(0.5)*length,0])
myConnect();
}
}

//module for making the blocks
//eight spheres translated to the corners of the desired cube
//then convex hull of those spheres makes a rounded cube
module myCube() {
hull() {
translate([dist,dist,dist])
translate([-dist,dist,dist])
translate([dist,-dist,dist])
translate([-dist,-dist,dist])
translate([dist,dist,-dist])
translate([-dist,dist,-dist])
translate([dist,-dist,-dist])