go back to cylindrical holes (looks better). rounded edges! \o/
This commit is contained in:
parent
db5c0379c7
commit
78eec3e3e3
|
|
@ -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.
Loading…
Reference in a new issue