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