Welcome to MakerHome

We've completed our yearlong print-a-day project! New projects will be posted at www.mathgrrl.com/hacktastic.

All mathgrrl designs and associated images and files on MakerHome are licensed under the Creative Commons Attribution Non-Commercial Share Alike license. If you want to use designs, images, or files outside of the terms of this license, please email request@mathgrrl.com.

Tuesday, April 15, 2014

Day 232 - Bookcasemaker

Continuing our moving series, today we made an OpenSCAD module for making the most important type of furniture at all: bookcases! Here we have some Bondes (now discontinued, sadly) and Hemnes from IKEA, as well as a low TV stand:



Thingiverse: http://www.thingiverse.com/make:77833

Settings: MakerWare .3mm/low on a Replicator 2 with the bookcases on their backs so that support is not required.

Technical notes, OpenSCAD flavor: Again we continue from the previous day's code. The interesting thing today is that we added a parameter for number of shelves and used a for() loop to put them in. The tricky part was handling the translation correctly while putting in those shelves.

/////////////////////////////////////////////////////////////
// module for making bookcases //////////////////////////////

module bookcase(depth,length,height,shelves){
difference(){
// body of the bookcase
hull(){
translate(s*[0,0,0]) sphere(tiny);
translate(s*[length,0,0]) sphere(tiny);
translate(s*[length,height,0]) sphere(tiny);
translate(s*[0,height,0]) sphere(tiny);
translate(s*[0,0,depth]) sphere(tiny);
translate(s*[length,0,depth]) sphere(tiny);
translate(s*[length,height,depth]) sphere(tiny);
translate(s*[0,height,depth]) sphere(tiny);
}
// minus an inside
translate(s*[.1*length,.1*length,-depth/2])
cube(s*[.8*length,height-.2*length,2*depth]);
}
// put in some shelves
for (i = [1:1:shelves-1]){
translate(s*[0,i*(height-.1*length)/shelves,0]) 
cube(s*[length,.1*length,depth]);
}
}

No comments:

Post a Comment