go back to cylindrical holes (looks better). rounded edges! \o/

This commit is contained in:
v 2024-12-12 22:32:26 +01:00
parent db5c0379c7
commit 78eec3e3e3
2 changed files with 65 additions and 44 deletions

View file

@ -1,64 +1,85 @@
$fs = 0.1;
eps = 0.01;
size = 10;
size = 12;
dice();
use <MCAD/boxes.scad>
module dice() {
l = size;
h = 1.5 * size;
r = 0.1 * size;
difference() {
cube([l, l, h]);
translate([l, l, h] / 2)
roundedBox([l, l, h], r, false);
union() {
// 1
translate([0.5 * l, 0.5 * l, h])
sphere(r);
translate([0.5 * l, 0.5 * l, h - 1.5 * r + eps])
cylinder(1.5 * r, r, r);
// 2
translate([0.3 * l, 0.3 * l, 0])
sphere(r);
translate([0.7 * l, 0.7 * l, 0])
sphere(r);
translate([0.3 * l, 0.3 * l, -eps])
cylinder(1.5 * r, r, r);
translate([0.7 * l, 0.7 * l, -eps])
cylinder(1.5 * r, r, r);
// 3
translate([0.3 * l, l, 0.3 * h])
sphere(r);
translate([0.5 * l, l, 0.5 * h])
sphere(r);
translate([0.7 * l, l, 0.7 * h])
sphere(r);
translate([0.3 * l, l - 1.5 * r + eps, 0.3 * h])
rotate([-90, 0, 0])
cylinder(1.5 * r, r, r);
translate([0.5 * l, l - 1.5 * r + eps, 0.5 * h])
rotate([-90, 0, 0])
cylinder(1.5 * r, r, r);
translate([0.7 * l, l - 1.5 * r + eps, 0.7 * h])
rotate([-90, 0, 0])
cylinder(1.5 * r, r, r);
// 4
translate([0, 0.3 * l, 0.3 * h])
sphere(r);
translate([0, 0.3 * l, 0.7 * h])
sphere(r);
translate([0, 0.7 * l, 0.3 * h])
sphere(r);
translate([0, 0.7 * l, 0.7 * h])
sphere(r);
translate([-eps, 0.3 * l, 0.3 * h])
rotate([0, 90, 0])
cylinder(1.5 * r, r, r);
translate([-eps, 0.3 * l, 0.7 * h])
rotate([0, 90, 0])
cylinder(1.5 * r, r, r);
translate([-eps, 0.7 * l, 0.3 * h])
rotate([0, 90, 0])
cylinder(1.5 * r, r, r);
translate([-eps, 0.7 * l, 0.7 * h])
rotate([0, 90, 0])
cylinder(1.5 * r, r, r);
// 5
translate([l, 0.3 * l, 0.3 * h])
sphere(r);
translate([l, 0.3 * l, 0.7 * h])
sphere(r);
translate([l, 0.5 * l, 0.5 * h])
sphere(r);
translate([l, 0.7 * l, 0.3 * h])
sphere(r);
translate([l, 0.7 * l, 0.7 * h])
sphere(r);
translate([l - 1.5 * r + eps, 0.3 * l, 0.3 * h])
rotate([0, 90, 0])
cylinder(1.5 * r, r, r);
translate([l - 1.5 * r + eps, 0.3 * l, 0.7 * h])
rotate([0, 90, 0])
cylinder(1.5 * r, r, r);
translate([l - 1.5 * r + eps, 0.5 * l, 0.5 * h])
rotate([0, 90, 0])
cylinder(1.5 * r, r, r);
translate([l - 1.5 * r + eps, 0.7 * l, 0.3 * h])
rotate([0, 90, 0])
cylinder(1.5 * r, r, r);
translate([l - 1.5 * r + eps, 0.7 * l, 0.7 * h])
rotate([0, 90, 0])
cylinder(1.5 * r, r, r);
// 6
translate([0.3 * l, 0, 0.3 * h])
sphere(r);
translate([0.3 * l, 0, 0.5 * h])
sphere(r);
translate([0.3 * l, 0, 0.7 * h])
sphere(r);
translate([0.7 * l, 0, 0.3 * h])
sphere(r);
translate([0.7 * l, 0, 0.5 * h])
sphere(r);
translate([0.7 * l, 0, 0.7 * h])
sphere(r);
translate([0.3 * l, -eps, 0.3 * h])
rotate([-90, 0, 0])
cylinder(1.5 * r, r, r);
translate([0.3 * l, -eps, 0.5 * h])
rotate([-90, 0, 0])
cylinder(1.5 * r, r, r);
translate([0.3 * l, -eps, 0.7 * h])
rotate([-90, 0, 0])
cylinder(1.5 * r, r, r);
translate([0.7 * l, -eps, 0.3 * h])
rotate([-90, 0, 0])
cylinder(1.5 * r, r, r);
translate([0.7 * l, -eps, 0.5 * h])
rotate([-90, 0, 0])
cylinder(1.5 * r, r, r);
translate([0.7 * l, -eps, 0.7 * h])
rotate([-90, 0, 0])
cylinder(1.5 * r, r, r);
}
}
}

Binary file not shown.