-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathboard_outline-bottom.scad
109 lines (91 loc) · 2.32 KB
/
board_outline-bottom.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
module spike()
{
minkowski()
{
union()
{
rotate([0, 0, 360/16]) circle(r=18, $fn=8);
translate([50, 0, 0]) rotate([0, 0, 360/16]) circle(r=18, $fn=8);
translate([25, 0]) square([32, 30], center=true);
}
circle(r=1, $fn=60);
}
}
module shard()
{
union()//difference()
{
minkowski()
{
square([30, 20], center=true);
circle(r=1, $fn=30);
}
}
translate([0, 14 , 0])
difference()
{
color("red") square([17.26, 7], center=true);
translate([17.26/2, 3.5])rotate([0, 0, 45])
{
square(1.5, center=true);
}
translate([-17.26/2, 3.5]) rotate([0, 0, 45])
{
square(1.5, center=true);
}
}
}
hole_size = 2 + 0.1;
difference()
{
scale([1.0, 1.0]) translate([-25, 0]) spike();
translate([-19, 15]) circle(d=hole_size, $fn=30);
translate([19, 15]) circle(d=hole_size, $fn=30);
translate([-31, -15]) circle(d=hole_size, $fn=30);
translate([31, -15]) circle(d=hole_size, $fn=30);
// Battery
translate([0, 0]) minkowski()
{
square([30, 24], center=true);
circle(d=1, $fn=30);
}
/* USB */
translate([36, 10.5]) rotate([0, 0, 45]) minkowski()
{
square([5, 8], center=true);
circle(r=0.5, $fn=30);
}
// Speaker
translate([-28, 0]) circle(r=7, $fn=30);
translate([-28, -7]) square([4, 4], center=true);
// power
translate([-36, 11]) rotate([0, 0, 45]) minkowski()
{
square([8, 4], center=true);
circle(d=2, center=true, $fn=30);
}
//reset
translate([-20, -10]) minkowski()
{
square([5, 5], center=true);
circle(r=0.5, $fn=30);
}
//ICs
translate([23, 0]) minkowski()
{
hull()
{
square([10, 22], center=true);
translate([8.5, -3]) square([5, 16], center=true);
}
circle(r=0.5, $fn=30);
}
//ISP
translate([-25, 14]) minkowski()
{
square([7, 4.5], center=true);
circle(r=0.5, $fn=30);
}
}
//color("green") translate([27, -2]) square([15, 18], center=true);
//color("red") translate([0, 8, -1.1]) rotate([0, 0, 180]) shard();