2 [[Datei:Ein Viertel Scrabble-Brett.PNG|thumb|OpenSCAD Entwurf von einem Scrabble-Brett (ein Viertel)]]
30 cube ([Kante*(Viertelfeld+0.5), Kante*(Viertelfeld+0.5), Kante*(Viertelfeld+0.5)]);
37 for (i = [1:Viertelfeld])
39 for (j = [1:Viertelfeld])
41 translate([(Kante+Abstand)*i+Abstand,(Kante+Abstand)*j,0])
44 if ((i==1) && (j==1)) { Feld("red"); Striche(3);}
45 if ((i==1) && (j==8)) { Feld("red"); Striche(3);}
46 if ((i==8) && (j==1)) { Feld("red"); Striche(3);}
49 if ((i==2) && (j==2)) { Feld("pink"); Striche(2);}
50 if ((i==3) && (j==3)) { Feld("pink"); Striche(2);}
51 if ((i==4) && (j==4)) { Feld("pink"); Striche(2);}
52 if ((i==5) && (j==5)) { Feld("pink"); Striche(2);}
53 if ((i==8) && (j==8)) { Feld("pink"); Striche(2);}
55 // Dreifacher Buchstabenwert
56 if ((i==2) && (j==6)) { Feld("blue"); Punkte(3);}
57 if ((i==6) && (j==2)) { Feld("blue"); Punkte(3);}
58 if ((i==6) && (j==6)) { Feld("blue"); Punkte(3);}
60 // Doppelter Buchstabenwert
61 if ((i==7) && (j==7)) { Feld("lightblue"); Punkte(2); }
62 if ((i==3) && (j==7)) { Feld("lightblue"); Punkte(2);}
63 if ((i==7) && (j==3)) { Feld("lightblue"); Punkte(2);}
64 if ((i==8) && (j==4)) { Feld("lightblue"); Punkte(2);}
65 if ((i==4) && (j==8)) { Feld("lightblue"); Punkte(2);}
66 if ((i==1) && (j==4)) { Feld("lightblue"); Punkte(2);}
67 if ((i==4) && (j==1)) { Feld("lightblue"); Punkte(2);}
69 // ansonsten normales Feld
78 // Basisfeld erstellen
83 cube([Kante, Kante, Hoehe+Randhoehe], center=false);
85 translate ([Kantenbreite,Kantenbreite,Hoehe-Randhoehe])
87 cube([Kante-Kantenbreite-Kantenbreite, Kante-Kantenbreite-Kantenbreite, Hoehe+Randhoehe], center=false);
93 module Punkte(AnzahlPunkte)
97 translate ([Kante/3, Kante/3, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
98 translate ([Kante/3*2, Kante/3*2, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
102 translate ([Kante/4, Kante/4, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
103 translate ([Kante/4*2, Kante/4*2, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
104 translate ([Kante/4*3, Kante/4*3, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
110 module Striche(AnzahlStriche)
112 if (AnzahlStriche==2)
114 translate ([Kante/3-Kantenbreite/2, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
115 translate ([Kante/3*2-Kantenbreite/2, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
117 if (AnzahlStriche==3)
119 translate ([Kante/4, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
120 translate ([Kante/4*2, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
121 translate ([Kante/4*3, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);