diff --git a/maexchen_dice.scad b/maexchen_dice.scad index 969c10d..a03c0f3 100644 --- a/maexchen_dice.scad +++ b/maexchen_dice.scad @@ -1,64 +1,85 @@ $fs = 0.1; eps = 0.01; -size = 10; +size = 12; dice(); +use + 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); } } } \ No newline at end of file diff --git a/maexchen_dice.stl b/maexchen_dice.stl index f125f4e..dfb093f 100644 Binary files a/maexchen_dice.stl and b/maexchen_dice.stl differ