Einfache Transformationen
Bis jetzt hast du gelernt, wie man 3D-Körper erstellt. In diesem Kapitel lernst du, wie du diese Körper im Raum bewegen, drehen und skalieren kannst. Diese Operationen nennt man Transformationen.
Du wirst die Befehle translate, rotate und scale kennenlernen.
Verschieben
Mit dem Befehl translate kannst du Objekte verschieben. Er nimmt einen Vektor als Argument, der die Verschiebung in den drei Raumrichtungen (x, y, z) angibt:
translate([x, y, z]) Anweisung;
// Zum Beispiel:
translate([10, 20, 30]) Anweisung;
Wenn du mehrere Objekte gemeinsam verschieben möchtest, kannst du sie in geschweifte Klammern einschließen:
translate([10, 20, 30]) {
Anweisung1;
Anweisung2;
}
▶Binärdateien
Verschiebe den zweiten Würfel so, dass beide Würfel sich berühren, aber nicht überlappen.
▶Binärdateien
Drehen
Mit dem Befehl rotate kannst du Objekte um die drei Raumachsen drehen. Er nimmt einen Vektor als Argument, der die Drehung in Grad angibt. Die Syntax sieht so aus:
rotate([x,y,z]) Anweisung;
// Zum Beispiel:
rotate([0, 0, 45]) Anweisung; // Dreht das Objekt um 45 Grad um die Z-Achse
Experimentiere mit dem rotate-Befehl, um verschiedene Drehungen an deinen Modellen auszuprobieren. Versuche zum Beispiel, ein Objekt um die X-Achse oder um die Y-Achse zu drehen.
▶Binärdateien
Skalieren
Mit dem Befehl scale kannst du Objekte in den drei Raumrichtungen skalieren. Er nimmt einen Vektor als Argument, der die Skalierung angibt. Die Syntax sieht so aus:
scale([x,y,z]) Anweisung;
// Zum Beispiel:
scale([2, 1, 1]) Anweisung; // Verdoppelt die Größe des Objekts in X-Richtung
Experimentiere mit dem scale-Befehl, um verschiedene Skalierungen an deinen Modellen auszuprobieren. Versuche zum Beispiel, ein Objekt in einer Richtung zu skalieren und in einer anderen Richtung zu verkleinern.
▶Binärdateien
Kombinieren von Transformationen
Du kannst mehrere Transformationen kombinieren, indem du sie hintereinander schreibst.
Achtung – Lesereihenfolge vs. Ausführungsreihenfolge!
OpenSCAD wendet Transformationen von innen nach außen an – also von rechts nach links. In dieser Zeile:
translate([10, 0, 0]) rotate([0, 0, 45]) cube(10);
wird der Würfel zuerst gedreht, dann verschoben – obwohl translate im Code zuerst steht.
Eine gute Eselsbrücke: Lies den Code von rechts nach links (oder von unten nach oben, wenn jeder Befehl auf einer eigenen Zeile steht).
Beobachte, wie sich die Reihenfolge der Transformationen auf das Ergebnis auswirkt. Der gelbe und der rote Würfel verwenden dieselben Transformationen in unterschiedlicher Reihenfolge.