belnet raus da einmalig
[stratum0-wiki.git] / Gesellschaftsspiel-Replikator%2FDomino_V1.mw
1 [[Datei:Blinden-Domino.png|thumb|Blinden-Domino]]
2
3 <pre>
4
5 // Blindendomino
6 // 2014-01-22 V1
7 // by Stratum 0
8 // License: WTF
9
10 // **************************************
11 // ** Dominos bitte *massiv* drucken! **
12 // **************************************
13
14 $fn=20;
15 LangeKante=40;
16 KurzeKante=LangeKante/2;
17 Hoehe=LangeKante/8;
18 Ausschnitt=15;
19 Kerbe=2;
20 Punktpos=LangeKante/2-Kerbe;
21 Punkthoehe=Kerbe;
22 Punktbasis=2;
23 Punktspitze=0;
24 Punktabstand=4;
25 Rechts=1;
26 Links=-1;
27 Abstand=2;
28
29 //MyDomino();
30
31
32 //module MyDomino()
33 {
34
35
36 for (i = [1:6])
37 {
38 for (j = [1:6])
39 {
40 translate([(LangeKante+Abstand)*i+Abstand,(KurzeKante+Abstand)*j,0]) CutDomino();
41 translate([(LangeKante+Abstand)*i+Abstand,(KurzeKante+Abstand)*j,0]) CreateValue("purple", i, Links);
42 translate([(LangeKante+Abstand)*i+Abstand,(KurzeKante+Abstand)*j,0]) CreateValue("pink", j, Rechts);
43 } // End For J
44 } // End For I
45 } // End Module
46
47
48 module CutDomino()
49 {
50 difference()
51 {
52 // Basisdomino erstellen
53 cube([LangeKante, KurzeKante, Hoehe], center=true);
54
55 // Ausschnitt für Einkerbungen erstellen
56 // Rechte Seite
57
58 color("lightblue") translate ([LangeKante/4,0,Kerbe]) cube([Ausschnitt, Ausschnitt, Kerbe*2],center=true);
59
60 // Ausschnitt für Einkerbungen erstellen
61 // Linke Seite
62
63 color("blue") translate ([-LangeKante/4,0,Kerbe]) cube([Ausschnitt, Ausschnitt,Kerbe*2],center=true);
64
65 };// End Difference
66 }; // End Module
67
68
69 // Punkte hinzufügen
70
71 module CreateValue(Farbe, Value, Seite)
72 {
73 if (Value==1)
74 {
75 punkt(Farbe, 8, Seite);
76 }
77
78 if (Value==2)
79 {
80 punkt(Farbe, 1, Seite);
81 punkt(Farbe, 6, Seite);
82 }
83
84 if (Value==3)
85 {
86 punkt(Farbe, 1, Seite);
87 punkt(Farbe, 8, Seite);
88 punkt(Farbe, 6, Seite);
89 }
90
91 if (Value==4)
92 {
93 punkt(Farbe, 1, Seite);
94 punkt(Farbe, 3, Seite);
95 punkt(Farbe, 4, Seite);
96 punkt(Farbe, 6, Seite);
97 }
98
99 if (Value==5)
100 {
101 punkt(Farbe, 1, Seite);
102 punkt(Farbe, 3, Seite);
103 punkt(Farbe, 8, Seite);
104 punkt(Farbe, 4, Seite);
105 punkt(Farbe, 6, Seite);
106 }
107
108 if (Value==6)
109 {
110 punkt(Farbe, 1, Seite);
111 punkt(Farbe, 2, Seite);
112 punkt(Farbe, 3, Seite);
113 punkt(Farbe, 4, Seite);
114 punkt(Farbe, 5, Seite);
115 punkt(Farbe, 6, Seite);
116
117 }
118 };
119
120
121
122
123
124 module punkt(Farbe,PunktPos,Seite)
125 {
126
127 if (PunktPos==1)
128 {
129 color(Farbe)
130 translate([LangeKante/4*Seite-Punktabstand,Punktabstand,Kerbe*0])
131 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
132 }
133
134
135 if (PunktPos==2)
136 {
137 color(Farbe)
138 translate([LangeKante/4*Seite-Punktabstand,0,Kerbe*0])
139 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
140 }
141
142
143 if (PunktPos==3)
144 {
145 color(Farbe)
146 translate([LangeKante/4*Seite-Punktabstand,-Punktabstand,Kerbe*0])
147 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
148 }
149
150
151 if (PunktPos==4)
152 {
153 color(Farbe)
154 translate([LangeKante/4*Seite+Punktabstand,+Punktabstand,Kerbe*0])
155 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
156 }
157
158
159 if (PunktPos==5)
160 {
161 color(Farbe)
162 translate([LangeKante/4*Seite+Punktabstand,0,Kerbe*0])
163 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
164 }
165
166
167 if (PunktPos==6)
168 {
169 color(Farbe)
170 translate([LangeKante/4*Seite+Punktabstand,-Punktabstand,Kerbe*0])
171 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
172 }
173
174
175 if (PunktPos==7)
176 {
177 color(Farbe)
178 translate([LangeKante/4*Seite,Punktabstand,Kerbe*0])
179 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
180 }
181
182
183 if (PunktPos==8)
184 {
185 color(Farbe)
186 translate([LangeKante/4*Seite,0,Kerbe*0])
187 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
188 }
189
190
191 if (PunktPos==9)
192 {
193 color(Farbe)
194 translate([LangeKante/4*Seite,-Punktabstand,Kerbe*0])
195 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
196 }
197
198 };
199
200
201 </pre>
This page took 0.054373 seconds and 5 git commands to generate.