Rückblick
Mit Verschieben, Drehen und Verrechnen kannst du aus einfachen Körpern fast jede Form bauen. Zwei Dinge entscheiden dabei über Erfolg oder Ärger: die Reihenfolge und die Überlappung.
Das kann ich jetzt
- Ich kann Objekte verschieben, drehen und skalieren. (3.1)
- Ich kann erklären, warum Drehen und Verschieben nicht vertauschbar sind. (3.1)
- Ich kann
union,differenceundintersectioneinsetzen. (3.2) - Ich weiß, warum abziehende Körper etwas größer sein müssen. (3.2)
- Ich kann
hull,minkowskiundlinear_extrudeerklären. (3.3)
Gemischte Aufgaben
Aufgabe 1: Reihenfolge
// A
translate([30, 0, 0]) rotate([0, 0, 45]) cube([20, 5, 5]);
// B
rotate([0, 0, 45]) translate([30, 0, 0]) cube([20, 5, 5]);
a) Sag vor dem Ausführen voraus, worin sich A und B unterscheiden.
b) Prüfe es im Modellierbereich, indem du abwechselnd eine der beiden Zeilen auskommentierst.
c) Formuliere eine Regel: Was gilt, wenn ein rotate vor einem translate steht?
d) Du willst einen Zeiger, der vom Ursprung ausgeht und um 45 Grad geneigt ist. Welche der beiden Fassungen brauchst du?
Tipp
Lies die Zeile von rechts nach links: Was am nächsten am Körper steht, wirkt zuerst.
Bei B wird der Würfel also erst verschoben und dann samt seiner neuen Position gedreht – er wandert dabei auf einer Kreisbahn um den Ursprung.
Binärdateien
Aufgabe 2: Ein Schlüsselanhänger
Bau einen Schlüsselanhänger:
a) ein flacher Quader, 40 mal 20 mal 4 Millimeter,
b) an einem Ende ein halbrunder Abschluss – ein Zylinder mit passendem Radius, mit dem Quader vereinigt,
c) darin ein Loch mit 6 Millimetern Durchmesser für den Schlüsselring,
d) achte darauf, dass das Loch wirklich durchgeht.
e) Erkläre, warum die Reihenfolge innerhalb von difference hier entscheidend ist.
Tipp 1: Erst zusammen, dann abziehen
Die Grundform besteht aus zwei Teilen, das Loch wird von beiden abgezogen. Also:
difference() {
union() {
// Quader und Zylinder
}
// der abziehende Zylinder
}
Tipp 2: Das Loch
Der abziehende Zylinder muss oben und unten über das Werkstück hinausragen:
translate([0, 10, -1]) cylinder(h=6, r=3);
Bei 4 Millimetern Materialstärke ist ein Zylinder mit Höhe 6, der 1 Millimeter tiefer beginnt, genau richtig.