85 lines
3 KiB
OpenSCAD
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);
|
|
}
|
|
}
|
|
} |