-
Notifications
You must be signed in to change notification settings - Fork 109
/
mask_hook.scad
52 lines (45 loc) · 1.02 KB
/
mask_hook.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
band_width = 145;
band_height = 24;
thickness = 1;
one_side_hook_numbers = 4;
t = "openhome.cc";
font_name = "Arial Black";
font_size = 6;
mask_hook();
module mask_hook() {
module hook() {
difference() {
square([6, band_height * 0.95], center = true);
translate([-band_height * 0.625, 0])
circle(band_height / 1.5, $fn = 12);
}
}
r = band_height * 0.225;
x = band_width * 0.1425;
y = band_height / 3.35;
linear_extrude(thickness) {
square([band_width, band_height * 0.6], center = true);
hull() {
translate([x, y])
circle(r, $fn = 6);
translate([-x, y])
circle(r, $fn = 6);
translate([-x, -y])
circle(r, $fn = 6);
translate([x, -y])
circle(r, $fn = 6);
}
}
linear_extrude(thickness * 2) {
for(i = [0:one_side_hook_numbers - 1]) {
tp = [band_width / 2 - 3 - 10 * i, 0];
translate(tp)
hook();
mirror([1, 0, 0])
translate(tp)
hook();
}
}
linear_extrude(thickness * 2)
text(t, font = font_name, size = font_size, valign="center", halign = "center");
}