This will be our last week of printing tiny furniture; after a few more days we'll have a full set and will post everything to the Thingiverse Customizer so that all the summer movers out there can print-and-plan their new spaces. Today we printed C's room, including a modular IKIEA Linnmon table-desk with corner piece and a small chest of possibly-discontinued IKEA Trofast drawers.
Thingiverse link: http://www.thingiverse.com/make:78721
Settings: Replicator 2 on .3mm/low, with the bureau printed on its back and the desks printed upside-down to enable printing without supports or raft.
Technical notes, OpenSCAD flavor: The desk module builds a simple inverted-C shape and the cornerdesk module is just with the same code with a cylinder removed from one corner.
/////////////////////////////////////////////////////////////
// module for making desks //////////////////////////////////
module desk(depth,length,height){
scale(s)
union(){
// top of desk
translate([0,0,height*.8]) cuboid(depth,length,height*.2,sharp);
// left side
cuboid(depth,length*.15,height,sharp);
// right side
translate([0,length*.85,0]) cuboid(depth,length*.15,height,sharp);
}
}
/////////////////////////////////////////////////////////////
// module for making corner desks ///////////////////////////
module cornerdesk(depth,length,height){
scale(s)
difference(){
// regular desk
union(){
// top of desk
translate([0,0,height*.8]) cuboid(depth,length,height*.2,sharp);
// left side
cuboid(depth,length*.15,height,sharp);
// right side
translate([0,length*.85,0]) cuboid(depth,length*.15,height,sharp);
}
// take out a corner circle
translate([0,0,-1]) cylinder(r=depth/2,h=height+2);
}
}
The bureau module is a modified version of the bookcase module from Day 232, with drawers as shifted two-up shelves that stick out instead of make holes. It's adorable and I wish we had more than one chest of drawers to print!
/////////////////////////////////////////////////////////////
// module for bureaus ///////////////////////////////////////
module bureau(depth,length,height,drawers){
scale(s)
union(){
// body of the bureau
cuboid(length,height,depth,sharp);
// put in some drawers
for (i = [1:1:drawers]){
translate([.075*length,i*(height-.1*height)/drawers-.15*height,0])
cuboid(.4*length,.15*height,depth*1.1,sharp);
translate([.525*length,i*(height-.1*height)/drawers-.15*height,0])
cuboid(.4*length,.15*height,depth*1.1,sharp);
}
}
}