// Blindenpöppel
// Stratum 0
// 2014-01-21 V1.5
// License: WTF

$fn=50;

Hoehe=30;
Teiler=3;
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();
	}
}

difference()
{
     union()
     {
          // Kegel erzeugen
          color("red") cylinder(Hoehe,Radius1,Radius2);

          // 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);

// Randverzierungen: nach Wunsch einkommentieren, oder ganz ohne

// 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 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);
//	}
//}