Lib updates.
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
module roundedCube(dims = [10, 10, 10], cornerRadii = [2, 2, 2]) {
|
||||
innerDims = [
|
||||
dims[0] - cornerRadii[0]*2,
|
||||
dims[1] - cornerRadii[1]*2,
|
||||
dims[2] - cornerRadii[2]*2 ];
|
||||
|
||||
// X-Y
|
||||
translate(cornerRadii)
|
||||
scale([cornerRadii[0], cornerRadii[1], 1])
|
||||
cylinder(r=1, h = innerDims[2]);
|
||||
translate([cornerRadii[0], cornerRadii[1] + innerDims[1], cornerRadii[2]])
|
||||
scale([cornerRadii[0], cornerRadii[1], 1])
|
||||
cylinder(r=1, h = innerDims[2]);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1] + innerDims[1], cornerRadii[2]])
|
||||
scale([cornerRadii[0], cornerRadii[1], 1])
|
||||
cylinder(r=1, h = innerDims[2]);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1], cornerRadii[2]])
|
||||
scale([cornerRadii[0], cornerRadii[1], 1])
|
||||
cylinder(r=1, h = innerDims[2]);
|
||||
|
||||
translate([cornerRadii[0], cornerRadii[1], 0]) cube([innerDims[0], innerDims[1], dims[2]]);
|
||||
|
||||
// X-Z
|
||||
translate(cornerRadii)
|
||||
scale([cornerRadii[0], 1, cornerRadii[2]])
|
||||
rotate([-90, 0, 0]) cylinder(r=1, h = innerDims[1]);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1], cornerRadii[2]])
|
||||
scale([cornerRadii[0], 1, cornerRadii[2]])
|
||||
rotate([-90, 0, 0]) cylinder(r=1, h = innerDims[1]);
|
||||
translate([cornerRadii[0], cornerRadii[1], cornerRadii[2] + innerDims[2]])
|
||||
scale([cornerRadii[0], 1, cornerRadii[2]])
|
||||
rotate([-90, 0, 0]) cylinder(r=1, h = innerDims[1]);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1], cornerRadii[2] + innerDims[2]])
|
||||
scale([cornerRadii[0], 1, cornerRadii[2]])
|
||||
rotate([-90, 0, 0]) cylinder(r=1, h = innerDims[1]);
|
||||
|
||||
translate([cornerRadii[0], 0, cornerRadii[2]]) cube([innerDims[0], dims[1], innerDims[2]]);
|
||||
|
||||
// Y-Z
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1] + innerDims[1], cornerRadii[2]])
|
||||
scale([1, cornerRadii[1], cornerRadii[2]])
|
||||
rotate([-90, 0, 90]) cylinder(r=1, h = innerDims[0]);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1], cornerRadii[2]])
|
||||
scale([1, cornerRadii[1], cornerRadii[2]])
|
||||
rotate([-90, 0, 90]) cylinder(r=1, h = innerDims[0]);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1] + innerDims[1], cornerRadii[2] + innerDims[2]])
|
||||
scale([1, cornerRadii[1], cornerRadii[2]])
|
||||
rotate([-90, 0, 90]) cylinder(r=1, h = innerDims[0]);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1], cornerRadii[2] + innerDims[2]])
|
||||
scale([1, cornerRadii[1], cornerRadii[2]])
|
||||
rotate([-90, 0, 90]) cylinder(r=1, h = innerDims[0]);
|
||||
|
||||
translate([0, cornerRadii[1], cornerRadii[2]]) cube([dims[0], innerDims[1], innerDims[2]]);
|
||||
|
||||
|
||||
// corners
|
||||
translate(cornerRadii)
|
||||
scale(cornerRadii) sphere(r=1);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1], cornerRadii[2]])
|
||||
scale(cornerRadii) sphere(r=1);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1] + innerDims[1], cornerRadii[2]])
|
||||
scale(cornerRadii) sphere(r=1);
|
||||
translate([cornerRadii[0], cornerRadii[1] + innerDims[1], cornerRadii[2]])
|
||||
scale(cornerRadii) sphere(r=1);
|
||||
|
||||
translate([cornerRadii[0], cornerRadii[1], cornerRadii[2] + innerDims[2]])
|
||||
scale(cornerRadii) sphere(r=1);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1], cornerRadii[2] + innerDims[2]])
|
||||
scale(cornerRadii) sphere(r=1);
|
||||
translate([cornerRadii[0] + innerDims[0], cornerRadii[1] + innerDims[1], cornerRadii[2] + innerDims[2]])
|
||||
scale(cornerRadii) sphere(r=1);
|
||||
translate([cornerRadii[0], cornerRadii[1] + innerDims[1], cornerRadii[2] + innerDims[2]])
|
||||
scale(cornerRadii) sphere(r=1);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user