-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgiesskanne.scad
101 lines (87 loc) · 2.35 KB
/
giesskanne.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
wandstaerke=2;
basisgroesse=170;
flaechen = 8;
scheibenhoehe=.1;
epsilon = .001;
tuellenstaerke=2;
tuellenwinkel=-70;
tuellenlaenge = 140;
module kanne(){
difference(){
scale([1,.8,0.5])
rotate([0,0,360/(2*flaechen)])
difference(){
minkowski(){
sphere(d=basisgroesse, $fn=flaechen);
sphere(d=wandstaerke*2);
}
minkowski(){
sphere(d=basisgroesse-50, $fn=flaechen);
sphere(d=40,$fn=100);
}
}
translate([0,0,15])
cylinder(d=53,h=120);
// translate([35,0,15])
// cylinder(d=8,h=120);
// translate([-35,0,15])
// cylinder(d=8,h=120);
}
}
module ring(d,fn,hollow=true){
if (hollow){
difference(){
cylinder(h=scheibenhoehe,d=d,$fn=fn);
translate([0,0,-epsilon])
cylinder(h=scheibenhoehe+2*epsilon,d=d-tuellenstaerke*2,$fn=fn);
}
}
else{
cylinder(h=scheibenhoehe,d=d,$fn=fn);
}
}
//ring(24);
module tuelle(hollow=true){
difference(){
cylinder(d1=30,d2=8,h=tuellenlaenge,$fn=100);
translate([0,0,-epsilon])
cylinder(d1=30-wandstaerke,d2=8-wandstaerke,h=tuellenlaenge+2*epsilon,$fn=100);
}
}
difference(){
kanne();
translate([-50,0,0])
rotate([0,tuellenwinkel,0])
cylinder(d1=30-2,d2=30-750/40,h=75,$fn=100);
}
difference(){
translate([-50,0,0])
rotate([0,tuellenwinkel,0])
color("red")
tuelle();
scale([1,.8,0.5])
rotate([0,0,360/(2*flaechen)])
difference(){
minkowski(){
sphere(d=basisgroesse-50, $fn=flaechen);
sphere(d=40,$fn=100);
}
}
translate([-185,-25,40])
cube([100,100,50]);
}
translate([80,0,11])
rotate([90,0,0])
rotate_extrude(angle=360)
translate([40,0,0])
rotate([0,0,360/16])
circle(d=25,$fn=8);
//translate([0,0,-142])
//cube([200,200,200],center=true);
//color("blue")
// translate([100,0,40])
// rotate([90,55,0])
// rotate_extrude(angle=200,$fn=100)
// translate([50,0,0])
// scale([.8,2])
// circle(d=13);