23/10/10

The making of the 10 year anniversary rings

So for our 10th anniversary I decided to get us some rings. To make the whole thing more interesting I decided to design the rings and get them made by laser sintering (LASERS, yeah!). This is more or less how I did it:
1. Sneak around the house searching for rings of your significant other. Measure the diameter of several rings to get a value you are quite confident will fit.

2. Decide more or less how the ring should look like. I went for a thin band with a round surface. Playing a lot with a design, I went for 10 indentations in the ring to symbolize the ten years we spent together.

3. Download Openscad. It is free!

4. Open Openscad.

5. Generate a sphere (you will find the whole source code at the end of this post. The radius of the sphere is the total diameter of the ring. Knowing that I will need 10.3mm radius for the hole, I went for a 12mm radius (wall thickness of 1.7mm). Don't forget to press F5 after changing code to see the model.

6. Now generate a cylinder representing the finger. Use the "difference" command to make a hole in your sphere.


7. Generate two cubes (side length 30) and translate them up and down for 15mm. Use difference again. So, the the ring will have a 6mm height.



8.Generate a torus. By using difference again, this will produce a chamfer. I added this, because I thought it would be nice to avoid sharp edges on the interior. 


9. Generate, translate and rotate cylinders, which will be the indentations in the surface.

 

10. Similar to step 9, I generated cubes, which made a "10" indentation in the interior of the ring. 


11. Press F6 to compile.

12. Choose Design > Export as STL...

13. Send it to Shapeways for printing.

14. Wait 3-4 weeks

This is the source code for the size 11 ring:
difference(){
difference(){
difference(){
intersection() {
sphere(12, center=true, $fn=100);
rotate_extrude(convexity = 10, $fn = 100)
translate([20, 0, 0])
circle( r = 10, $fn = 100);
}
cylinder(h=50,r=10.3, center=true, $fn=100);
translate([0,0,18])
cube(size = 30, center = true);
translate([0,0,-18])
cube(size = 30, center = true);
}

rotate([0,90-180,0])
translate([0,0,11.5])
cylinder(h=20,r=1, center=false, $fn=100);

rotate([0,85-180,15])
translate([0,0,11.5])
cylinder(h=20,r=0.75, center=false, $fn=100);

rotate([0,87-180,-15])
translate([0,0,11.5])
cylinder(h=20,r=0.5, center=false, $fn=100);

rotate([0,95-180,20])
translate([0,0,11.5])
cylinder(h=20,r=0.5, center=false, $fn=100);

rotate([0,88-180,30])
translate([0,0,11.5])
cylinder(h=20,r=1, center=false, $fn=100);

rotate([0,90-180,55])
translate([0,0,11.5])
cylinder(h=20,r=0.3, center=false, $fn=100);

rotate([0,97-180,10])
translate([0,0,11.5])
cylinder(h=20,r=0.75, center=false, $fn=100);

rotate([0,97-180,30])
translate([0,0,11.5])
cylinder(h=20,r=0.3, center=false, $fn=100);

rotate([0,85-180,45])
translate([0,0,11.5])
cylinder(h=20,r=0.5, center=false, $fn=100);

rotate([0,97-180,40])
translate([0,0,11.5])
cylinder(h=20,r=0.75, center=false, $fn=100);

rotate([0,0,12])
translate([10.5,0,0])
cube([1,0.5,2.5], center=true, $fn=100);

rotate([0,0,0])
translate([10.5,0,0])
cube([1,0.5,2.5], center=true, $fn=100);

rotate([0,0,5])
translate([10.5,0,0])
cube([1,0.5,2.5], center=true, $fn=100);

rotate([0,0,2])
translate([10.5,0,-1])
cube([1,1,0.5], center=true, $fn=100);

rotate([0,0,2])
translate([10.5,0,1])
cube([1,1,0.5], center=true, $fn=100);

rotate([0,0,14])
translate([10.5,0,1])
cube([1,0.5,0.5], center=true, $fn=100);
}
}

This is the source code for the size 7 ring:

difference(){

difference(){
difference(){
intersection() {
sphere(10, center=true, $fn=100);
rotate_extrude(convexity = 10, $fn = 100)
translate([18.45, 0, 0])
circle( r = 10, $fn = 100);
}
cylinder(h=50,r=8.65, center=true, $fn=100);
translate([0,0,17.5])
cube(size = 30, center = true);
translate([0,0,-17.5])
cube(size = 30, center = true);
}
rotate([0,90-180,0])
translate([0,0,9.5])
cylinder(h=20,r=1, center=false, $fn=100);

rotate([0,85-180,15])
translate([0,0,9.5])
cylinder(h=20,r=0.75, center=false, $fn=100);

rotate([0,87-180,-15])
translate([0,0,9.5])
cylinder(h=20,r=0.5, center=false, $fn=100);

rotate([0,95-180,20])
translate([0,0,9.5])
cylinder(h=20,r=0.5, center=false, $fn=100);

rotate([0,88-180,30])
translate([0,0,9.5])
cylinder(h=20,r=1, center=false, $fn=100);

rotate([0,90-180,55])
translate([0,0,9.5])
cylinder(h=20,r=0.3, center=false, $fn=100);

rotate([0,97-180,10])
translate([0,0,9.5])
cylinder(h=20,r=0.75, center=false, $fn=100);

rotate([0,97-180,30])
translate([0,0,9.5])
cylinder(h=20,r=0.3, center=false, $fn=100);

rotate([0,85-180,45])
translate([0,0,9.5])
cylinder(h=20,r=0.5, center=false, $fn=100);

rotate([0,97-180,40])
translate([0,0,9.5])
cylinder(h=20,r=0.75, center=false, $fn=100);

rotate([0,0,12])
translate([8.75,0,0])
cube([1,0.5,2.5], center=true, $fn=100);

rotate([0,0,0])
translate([8.75,0,0])
cube([1,0.5,2.5], center=true, $fn=100);

rotate([0,0,5])
translate([8.75,0,0])
cube([1,0.5,2.5], center=true, $fn=100);

rotate([0,0,2])
translate([8.75,0,-1])
cube([1,1,0.5], center=true, $fn=100);

rotate([0,0,2])
translate([8.75,0,1])
cube([1,1,0.5], center=true, $fn=100);

rotate([0,0,14])
translate([8.75,0,1])
cube([1,0.5,0.5], center=true, $fn=100);
}
}


No hay comentarios: