Ein Rohrwinkel wird benötigt, damit ein Rohr um eine Ecke geführt werden kann.
Mit dem Befehl rotate_extrude(angle = ...,convexity = ...) kann ein 2D-Element, z.B. ein Kreis, um die Z-Achse gedreht und dadurch in ein 3D-Element geformt werden.
rotate_extrude(convexity = 10) = ohne "angle = ... ergibt immer einen vollen Ring mit 360 Grad. Durch die Winkeleingabe bei angle = ... kann das Maß beeinflusst werden:
Zum Beispiel veranlasst:
rotate_extrude(angle = 180, convexity = 10) einen halben Ring zu erzeugen.
Die erste Bemaßung
Außendurchmesser vom Ring: 40,
Materialstärke: 10 (r = 5)
Der rote Kreis in der Mitte ist der Koordinaten-Nullpunkt. Von hier aus wird alles berechnet in alle Achsen und auch Richtungen (+ oder -)
Vom Koordinaten-Mittelpunkt zum Mittelpunkt des Ringes sind es 15.
Daher rühren die 15 = (40 (Aussen∅) / 2 ) - 5 (Radius r)
Der erste Kreis in 2D!
Als Erstes wird ein Kreis mit Radius r = 5 erzeugt: circle(r = 5);. Dies ergibt einen Außendurchmesser von 10.
Das ist ein 2D-Element und wird mit Höhe von 1 automatisch erzeugt.
Schiebung!
Danach wird der Kreis mit translate([15, 0, 0]) in seine eigentliche Position auf der X-Achse verschoben: 15.
Nur ein Viertele
Durch den Befehl rotate_extrude wird eine Rotation ausgelöst. Diese geschieht grundsätzlich um die Z-Achse! Das Element wird dadurch automatisch gedreht!
Über (angle = 90, ...) wird ein Winkel von 90 Grad angegeben. Ohne Angabe würde ein kompletter Ring mit 360 Grad erzeugt.
difference
Nun haben wir einen massiven Viertel-Ring. Über den Befehl difference() { ...} wird von Element A das Element B abgezogen.
Dies bedeutet, von einem großen massiven Viertel-Ring wird ein selbiger mit einem kleineren Durchmesser abgezogen. Dadurch entsteht ein Rohr. Ob das Gebogen, wie in unserem Fall, oder gerade ist, spielt überhaupt keine Rolle: es wird abgezogen.
Als Element B, den Viertel-Ring mit dem kleineren Durchmesser, erstellen wir durch die drei Zeilen wie beim großen Ring.
Der einzige Unterschied ist der Durchmesser von 8, entsprechend r= 4. Dadurch entsteht eine Wandstärke von 1.
Die drei Zeilen von oben kopieren, unten einfügen und die Zahl 5 auf 4 ändern. Das war es schon.
Ziehe von A das B ab!
Materialstärke 8 (r=4)
Verlängerung zum Säubern?
Wir verlängern nur den Winkel von 90 auf 91 Grad ...
Zweite Säuberung
Für den zweiten Abschluss benötigen wir eine dünne Scheibe, die dem Durchmesser des Innenrohres entspricht: 8, also r=4.
Hier kommt uns der neue Befehl # zu Hilfe!
Durch voranstellen der Raute (#) an einen Satz wird dieses erzeugte Element leicht rötlich und halb durchsichtig dargestellt.
Zwischen // Element B = kleiner ... und } fügen wir noch die 4 Zeilen von // Element C = Scheibe ein:
Alles Scheibe in rot
Die "rote Scheibe" wird erzeugt:
Die Scheibe steht hier noch im Mittelpunkt des Koordinatensystems, jedoch bereits um 90 Grad um die X-Achse gedreht.
Ran an die Position!
Die rote Scheibe wird nun an der richtigen Stelle positioniert:
Durch das Einfügen von 15 statt 0 bei translate([15, 0, 0]) wird die Scheibe an die gewünschte Position verschoben: halb im Rohr und halb außerhalb. Zur besseren Begutachtung ist die Raute # noch aktiv.
Endlich alles sauber und rein!
Die beiden sauberen Abschlüsse
Bemerkung:
Beim Befehl difference() {.....} hat sich kaum etwas bemerkbar gemacht: es wurden zwei Elemente von Element A abgezogen!
Dies ist jedoch völlig richtig. Vom ersten Element ( bei uns: A) werden alle nachfolgende Elemente ( B und C und ...) abgezogen, bis es zur schließenden geschweiften Klammer } kommt.