## Monday, February 14, 2011

### OpenSCAD Tip: Round 1 of 3 - Basic Rounding

This is the beginning of a three part series on rounding edges in OpenSCAD. This tutorial shows how to make a box with rounded edges, but this technique can be used anywhere you are trying to round an edge where both surfaces are flat and meet at a 90 degree angle.

Starting with a box in OpenSCAD
box_l = 10; // Length
box_w = 10; // Width
box_h = 10; // Height
cube([box_l, box_w, box_h], center = true);

So what is a rounded corner? One way to think about it is that it is shaped in a way similar to a cylinder. The idea is to make the edge of the box into a cylinder, so the first attempt will to be to remove an absence of a cylinder. Next move a cylinder into place for the edge to be rounded. The padding is there to maintain manifoldness.
box_l = 10; // Length
box_w = 10; // Width
box_h = 10; // Height
round_r = 2; // Radius of round
smooth = 45; // Number of facets of rounding cylinder
difference() {
cube([box_l, box_w, box_h], center = true);

translate([0, -box_w/2+round_r, box_h/2-round_r]) {
rotate(a=[0,90,0])
}
}

Now that all the padding and minus signs are correct, a box is moved into place to make the part to round the edge off.
translate([0, -box_w/2+round_r, box_h/2-round_r]) {
difference() {
rotate(a=[0,90,0])
}
}

Now by subtracting this from the original box one of the edges is rounded off.

difference() {
cube([box_l, box_w, box_h], center = true);
translate([0, -box_w/2+round_r, box_h/2-round_r]) {
difference() {
rotate(a=[0,90,0])
}
}
}

Now by repeating the technique on all of the sides a new problem is discovered.

To fix the corners, the absence of a sphere must be subtracted from each corner.

If a cylinder isn't a good analogy then the question becomes, how do you mathematically represent a rounded edge. One way to do that is to think of the shape produced by a sphere moving along the edge. We will explore this concept of rounding using a rolling ball further in the next tutorial, Advanced Rounding with OpenSCAD.

All of the .scad files can be found on Thingiverse and our previous OpenSCAD tutorials can be found here.