Nastassia Barber

23 Jan 2014

A customizable #openSCAD vase that reflects your body proportions

{ On Thingiverse here.  }

With this project, I chose the qualifications beautiful and interesting and really focused on the idea of making the customization of the object a meaningful experience.  I chose body proportions because they’re intimate facts about a person (which people may or may not be sensitive about) but they are still somewhat recognizable to someone who knows the person well.  Applying these proportions to a vase seemed ideal because it’s a decorative object, and it also may not ‘read’ as a humanoid shape to everyone who sees it out of context.  This allows the person who customizes the vase to see their body in sort of an abstract context, which I thought was interesting.

sketch

mevase3

 

I actually found working with openSCAD limiting because of my background in regular CAD software.  I didn’t understand how fillets/chamfers/etc were not built-in functions (I really wanted to smooth some of the edges, but the methods I could find were super complicated), and I realized how accustomed I’d become to the normal CAD interface (which I definitely used to make little sculptural things when I was bored at work).  This is definitely just a personal problem, though, and it does take multiple orders of magnitude less time to learn than Pro/Engineer.

The above vase is mine, and here are a couple of my friends next to their vases.

alltogethernow

chest=34; //enter your chest diameter
waist=25; //ender your smallest waist diameter
hips=35; //enter your widest hip diameter
height=64; //enter your height in inches
torso_height=height/2.2;
chest_height=torso_height/3;

union()
{
hull()
{
cylinder(2,7,7);
translate([0,0,2])cylinder(5,5,5);
}
translate([0,0,7])cylinder(10,5,chest/2);
translate([0,0,17]) cylinder(chest_height,chest/2,chest/2-3);
translate([0,0,chest_height+17]) cylinder(chest_height,chest/2-3, waist/2);
translate([0,0,chest_height*2+17]) cylinder(chest_height, waist/2, hips/2);
translate([0,0,chest_height*3+17]) cylinder(torso_height*1.4, hips/2, 8);
translate([0,0,torso_height*2.4+17]) cylinder(2,10,10);
}