For our OpenScad Project we have decided to make a jewelry tree but add a ring bowl to the top of it to make a little different then most. We plan to have a sturdy base to support the tree and create branches of different sizes to hold necklaces, bracelets, and dangle earrings. As for the bowl it will go directly on top of the tree and be used to hold rings and stud earrings.

Here is our original design…We had difficulty creating a hole for the bowl, we had the sphere but we couldnt get another sphere to make a hole for the bowl…

We then added this code….

 difference () {

           translate([0,0,-17]){

               cube([8,8,50],true);

           }translate ([0,0,8]){

              sphere (r = 8.75);

           }

       }

   }

       $fn=64;

       

    difference () {

        translate([0,0,6]) {

               sphere(r = 10, $fn= 400);

        }translate ([0,0,10]){

               sphere (r = 8.75);

           }

and it provided us with a deep bowl on top of our tree, enough space for your hand to reach in…

We angled the branches of the tree upward so that hopefully there will be less support. We also added a base to the bottom of the tree so that it can stand properly on its own, especially once it has jewelry added to it. Below is a picture of what our current design looks like on openscad…

 

 

This was our first print…

We printed in without support and it printed perfectly the first time…

For our second print we went a little bit bigger in size to make sure the no support still worked. Here is a picture of our next print next to the first one…

We finally printed our jewelry tree in full size (also added a larger base) and are very happy with the outcome…it holds jewelry perfectly!

 

Here is the code for this design…

translation = -5;translation = -5; //shortcut to translate

for (i = [0:6]) { rotate([0,-20,60 * i]) {    union() {        translate([0,-1,translation]) {            cube([40,2,2]);        }

// long cube base of holder

translate([16,-1,translation]) {            rotate([0,0,45]) {                cube([10,2,2]);            }

// short peg second closest to middle

}

translate([15,1,translation]) {            rotate([0,0,-45]) {                cube([10,2,2]);            }

// short peg second closest to middle

translate ([-4,-1,0]) {            rotate([0,-45,45]) {                cube([9,2,2]);            }

// short leg closest to middle

}        translate ([-4,-1,0]){            rotate([0,-45,-45]) {                cube([9,2,2]);            }

// short peg closest to middle

}                  }        translate ([23,-1,translation]){            rotate([0,-45,45]) {                cube([12,2,2]);            }

// long peg

}          }        translate ([23,-1,translation]){            rotate([0,-45,-45]) {                cube([12,2,2]);            }

// long peg

}        translate ([29,-1,translation]){            rotate([0,0,45]) {                cube([12,2,2]);            }

// long peg

}        translate ([29,-1,translation]){            rotate([0,0,-45]) {                cube([12,2,2]);            }

// long peg

}        translate ([33,-1,translation]){            rotate([0,-45,-45]) {                cube([8,2,2]);            }

// short peg at end of arm

}        translate ([33,-1,translation]){            rotate([0,-45,45]) {                cube([8,2,2]);            }

short peg at end of arm

}    }    {            difference () {            translate([0,0,-17]){                cube([8,8,50],true);            }translate ([0,0,8]){                sphere (r = 8.75);            }            }    }   //makes a sphere that take difference from the cube tall base

$fn=64;            difference () {        translate([0,0,6]) {                 sphere(r = 10, $fn= 64);        }translate ([0,0,10]){                sphere (r = 8.75);            }

//makes bowl at top of holder

} }  translate([0,0,-40])cube ([20,20,10],true); //base of jewelry holder