<pre><nowiki>
// Blindenpöppel
-// Stratum 0
-// 2014-01-21 V1.6
+// (c) Stratum 0 e.V.
+// 2014-04-14 V2.2
// License: WTF
$fn=50;
-Hoehe=30;
-Teiler=3;
+Hoehe=15;
+Teiler=2;
Radius1=Hoehe/Teiler;
-RadiusM=Hoehe*(Teiler-1)/Teiler/Teiler;
-
-// Randverzierungen als Kindelemente übergeben
-module randverzierung(n = 12) {
- for(i = [1:n]) {
- rotate([0,0,i*(360/n)])
- translate([Radius1+0.1,0,0.5])
- child();
- }
-}
-rotate ([180,0,0])
-{
-difference()
-{
- union()
- {
- // Kegel erzeugen
- color("red") cylinder(Hoehe,Radius1,Radius2);
+Randdicke=1;
+Ringhoehe=3;
+
+rotate([180,0,0])
+ union()
+ {
+ difference()
+ {
+ union()
+ {
+ // Kegel erzeugen
+ color("red") cylinder(Hoehe,Radius1,Radius1 / Teiler);
+
+ // Rand auftragen
+ color("blue") cylinder(Ringhoehe,Radius1,Radius1);
+ }
+
+ // Hohlraum abziehen
+ color("green") cylinder(Hoehe-1,Radius1-1,Radius1 / Teiler -1);
+ }
+
+
+ // Randverzierungen: nach Wunsch einkommentieren, oder ganz ohne
+
+ // StricheHorizontal(20);
+ StricheVertikal(20);
+ // QuadratischePunkte(32);
+ }
- // Rand auftragen
- color("blue") cylinder(1,Radius1,Radius1);
- }
- // Spitze abschneiden
- translate([0,0,Hoehe/3])
- color("orange")cylinder(Hoehe,Radius1,Radius2);
- // Hohlraum abziehen
- color("green") cylinder(Hoehe-1,Radius1-1,Radius2);
-}
-// Deckel draufsetzen
-color("black")
-translate ([0,0,Radius1-1])
- cylinder(1,RadiusM,RadiusM);
+// Striche horizontal
-// Randverzierungen: nach Wunsch einkommentieren, oder ganz ohne
+module StricheHorizontal(n) // Anzahl der Striche rundherum n=20
+{
+ Strichlaenge = 3;
+ for(i = [1:n])
+ {
+ rotate([0,0,360/n*i])
+ translate([Radius1,0,Ringhoehe/2])
+ cube ([1,Strichlaenge,1], center=true);
+ }
+} // end module
-// Kegel:
-//randverzierung(n=4) {
-// rotate([0,90,0])
-// cylinder(r1=0.5, r2=0, h=0.5, center=true);
-//}
-// Striche hochkant:
-randverzierung(n=5) {
- rotate([0,90,0])
- cube([1,0.5,0.5], center=true);
+
+// Striche vertikal
+module StricheVertikal(m) // Anzahl der Striche rundherum m
+{
+
+ for(j = [1:m])
+ {
+ rotate([0,0,360/m*j])
+ {
+ translate([Radius1,0,0]) cube ([1,1,Ringhoehe], center=false);
+ }
}
-// Striche quer:
-//randverzierung(n=9) {
-// cube([0.5,2,0.5], center=true);
-//}
-
-// Pyramiden:
-//randverzierung(n=11) {
-// rotate([0,90,0])
-// cylinder(r1=0.5, r2=0, h=0.4, center=true, $fn=4);
-//}
-
-// Plusse:
-//randverzierung(n=12) {
-// rotate([0,90,0]) {
-// cube([1,0.3,0.5], center=true);
-// cube([0.3,1,0.5], center=true);
-// }
-//}
+
+// Quadratische Punkte horizontal
+module QuadratischePunkte(o) // Anzahl der Striche rund herum o=32
+{
+ Strichlaenge2 = 1;
+ for(k = [1:o])
+ {
+ rotate([0,0,360/o*k])
+ {
+ translate([Radius1,0,Ringhoehe/2]) cube ([1,Strichlaenge2,1], center=true);
+ }
+ }
+
+} // end module
+
}
</nowiki></pre>