MakerHome

One 3D print every day for a year

Day 253

Dining chairs and kitchen stool

Continuing our 1:50 scale miniature furniture collection, today we added dining room chairs and four-legged stools. The picture below shows what the dining area will look like in our new apartment.

Thingiverse link: COMING SOON with full customizable set when we’re done.

Settings: Printed on a MakerBot Replicator 2 with .3mm/low resolution, no raft and no support.

Technical notes, OpenSCAD flavor: The code for these models starts with the parameters and cubiod module from Day 248, with the following code for the simple module that builds the chairs. In this design I assume that the seat is always just under halfway the full height of the chair. The model outputs upright chairs, so before printing you should lie them on their sides to eliminate the need for supports.

/////////////////////////////////////////////////////////////
// module for chairs ////////////////////////////////////////

module chair(depth,length,height){
 scale(s)
 union(){
  // top of chair
  translate([0,0,height*.4])
        cuboid(depth,length,height*.1,sharp);
  // back
  cuboid(depth*.15,length,height,sharp);
  // front
  translate([depth*.85,0,0])
        cuboid(depth*.15,length,height*.5,sharp);
 }
}

The module for the stools makes a round top and four cylindrical legs. The legs have to be much wider than they would be in real life or else the models are too fragile at 1:50 scale. It looks natural enough when it is printed, however.

/////////////////////////////////////////////////////////////
// module for stools ////////////////////////////////////////

module stool(radius,height){
 scale(s)
 union(){
  // top
  cylinder(r=radius,h=height*.1);
  // legs
  rotate(0,[0,0,1])
   translate([radius*.6,0,0])
    cylinder(r=radius*.3,h=height);
  rotate(90, [0,0,1])
   translate([radius*.6,0,0])
    cylinder(r=radius*.3,h=height);
  rotate(180, [0,0,1])
   translate([radius*.6,0,0])
    cylinder(r=radius*.3,h=height);
  rotate(270, [0,0,1])
   translate([radius*.6,0,0])
    cylinder(r=radius*.3,h=height);
 }
}