-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathblindie.scad
72 lines (59 loc) · 2.79 KB
/
blindie.scad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
use <lib.scad>
module die(size, insetMargin, insetDepth) {
difference() {
intersection() {
centercube(size);
bettersphere(size*0.7);
}
if (insetDepth > 0) {
cylR = size/2-insetMargin;
translate([0, 0, size/2-insetDepth])
bettercylinder(insetDepth+insetDepth, cylR);
translate([0, 0, -size/2-insetDepth])
bettercylinder(insetDepth+insetDepth, cylR);
translate([0, size/2+insetDepth, 0])
rotate([90, 0, 0])
bettercylinder(insetDepth+insetDepth, cylR);
translate([0, -size/2+insetDepth, 0])
rotate([90, 0, 0])
bettercylinder(insetDepth+insetDepth, cylR);
translate([size/2-insetDepth, 0, 0])
rotate([0, 90, 0])
bettercylinder(insetDepth+insetDepth, cylR);
translate([-size/2-insetDepth, 0, 0])
rotate([0, 90, 0]) bettercylinder(insetDepth+insetDepth, cylR);
}
}
dotSize = 2;
offsetEdge = size / 2 - 1;
offset1 = size / 6;
offset2 = size / 5;
offset3 = size / 4;
intersection() {
union() {
translate([0, offsetEdge, 0]) bettersphere(dotSize);
translate([-offset1, offset1, -offsetEdge]) bettersphere(dotSize);
translate([offset1, -offset1, -offsetEdge]) bettersphere(dotSize);
translate([offsetEdge, -offset2, offset2]) bettersphere(dotSize);
translate([offsetEdge, 0, 0]) bettersphere(dotSize);
translate([offsetEdge, offset2, -offset2]) bettersphere(dotSize);
translate([-offsetEdge, -offset2, -offset2]) bettersphere(dotSize);
translate([-offsetEdge, offset2, offset2]) bettersphere(dotSize);
translate([-offsetEdge, -offset2, offset2]) bettersphere(dotSize);
translate([-offsetEdge, offset2, -offset2]) bettersphere(dotSize);
translate([0, 0, offsetEdge]) bettersphere(dotSize);
translate([-offset2, offset2, offsetEdge]) bettersphere(dotSize);
translate([offset2, -offset2, offsetEdge]) bettersphere(dotSize);
translate([-offset2, -offset2, offsetEdge]) bettersphere(dotSize);
translate([offset2, offset2, offsetEdge]) bettersphere(dotSize);
translate([offset1, -offsetEdge, -offset3]) bettersphere(dotSize);
translate([offset1, -offsetEdge, 0]) bettersphere(dotSize);
translate([offset1, -offsetEdge, offset3]) bettersphere(dotSize);
translate([-offset1, -offsetEdge, -offset3]) bettersphere(dotSize);
translate([-offset1, -offsetEdge, 0]) bettersphere(dotSize);
translate([-offset1, -offsetEdge, offset3]) bettersphere(dotSize);
}
centercube(size);
}
}
die(20, 1, 1);