Lib updates.

This commit is contained in:
2025-12-26 13:25:38 -06:00
parent 78bd6b9738
commit b71f1d2295
3 changed files with 209 additions and 0 deletions
+75
View File
@@ -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);
}