i

Objekte verändern

Kombination

Im Abschnitt Mathematische Grundlagen wurde bereits beschrieben, wie du mehrere Objekte kombinieren kannst. Am häufigsten wirst du mehrer Objekte gleichzeitig darstellen. Zur Erinnerung: Es gibt folgende Möglichkeiten:

  • union{ object1(); object2() }
    Beide Objekte werden dargestellt.
  • difference{ object1(); object2() }
    Aus dem 1. Objekt wird alles entfernt, was auch in Objekt 2 ist.
  • intersection{ object1(); object2() }
    Es wird nur das dargestellt, was zu beiden Objekten gehört.

Wenn du keine Angaben machst, wird implizit eine Vereinigung durchgeführt.

Transformation: Skalieren, Größe ändern

Du kannst im Nachhinein ein Objekt in alle drei Richtungen strecken oder stauchen und damit z.B. aus einem normalen Zylinder einen Zylinder mit elliptischer Grundfläche machen.

Beispiel (klicke jeweils auf den Quellcode, um die Darstellung zu sehen)

Aus einem Zylinder mit dem Radius 20 und der Höhe 1
cylinder(1,20,20);
wird ein Zylinder mit elliptischer Grundfläche der Länge 30 (da er in x-Richtung mit dem Faktor 1,5 gestreckt wird), der Breite 10 (da er in y-Richtung mit dem Faktor 0,5 gestaucht wird) und der Höhe 7,5 (da er in z-Richtung mit dem Faktor 7,5 gestreckt wird) durch
scale([1.5,0.5,7.5]) cylinder(1,20,20);
Einfacher ist es manchmal durch resize die endgültigen Maße in x-, y- und z-Richtung anzugeben.
resize([80,20,1.5]) cylinder(1,20,20);

Zylinder
Zylinder mit elliptischer Grundfläche
Zylinder mit elliptischer Grundfläche

Transformation: Rotation (Drehung)

Du kannst Objekte um die Koordinatenachsen rotieren.

Tipp: Wenn du Rotieren und Verschieben musst, dann rotiere zunächst ein Objekt und verschiebe es erst im Anschluss! Umgekehrt ist es viel schwerer...
Klicke auf die Zeile, um das jeweilige Objekt ein- oder auszublenden.

cube(10); // Würfel mit der Kantenlänge 10
rotate([45,0,0]) cube(10); // Würfel gedreht um 45° um x-Achse
rotate([0,45,0]) cube(10); // Würfel gedreht um 45° um y-Achse
rotate([0,0,45]) cube(10); // Würfel gedreht um 45° um z-Achse
rotate([45,45,0]) cube(10); // erst um x- und dann um y-Achse
rotate([45,45,45]) cube(10); // um alle A. (erst x, dann y, dann z)

Die Rotationsrichtung geben dir die Finger deiner rechten Hand an, wenn dein Daumen in Richtung der jeweiligen Achse zeigt.

Würfel
Würfel
Würfel
Würfel
Würfel
Würfel

Transformation: Translation (Verschiebung)

Du kannst Objekte in beliebige Richtungen parallel verschieben. Klicke auf die Zeile, um das jeweilige Objekt ein- oder auszublenden.

cube(10); // Würfel mit der Kantenlänge 10
translate([15,0,0]) cube(10); // in Richtung der x-Achse verschoben
translate([0,15,0]) cube(10); // in Richtung der y-Achse verschoben
translate([0,0,15]) cube(10); // in Richtung der z-Achse verschoben
translate([10,-5,15]) cube(10); // in alle Richtungen verschoben

Würfel
Würfel
Würfel
Würfel
Würfel

Transformation: Spiegeln

Du kannst Objekte an den verschiedenen Ebenen des Koordinatensystem spiegeln. Klicke auf die Zeile, um das jeweilige Objekt ein- oder auszublenden. Zusätzlich wird das Ausgangsobjekt dargestellt, damit du es dir besser vorstellen kannst.

prisma(); // Aufruf von Modul Prisma
mirror([1,0,0]) prisma(); // in Richtung der x-Achse gespiegelt
mirror([0,1,0]) prisma(); // in Richtung der y-Achse gespiegelt
mirror([0,0,1]) prisma(); // in Richtung der z-Achse gespiegelt
mirror([1,1,0]) prisma(); // in Richtung der 1. Winkelhalbierenden

Das Prisma wird eigentlich erzeugt durch

module prisma(){
    linear_extrude(2)polygon(points=[[0,0],[15,0],[12,8]]);
}
Prisma
Prisma
Prisma
Prisma
Prisma

Suche

v
14.2.3.3.4
www.inf-schule.de/projekte/3d_druck/grundlage_cad/openscad/veraenderungen
www.inf-schule.de/14.2.3.3.4
www.inf-schule.de/@/page/J3Q9yy1vySjGWYrP

Rückmeldung geben