+
+[[Datei:Ein Viertel Scrabble-Brett.PNG|thumb|OpenSCAD Entwurf von einem Scrabble-Brett (ein Viertel)]]
+
<PRE>
-// Scrabble Spielbrett
-// 2014-05-15 V1
+
+// Scrabble Spielbrett
+// (ein Viertel)
+// 2014-05-15 V1.2
// by Stratum 0
// License: WTFPL
// $fn=20;
-Kante = 20;
-Kantenbreite = 2;
+Kante = 14;
+Kantenbreite = 1;
Hoehe = 4;
Randhoehe = 2;
Abstand=0;
Viertelfeld=8;
+
+//Hauptprogramm
+
+intersection()
+{
+ ViertelBrett();
+ cube ([Kante*(Viertelfeld+0.5), Kante*(Viertelfeld+0.5), Kante*(Viertelfeld+0.5)]);
+}
+
+
+module ViertelBrett()
+{
+
for (i = [1:Viertelfeld])
{
for (j = [1:Viertelfeld])
translate([(Kante+Abstand)*i+Abstand,(Kante+Abstand)*j,0])
{
//Dreifacher Wortwert
- if ((i==1) && (j==1)) { Feld("red"); }
- if ((i==1) && (j==8)) { Feld("red"); }
- if ((i==8) && (j==1)) { Feld("red"); }
+ if ((i==1) && (j==1)) { Feld("red"); Striche(3);}
+ if ((i==1) && (j==8)) { Feld("red"); Striche(3);}
+ if ((i==8) && (j==1)) { Feld("red"); Striche(3);}
//Doppelter Wortwert
- if ((i==2) && (j==2)) { Feld("pink"); }
- if ((i==3) && (j==3)) { Feld("pink"); }
- if ((i==4) && (j==4)) { Feld("pink"); }
- if ((i==5) && (j==5)) { Feld("pink"); }
- if ((i==8) && (j==8)) { Feld("pink"); }
+ if ((i==2) && (j==2)) { Feld("pink"); Striche(2);}
+ if ((i==3) && (j==3)) { Feld("pink"); Striche(2);}
+ if ((i==4) && (j==4)) { Feld("pink"); Striche(2);}
+ if ((i==5) && (j==5)) { Feld("pink"); Striche(2);}
+ if ((i==8) && (j==8)) { Feld("pink"); Striche(2);}
// Dreifacher Buchstabenwert
- if ((i==2) && (j==6)) { Feld("blue"); }
- if ((i==6) && (j==2)) { Feld("blue"); }
- if ((i==6) && (j==6)) { Feld("blue"); }
+ if ((i==2) && (j==6)) { Feld("blue"); Punkte(3);}
+ if ((i==6) && (j==2)) { Feld("blue"); Punkte(3);}
+ if ((i==6) && (j==6)) { Feld("blue"); Punkte(3);}
// Doppelter Buchstabenwert
- if ((i==7) && (j==7)) { Feld("lightblue"); }
- if ((i==3) && (j==7)) { Feld("lightblue"); }
- if ((i==7) && (j==3)) { Feld("lightblue"); }
- if ((i==8) && (j==4)) { Feld("lightblue"); }
- if ((i==4) && (j==8)) { Feld("lightblue"); }
- if ((i==1) && (j==4)) { Feld("lightblue"); }
- if ((i==4) && (j==1)) { Feld("lightblue"); }
+ if ((i==7) && (j==7)) { Feld("lightblue"); Punkte(2); }
+ if ((i==3) && (j==7)) { Feld("lightblue"); Punkte(2);}
+ if ((i==7) && (j==3)) { Feld("lightblue"); Punkte(2);}
+ if ((i==8) && (j==4)) { Feld("lightblue"); Punkte(2);}
+ if ((i==4) && (j==8)) { Feld("lightblue"); Punkte(2);}
+ if ((i==1) && (j==4)) { Feld("lightblue"); Punkte(2);}
+ if ((i==4) && (j==1)) { Feld("lightblue"); Punkte(2);}
// ansonsten normales Feld
Feld("lightgreen");
-
-
}
} // End For J
} // End For I
+}
-
- // Basisfeld erstellen
+// Basisfeld erstellen
module Feld(Farbe)
{
difference()
}
+module Punkte(AnzahlPunkte)
+{
+ if (AnzahlPunkte==2)
+ {
+ translate ([Kante/3, Kante/3, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
+ translate ([Kante/3*2, Kante/3*2, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
+ }
+ if (AnzahlPunkte==3)
+ {
+ translate ([Kante/4, Kante/4, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
+ translate ([Kante/4*2, Kante/4*2, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
+ translate ([Kante/4*3, Kante/4*3, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
+ }
+}
+
+
+
+module Striche(AnzahlStriche)
+{
+ if (AnzahlStriche==2)
+ {
+ translate ([Kante/3-Kantenbreite/2, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
+ translate ([Kante/3*2-Kantenbreite/2, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
+ }
+ if (AnzahlStriche==3)
+ {
+ translate ([Kante/4, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
+ translate ([Kante/4*2, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
+ translate ([Kante/4*3, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
+ }
+}
+
+
+
</PRE>