-
Notifications
You must be signed in to change notification settings - Fork 10
/
Letter Cookie Cutter.scad
61 lines (46 loc) · 1.29 KB
/
Letter Cookie Cutter.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
/**
* Original script from http://www.thingiverse.com/thing:28882
*/
// Text for the cutter.
cutter_text = "S";
// Height of the cutter in mm.
cutter_size = 64;
// Font to use for the cutter, in the style "<Font Name>:style=<Font Style>". See http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Text#Using_fonts
cutter_font = "Arial Black:style=Bold";
// Thickness of the cutter in mm.
cutter_thickness = 1.75;
// Height of the flange in mm.
flange_height = 2;
// Height of the cutter in mm, in addition to the flange height.
cutter_height = 10;
// Width of the flange in mm.
flange_width = 6;
cutterMinimum = 1.75;
mirror([1, 0, 0]) {
minkowski() {
outline();
cylinder(r1 = cutter_thickness / 3, r2 = cutterMinimum / 3, h = cutter_height);
};
flange();
};
module flange() {
difference() {
minkowski() {
baseShape(h=flange_height / 3);
cylinder(r = flange_width, h = flange_height / 3);
};
translate([0, 0, -0.01]) baseShape(h=flange_height * 1.1);
};
}
module outline() {
difference() {
minkowski() {
baseShape(h=flange_height / 3);
cylinder(r = cutterMinimum / 3, h=flange_height / 3);
}
translate([0, 0, -0.01]) baseShape(h=flange_height * 1.1);
};
};
module baseShape(h) {
linear_extrude(height=h) text(text=cutter_text, size=cutter_size, font=cutter_font);
}