Although I've told this story many, many times, it always ends on a lame note - with me realizing that I don't own a copy of Olivia's model to show! Today, I fixed that problem and made a model of the Borromean rings in OpenSCAD:
The rings don't touch each other and you can flatten them to get a braid link conformation of the form AbAbAb, or in other words, the spiral link S(3,3,(1,-1)).
STL file: http://www.geekhaus.com/makerhome/day178_borr_regular_together.stl
Thingiverse link: http://www.thingiverse.com/make:67199
Settings: MakerWare with our custom knot-slicing profile from Day 110 to minimize support. Only very thin sheets of support were generated, which worked wonderfully.
Technical notes: Using the parametric equations for an ellipse and kitwallace's tubify code, we get the following OpenSCAD code:
// mathgrrl Borromean
// nearly a circle
function f(t) =
[ 25*cos(t),
20*sin(t),
0
];
module tubify(r,step,end) {
for (t=[0: step: end+step]) {
hull() {
translate(f(t)) sphere(r);
translate(f(t+step)) sphere(r);
}
}
};
// set faces
$fn=36;
// make the three rings
rotate([0,0,0]) rotate([45,45,0])
color("red") tubify(r=2.2,step=5,end=360);
rotate([0,0,120]) rotate([45,45,0])
color("yellow") tubify(r=2.2,step=5,end=360);
rotate([0,0,240]) rotate([45,45,0])
color("blue") tubify(r=2.2,step=5,end=360);
Stuff to change: If you printed these rings one at a time then you could slip the first two around/inside the third just before it finished printing. In that way you could make a cool three-color model! Here are the necessary files for a horizontal ring and a vertical ring.
Pictures of Olivia's original Borromean rings, which she constructed in Tinkercad, can be found at an old post of this story at jmumakerlab.blogspot.com.