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