X-Git-Url: https://git.rohieb.name/stratum0-wiki.git/blobdiff_plain/7209e468d51a09e99e3c50bd3e46c9808119d402..f91074b41b2ad35550f570959cb9510f03b34d2e:/Gesellschaftsspiel-Replikator%2FConnect_V1.mw?ds=sidebyside diff --git a/Gesellschaftsspiel-Replikator%2FConnect_V1.mw b/Gesellschaftsspiel-Replikator%2FConnect_V1.mw index 7b15f5872..a41c77119 100644 --- a/Gesellschaftsspiel-Replikator%2FConnect_V1.mw +++ b/Gesellschaftsspiel-Replikator%2FConnect_V1.mw @@ -1,7 +1,6 @@
- -// "Rivers, Roads and Rails" / "Contact" / "Connect" +// Rivers, Roads and Rails / Contact // 2014-01-23 V1 // by Stratum 0 // License: WTF @@ -14,69 +13,355 @@ RadiusA=Kante/4; RadiusB=Kante*2/4; RadiusC=Kante*3/4; Strichdicke=8; -Kachelnummer=5; +Kreisdicke=Strichdicke*1.5; +Kachelnummer=27; + +// Es fehlen noch die Teile, wo eine Farbe endet und eine andere beginnt. + +// 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 +if (Kachelnummer==27) +{ + difference() + { + CreateTile("white"); + translate ([-RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusA,"red"); + translate ([-RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusC,"blue"); + } +}; +// 28 rot: kleine Kurve schwarz: Leer blau: Geradeaus Weiche +if (Kachelnummer==28) +{ + difference() + { + CreateTile("white"); + translate ([-RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusA,"red"); + translate ([0,-RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"blue"); + } +}; +// 29 rot: kleine Kurve schwarz: Leer blau: Endet Normalteil +if (Kachelnummer==29) +{ + difference() + { + CreateTile("white"); + translate ([-RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusA,"red"); + translate ([-RadiusA,-RadiusA,Hoehe-Kerbe]) CreateEnd(RadiusA,"blue"); + } +}; +// 30 rot: kleine Kurve schwarz: Kurve gen rot blau: Leer Normalteil +if (Kachelnummer==30) +{ + difference() + { + CreateTile("white"); + translate ([RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusA,"red"); + translate ([RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusB,"black"); + } +}; +// 31 rot: kleine Kurve schwarz: Kurve gen rot blau: kleine Kurve Gabel +if (Kachelnummer==31) +{ + difference() + { + CreateTile("white"); + translate ([RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusA,"red"); + translate ([RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusB,"black"); + translate ([-RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusA,"blue"); + } +}; +// 32 rot: kleine Kurve schwarz: Kurve gen rot blau: GroÃe Kurve Normalteil + -if (Kachelnummer==1) +if (Kachelnummer==32) { difference() { CreateTile("white"); - translate ([Kante/2,Kante/2,0]) CreateArch(RadiusA,"red"); + translate ([RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusA,"red"); + translate ([RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusB,"black"); + translate ([RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusC,"blue"); + } +}; +// 33 rot: kleine Kurve schwarz: Kurve gen rot blau: Geradeaus Weiche +if (Kachelnummer==33) +{ + difference() + { + CreateTile("white"); + translate ([RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusA,"red"); + translate ([RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusB,"black"); + translate ([0,-RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"blue"); + } +}; +// 34 rot: kleine Kurve schwarz: Kurve gen rot blau: Endet Normalteil +if (Kachelnummer==34) +{ + difference() + { + CreateTile("white"); + translate ([-RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusA,"red"); + translate ([-RadiusB,RadiusB,Hoehe-Kerbe]) CreateArch(RadiusB,"black"); + translate ([-RadiusA,-RadiusA,Hoehe-Kerbe]) CreateEnd(RadiusA,"blue"); + } +}; +// 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 +if (Kachelnummer==50) +{ + difference() + { + CreateTile("white"); + translate ([RadiusA*2,RadiusA*2,Hoehe-Kerbe]) CreateArch(RadiusC,"red"); + } +}; +// 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==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,"blue"); + 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 +if (Kachelnummer==76) +{ + difference() + { + CreateTile("white"); + translate ([0,RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"red"); + translate ([-Kante/2,-Kante/2,Hoehe-Kerbe]) CreateArch(RadiusA,"blue"); + } +}; +// 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 +if (Kachelnummer==86) +{ + difference() + { + CreateTile("white"); + translate ([0,RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"red"); + translate ([-RadiusB,-RadiusB,Hoehe-Kerbe]) CreateArch(RadiusB,"black"); + translate ([-Kante/2,-Kante/2,Hoehe-Kerbe]) CreateArch(RadiusA,"blue"); + } +}; +// 90 rot: Geradeaus schwarz: Geradeaus blau: Leer Normalteil +if (Kachelnummer==90) +{ + difference() + { + CreateTile("white"); + translate ([0,RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"red"); + translate ([0,0,Hoehe-Kerbe]) CreateStraight(RadiusA,"black"); } }; +// 91 rot: Geradeaus schwarz: Geradeaus blau: kleine Kurve Weiche +if (Kachelnummer==91) +{ + difference() + { + CreateTile("white"); + translate ([0,RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"red"); + translate ([0,0,Hoehe-Kerbe]) CreateStraight(RadiusA,"black"); + translate ([-Kante/2,-Kante/2,Hoehe-Kerbe]) CreateArch(RadiusA,"blue"); + } +}; -if (Kachelnummer==2) + +// 93 rot: Geradeaus schwarz: Geradeaus blau: Geradeaus Normalteil +if (Kachelnummer==93) { + 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 ([0,-RadiusA,Hoehe-Kerbe]) CreateStraight(RadiusA,"blue"); } }; +// 94 rot: Geradeaus schwarz: Geradeaus blau: Endet Normalteil +if (Kachelnummer==94) +{ + difference() + { + CreateTile("white"); + 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) { @@ -98,7 +383,12 @@ module CreateArch(myRadius, 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); + +};