maexchen_dice/maexchen_dice.scad

85 lines
3 KiB
OpenSCAD

$fs = 0.1;
eps = 0.01;
size = 12;
dice();
use <MCAD/boxes.scad>
module dice() {
l = size;
h = 1.5 * size;
r = 0.1 * size;
difference() {
translate([l, l, h] / 2)
roundedBox([l, l, h], r, false);
union() {
// 1
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, -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 - 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([-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 - 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, -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);
}
}
}