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
|
dSchraube = 8;
Schluesselweite = 13;
Kopfhoehe = 8;
h = 30;
dUnten = 17;
dOben = 29.5;
$fn = 300;
rKante = 10;
Schraubenkopfdiagonale = Schluesselweite / cos(30);
difference() {
// cylinder(h = h, r1 = dUnten/2, r2 = dOben/2);
rotate_extrude() {
polygon([
[0, 0],
for (hh = [0: 0.01: 1])
[dUnten/2 + (1-cos(hh*180))/2*(dOben-dUnten)/2, hh * (h-rKante)],
for (alpha = [0: 90])
[dOben/2 + (cos(alpha)-1)*rKante, h + (sin(alpha)-1)*rKante],
[0, h]
]);
};
translate([0,0,-1])
cylinder(h = h+2, r = dSchraube/2);
translate([0,0,h - Kopfhoehe])
linear_extrude(Kopfhoehe+1)
polygon(
[
for (a = [0:60:300])
[Schraubenkopfdiagonale/2*cos(a),Schraubenkopfdiagonale/2*sin(a)]
]
);
}
|