<pre>
-
-// "Rivers, Roads and Rails" / "Contact" / "Connect"
+// Rivers, Roads and Rails / Contact
// 2014-01-23 V1
// by Stratum 0
// License: WTF
RadiusB=Kante*2/4;
RadiusC=Kante*3/4;
Strichdicke=8;
-Kachelnummer=5;
+Kreisdicke=Strichdicke*1.5;
+Kachelnummer=93;
+
+
+// 1 rot: Leer schwarz: Leer blau: kleine Kurve Normalteil
+// 2 rot: Leer schwarz: Leer blau: Große Kurve Normalteil
+// 3 rot: Leer schwarz: Leer blau: Geradeaus Normalteil
+// 4 rot: Leer schwarz: Leer blau: Endet Normalteil
+// 5 rot: Leer schwarz: Kurve gen rot blau: Leer Normalteil
+// 6 rot: Leer schwarz: Kurve gen rot blau: kleine Kurve Gabel
+// 7 rot: Leer schwarz: Kurve gen rot blau: Große Kurve Normalteil
+// 8 rot: Leer schwarz: Kurve gen rot blau: Geradeaus Weiche
+// 9 rot: Leer schwarz: Kurve gen rot blau: Endet Normalteil
+// 10 rot: Leer schwarz: Kurve gen blau blau: Leer Normalteil
+// 11 rot: Leer schwarz: Kurve gen blau blau: kleine Kurve Normalteil
+// 15 rot: Leer schwarz: Geradeaus blau: Leer Normalteil
+// 16 rot: Leer schwarz: Geradeaus blau: kleine Kurve Weiche
+// 18 rot: Leer schwarz: Geradeaus blau: Geradeaus Normalteil
+// 19 rot: Leer schwarz: Geradeaus blau: Endet Normalteil
+// 20 rot: Leer schwarz: Endet blau: Leer Normalteil
+// 21 rot: Leer schwarz: Endet blau: kleine Kurve Normalteil
+// 23 rot: Leer schwarz: Endet blau: Geradeaus Normalteil
+// 25 rot: kleine Kurve schwarz: Leer blau: Leer Normalteil
+// 26 rot: kleine Kurve schwarz: Leer blau: kleine Kurve Weiche
+// 27 rot: kleine Kurve schwarz: Leer blau: Große Kurve Normalteil
+// 28 rot: kleine Kurve schwarz: Leer blau: Geradeaus Weiche
+// 29 rot: kleine Kurve schwarz: Leer blau: Endet Normalteil
+// 30 rot: kleine Kurve schwarz: Kurve gen rot blau: Leer Normalteil
+// 31 rot: kleine Kurve schwarz: Kurve gen rot blau: kleine Kurve Gabel
+// 32 rot: kleine Kurve schwarz: Kurve gen rot blau: Große Kurve Normalteil
+// 33 rot: kleine Kurve schwarz: Kurve gen rot blau: Geradeaus Weiche
+// 34 rot: kleine Kurve schwarz: Kurve gen rot blau: Endet Normalteil
+// 35 rot: kleine Kurve schwarz: Kurve gen blau blau: Leer Gabel
+// 36 rot: kleine Kurve schwarz: Kurve gen blau blau: kleine Kurve Gabel
+// 39 rot: kleine Kurve schwarz: Kurve gen blau blau: Endet Gabel
+// 40 rot: kleine Kurve schwarz: Geradeaus blau: Leer Weiche
+// 41 rot: kleine Kurve schwarz: Geradeaus blau: kleine Kurve Kreuzung
+// 43 rot: kleine Kurve schwarz: Geradeaus blau: Geradeaus Weiche
+// 44 rot: kleine Kurve schwarz: Geradeaus blau: Endet Weiche
+// 45 rot: kleine Kurve schwarz: Endet blau: Leer Normalteil
+// 48 rot: kleine Kurve schwarz: Endet blau: Geradeaus Weiche
+// 49 rot: kleine Kurve schwarz: Endet blau: Endet Normalteil
+// 50 rot: Große Kurve schwarz: Leer blau: Leer Normalteil
+// 51 rot: Große Kurve schwarz: Leer blau: kleine Kurve Normalteil
+// 60 rot: Große Kurve schwarz: Kurve gen blau blau: Leer Normalteil
+// 61 rot: Große Kurve schwarz: Kurve gen blau blau: kleine Kurve Normalteil
+
+
-if (Kachelnummer==1)
+if (Kachelnummer==32)
{
difference()
{
}
};
+if (Kachelnummer==61)
+{
+ difference()
+ {
+ CreateTile("white");
+ translate ([Kante/2,Kante/2,0]) CreateArch(RadiusA,"blue");
+ translate ([Kante/2,Kante/2,0]) CreateArch(RadiusB,"black");
+ translate ([Kante/2,Kante/2,0]) CreateArch(RadiusC,"red");
+ }
+};
+// 71 rot: Große Kurve schwarz: Endet blau: kleine Kurve Normalteil
+// 75 rot: Geradeaus schwarz: Leer blau: Leer Normalteil
+// 76 rot: Geradeaus schwarz: Leer blau: kleine Kurve Weiche
+// 78 rot: Geradeaus schwarz: Leer blau: Geradeaus Normalteil
+// 79 rot: Geradeaus schwarz: Leer blau: Endet Normalteil
+// 86 rot: Geradeaus schwarz: Kurve gen blau blau: kleine Kurve Weiche
+// 90 rot: Geradeaus schwarz: Geradeaus blau: Leer Normalteil
+// 91 rot: Geradeaus schwarz: Geradeaus blau: kleine Kurve Weiche
+// 92 rot: Geradeaus schwarz: Geradeaus blau: Große Kurve Normalteil
+
-if (Kachelnummer==2)
+// 93 rot: Geradeaus schwarz: Geradeaus blau: Geradeaus Normalteil
+if (Kachelnummer==93)
+{
+
+ difference()
+ {
+ CreateTile("white");
+ translate ([0,RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"red");
+ translate ([0,0,Hoehe-Kerbe]) CreateStraight(RadiusA,"black");
+ translate ([0,-RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"blue");
+ }
+};
+// 94 rot: Geradeaus schwarz: Geradeaus blau: Endet Normalteil
+if (Kachelnummer==94)
{
difference()
{
CreateTile("white");
- translate ([-Kante/2,Kante/2,0]) CreateArch(RadiusA,"red");
- translate ([-Kante/2,Kante/2,0]) CreateArch(RadiusB,"black");
- translate ([-Kante/2,Kante/2,0]) CreateArch(RadiusC,"blue");
+ translate ([0,RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"red");
+ translate ([0,0,Hoehe-Kerbe]) CreateStraight(RadiusA,"black");
+ translate ([-RadiusA,-RadiusA,Hoehe-Kerbe]) CreateEnd(RadiusA,"blue");
}
};
-if (Kachelnummer==3)
+
+// 95 rot: Geradeaus schwarz: Endet blau: Leer Normalteil
+if (Kachelnummer==95)
{
difference()
{
CreateTile("white");
- translate ([Kante/2,-Kante/2,0]) CreateArch(RadiusA,"red");
- translate ([Kante/2,-Kante/2,0]) CreateArch(RadiusB,"black");
- translate ([Kante/2,-Kante/2,0]) CreateArch(RadiusC,"blue");
+ translate ([0,RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"red");
+ translate ([-Kante/4,0,Hoehe-Kerbe]) CreateEnd(RadiusB,"black");
}
};
-if (Kachelnummer==4)
+// 96 rot: Geradeaus schwarz: Endet blau: kleine Kurve Weiche
+if (Kachelnummer==96)
{
difference()
{
CreateTile("white");
- translate ([-Kante/2,-Kante/2,0]) CreateArch(RadiusA,"red");
- translate ([-Kante/2,-Kante/2,0]) CreateArch(RadiusB,"black");
- translate ([-Kante/2,-Kante/2,0]) CreateArch(RadiusC,"blue");
+ translate ([-Kante/2,-Kante/2,Hoehe-Kerbe]) CreateArch(RadiusA,"blue");
+ translate ([-Kante/4,0,Hoehe-Kerbe]) CreateEnd(RadiusB,"black");
+ translate ([0,Kante/4,Hoehe-Kerbe]) CreateStraigt(RadiusC,"red");
}
};
+// 98 rot: Geradeaus schwarz: Endet blau: Geradeaus Normalteil
+if (Kachelnummer==98)
+{
+ difference()
+ {
+ CreateTile("white");
+ translate ([0,RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"red");
+ translate ([-Kante/4,0,Hoehe-Kerbe]) CreateEnd(RadiusB,"black");
+ translate ([0,-RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"blue");
+ }
+};// 99 rot: Geradeaus schwarz: Endet blau: Endet Normalteil
+// 101 rot: Endet schwarz: Leer blau: kleine Kurve Normalteil
+// 103 rot: Endet schwarz: Leer blau: Geradeaus Normalteil
+// 110 rot: Endet schwarz: Kurve gen blau blau: Leer Normalteil
-if (Kachelnummer==5)
+if (Kachelnummer==1096)
{
- translate ([-Kante/4,Kante/4,Hoehe-Kerbe]) CreateEnd(RadiusC,"blue");
+
difference()
{
CreateTile("white");
translate ([-Kante/2,-Kante/2,Hoehe-Kerbe]) CreateArch(RadiusA,"red");
+ translate ([-Kante/4,0,Hoehe-Kerbe]) CreateEnd(RadiusB,"black");
+ translate ([0,Kante/4,Hoehe-Kerbe]) CreateStraigt(RadiusC,"blue");
+ }
+};
+
+
+// 111 rot: Endet schwarz: Kurve gen blau blau: kleine Kurve Normalteil
+if (Kachelnummer==111)
+{
+ difference()
+ {
+ CreateTile("white");
+ translate ([-Kante/4,Kante/4,Hoehe-Kerbe]) CreateEnd(RadiusC,"red");
translate ([-Kante/2,-Kante/2,Hoehe-Kerbe]) CreateArch(RadiusB,"black");
-
+ translate ([-Kante/2,-Kante/2,Hoehe-Kerbe]) CreateArch(RadiusA,"blue");
}
};
+// 115 rot: Endet schwarz: Geradeaus blau: Leer Normalteil
+if (Kachelnummer==115)
+{
+ difference()
+ {
+ CreateTile("white");
+ translate ([-Kante/4,Kante/4,Hoehe-Kerbe]) CreateEnd(RadiusC,"red");
+ translate ([0,0,Hoehe-Kerbe]) CreateStraight(RadiusB,"black");
+ }
+};
+// 116 rot: Endet schwarz: Geradeaus blau: kleine Kurve Weiche
+if (Kachelnummer==116)
+{
+ difference()
+ {
+ CreateTile("white");
+ translate ([-Kante/4,Kante/4,Hoehe-Kerbe]) CreateEnd(RadiusC,"red");
+ translate ([0,0,Hoehe-Kerbe]) CreateStraight(RadiusB,"black");
+ translate ([-Kante/2,-Kante/2,Hoehe-Kerbe]) CreateArch(RadiusA,"blue");
+ }
+};
+
+// 118 rot: Endet schwarz: Geradeaus blau: Geradeaus Normalteil
+if (Kachelnummer==118)
+{
+ difference()
+ {
+ CreateTile("white");
+ translate ([-RadiusA,RadiusA,Hoehe-Kerbe]) CreateEnd(RadiusC,"red");
+ translate ([0,0,Hoehe-Kerbe]) CreateStraight(RadiusB,"black");
+ translate ([0,-RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusC,"blue");
+ }
+};
+// 119 rot: Endet schwarz: Geradeaus blau: Endet Normalteil
+if (Kachelnummer==119)
+{
+ difference()
+ {
+ CreateTile("white");
+ translate ([-RadiusA,RadiusA,Hoehe-Kerbe]) CreateEnd(RadiusC,"red");
+ translate ([0,0,Hoehe-Kerbe]) CreateStraight(RadiusB,"black");
+ translate ([0,-RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusC,"blue");
+ }
+};
+// 121 rot: Endet schwarz: Endet blau: kleine Kurve Normalteil
+if (Kachelnummer==121)
+{
+ difference()
+ {
+ CreateTile("white");
+ translate ([-RadiusA,RadiusA,Hoehe-Kerbe]) CreateEnd(RadiusC,"red");
+ translate ([-RadiusA,0,Hoehe-Kerbe]) CreateEnd(RadiusB,"black");
+ translate ([-RadiusA*2,-RadiusA*2,Hoehe-Kerbe]) CreateArch(RadiusA,"blue");
+ }
+};
+// 123 rot: Endet schwarz: Endet blau: Geradeaus Normalteil
+if (Kachelnummer==123)
+{
+ difference()
+ {
+ CreateTile("white");
+ translate ([-RadiusA,RadiusA,Hoehe-Kerbe]) CreateEnd(RadiusC,"red");
+ translate ([-RadiusA,0,Hoehe-Kerbe]) CreateEnd(RadiusB,"black");
+ translate ([0,-RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"blue");
+ }
+};
module CreateTile(myColor)
{
module CreateEnd(myLane, myColor)
{
color(myColor) cube([Kante/2,Strichdicke*2, Hoehe], center=true);
-
+ color(myColor) translate ([Kante/4,0,0]) cylinder(Hoehe, Kreisdicke, Kreisdicke, center=true, $fn=60);
+};
+
+module CreateStraight(myLane, myColor)
+{
+ color(myColor) cube([Kante,Strichdicke*2, Hoehe], center=true);
+
};
</pre>