-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnumeric_token.scad
39 lines (36 loc) · 1.16 KB
/
numeric_token.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
include <common.scad>
TOKEN_WIDTH = 14.75;
TOKEN_WIDTH_HALF = TOKEN_WIDTH / 2;
TOKEN_HEIGHT = 17.25;
TEXT_SIZE = 7;
NUMBER = "00";
difference() {
// token body
linear_extrude(TOKEN_THICKNESS) {
circle(d=TOKEN_WIDTH);
polygon([
[TOKEN_WIDTH_HALF, 0],
[TOKEN_WIDTH_HALF, -(TOKEN_HEIGHT - TOKEN_WIDTH_HALF)],
[-TOKEN_WIDTH_HALF, -(TOKEN_HEIGHT - TOKEN_WIDTH_HALF)],
[-TOKEN_WIDTH_HALF, 0]
]);
}
// reduced thickness at bottom
translate([-TOKEN_WIDTH_HALF, -(TOKEN_HEIGHT - TOKEN_WIDTH_HALF), 0]) {
rotate([0, 90, 0]) {
linear_extrude(TOKEN_WIDTH) {
polygon([
[-TOKEN_THICKNESS, 0],
[-TOKEN_THICKNESS, TOKEN_THICKNESS * 2],
[-TOKEN_THICKNESS * 0.8, 0]
]);
}
}
}
// token number
translate([0, 0, TOKEN_THICKNESS - WELL_DEPTH]) {
linear_extrude(WELL_DEPTH + TOLERANCE) {
text(NUMBER, font="Liberation Sans:style=bold", size=TEXT_SIZE, halign="center", valign="center");
}
}
}