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