[[Datei:Stratum0 Wuerfel V1.png|thumb|Würfel V1, Blindenwürfel]] <pre> // Blindenwürfel // 2014-01-21 V1 // by Stratum 0 // License: WTF // ************************************* // ** Würfel bitte *massiv* drucken! ** // ************************************* $fn=20; Kante=20; Ausschnitt=15; Kerbe=2; Punktpos=Kante/2-Kerbe; Punkthoehe=Kerbe; Punktbasis=2; Punktspitze=0; Punktabstand=4; intersection() { sphere (Kante*0.8); MyDice(); } module MyDice() { CutDice(); AddPoints(); } module CutDice() { difference() { // Basiswürfel erstellen cube([Kante, Kante, Kante], center=true); // Ausschnitt für Einkerbungen erstellen // Seite Z: 1 color("red") translate ([0,0,Kante/2]) cube([Ausschnitt, Ausschnitt, Kerbe*2],center=true); // Seite -Z: 6 color("green") translate ([0,0,-Kante/2]) cube([Ausschnitt, Ausschnitt, Kerbe*2],center=true); // Seite Y: 3 color("blue")translate ([0,Kante/2,0]) cube([Ausschnitt, Kerbe*2, Ausschnitt],center=true); // Seite -Y: 4 color("orange")translate ([0,-Kante/2,0]) cube([Ausschnitt, Kerbe*2, Ausschnitt],center=true); // Seite X: 2 color("magenta")translate ([Kante/2,0,0]) cube([Kerbe*2, Ausschnitt, Ausschnitt],center=true); // Seite -X: 5 color("cyan") translate ([-Kante/2,0,0]) cube([Kerbe*2, Ausschnitt, Ausschnitt],center=true); };// End Difference }; // End Module // Punkte hinzufügen module AddPoints(){ // Seite Z: 1 color("red") translate([0,0,Punktpos]) cylinder(Punkthoehe,Punktbasis,Punktspitze); // Seite -Z: 6 color("green") translate([Punktabstand,0,-Punktpos]) rotate ([0,180,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("green") translate([-Punktabstand,0,-Punktpos]) rotate ([0,180,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("green") translate([Punktabstand,Punktabstand,-Punktpos]) rotate ([0,180,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("green") translate([-Punktabstand,Punktabstand,-Punktpos]) rotate ([0,180,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("green") translate([Punktabstand,-Punktabstand,-Punktpos]) rotate ([0,180,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("green") translate([-Punktabstand,-Punktabstand,-Punktpos]) rotate ([0,180,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); // Seite Y: 3 color("blue") translate([0,Punktpos,0]) rotate([-90,0,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("blue") translate([Punktabstand,Punktpos,Punktabstand]) rotate([-90,0,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("blue") translate([-Punktabstand,Punktpos,-Punktabstand]) rotate([-90,0,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); // Seite -Y: 4 color("orange") translate([Punktabstand,-Punktpos,Punktabstand]) rotate ([90,0,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("orange") translate([-Punktabstand,-Punktpos,Punktabstand]) rotate ([90,0,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("orange") translate([Punktabstand,-Punktpos,-Punktabstand]) rotate ([90,0,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("orange") translate([-Punktabstand,-Punktpos,-Punktabstand]) rotate ([90,0,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); // Seite X: 2 color("magenta") translate([Punktpos,Punktabstand,-Punktabstand]) rotate([0,90,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("magenta") translate([Punktpos,-Punktabstand,Punktabstand]) rotate([0,90,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); // Seite -X: 5 color("cyan") translate([-Punktpos,0,0]) rotate([0,-90,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("cyan") translate([-Punktpos,-Punktabstand,-Punktabstand]) rotate([0,-90,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("cyan") translate([-Punktpos,Punktabstand,-Punktabstand]) rotate([0,-90,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("cyan") translate([-Punktpos,Punktabstand,Punktabstand]) rotate([0,-90,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); color("cyan") translate([-Punktpos,-Punktabstand,Punktabstand]) rotate([0,-90,0]) cylinder(Punkthoehe,Punktbasis,Punktspitze); } </pre>