Wednesday, May 7, 2014

Day 254 - Arcade machine and light tree

We are going to leave a lot of furniture behind in the upcoming downsizing move, but there are two pieces we absolutely cannot live without: our full-size Galaga/Ms.PacMan arcade cabinet and our light-up Vegas tree (which we got after lusting after similar trees at the Golden Nugget). Here's the 1:50 scale mockup of where they will live in the new apartment:


In real life they currently look like this:


Sadly, notice the absence of the piano in the apartment mockup. The role of piano will instead be played by a small, silent desk. We've also sold our drum set. Too loud, takes up too much space.  :(

Thingiverse link: COMING SOON

Settings: Replicator 2 on .3mm/low, as usual.

Technical notes, OpenSCAD flavor: Again starting from the parameters and cuboid module from Day 248, the arcade machine is just a cuboid with part of a cylinder taken out of it. We're not really going for realism here, just rough abstract representations. It's interesting to see how simple you can make an object and have it still be recognizable.

/////////////////////////////////////////////////////////////
// module for arcade machine ////////////////////////////////

module arcade(depth,length,height){
scale(s)
difference(){
// overall size of the machine
cuboid(depth,length,height,sharp);
// cutout for screen and controls
translate([depth*.9,length*.9,height*.7]) 
rotate(90,[1,0,0]) 
cylinder(r=height*.25,h=length*.8);
}
}

The light tree is a total hack. We thought about using the new Customizable Tree on Thingiverse, but we didn't need that much customization and complexity and we wanted to keep all our designs in one simple OpenSCAD document, so we just stuck some angled cylinders to a post to make an abstract tree shape.

/////////////////////////////////////////////////////////////
// module for trees /////////////////////////////////////////

module tree(radius,height){
scale(s)
union(){
// branches
translate([0,0,height*.5]) 
rotate(40,[1,0,0]) 
cylinder(r=radius*.2,h=height*.5);
translate([0,0,height*.5]) 
rotate(200,[0,0,1]) rotate(40,[1,0,0]) 
cylinder(r=radius*.2,h=height*.5);
translate([0,0,height*.4]) 
rotate(80,[0,0,1]) rotate(50,[1,0,0]) 
cylinder(r=radius*.2,h=height*.3);
translate([0,0,height*.6]) 
rotate(140,[0,0,1]) rotate(405,[1,0,0]) 
cylinder(r=radius*.2,h=height*.3);
translate([0,0,height*.45]) 
rotate(260,[0,0,1]) rotate(50,[1,0,0]) 
cylinder(r=radius*.2,h=height*.3);
translate([0,0,height*.8]) 
rotate(100,[0,0,1]) rotate(30,[1,0,0]) 
cylinder(r=radius*.2,h=height*.2);
translate([0,0,height*.7]) 
rotate(280,[0,0,1]) rotate(30,[1,0,0]) 
cylinder(r=radius*.2,h=height*.3);
// leg
cylinder(r=radius*.2,h=height*.8);
// base
cylinder(r=radius*.8,h=height*.1);
}
}