Sarah Marie Bopp,
Angewandte Informatik B.Sc., 4. Semester
Anfängerpraktikum
unter der Betreuung von Frau Dr. Susanne Krömker
Ziel dieses Anfängerpraktikums war es, ein 3D druckfähiges Modell des MATHEMATKONS zu erstellen. Hierfür habe ich als Hilfestellung eine ply-Datei, d.h. ein 3D Objekt, des MATHEMATIKON-Modells bekommen, welches damals von den Architekten erstellt wurde. Das Modell der Datei war in seiner Form nicht 3D druckbar.
Für die Bearbeitung und Erstellung habe ich das 3D-Graphikprogramm Blender benutzt, welches als Open-Source-Software zur kostenlosen Nutzung zur Verfügung steht.
Blender ist ein komplex aufgebautes Softwareprogramm, welches viele Funktionalitäten anbietet. Es finden sich eine reichhaltige Dokumentation und eine große Quelle an Tutorials zur Einführung im Internet, sodass eine kurze Zusammenfassung der Grundlagen schwerfällt.
Aus diesem Grund finden sich unten nur einige der Basics, welche für mich beim Bearbeiten des Praktikums am relevantesten waren.
Man erkennt hier das Interface von Blender mit der Topbar ganz oben, den Areas im großen Mittelteil und schließlich ganz unten der Statusbar. Die Topbar ist zunächst relativ selbsterklärend, man kann importieren, speichern etc. Weiter rechts kann man zwischen den verschiedenen, sogenannten Workspaces wechseln, welche unterschiedliche Voreinstellungen für das Modellieren enthalten. Ich habe hauptsächlich nur zwei Workspaces benötigt: den Default Workspace „Layout“ und den „Modeling“ Workspace.
Besonders interessant ist die Unterscheidung der beiden Modi Object Mode und Edit Mode. Hierbei ist der Object Mode der Default vom „Layout“ Workspace, der Edit Mode der Default vom „Modeling“ Workspace. Der Objektmodus erlaubt Interaktionen mit dem gesamten Objekt, wie Bewegen, Vergrößern oder Verkleinern (Skalieren), Rotieren oder Löschen. Der Editiermodus hingegen wird für feinere, detailliertere Operationen benutzt.
Links im Bereich der Areas findet man die Toolbar, d.h. eine Leiste mit interaktiven Werkzeugen zur Bearbeitung des Objekts. Rechts oben zeigt die Sidebar Einstellungen zum ausgewählten Objekt.
Die Status Bar zeigt praktische Shortcuts oder Funktionalitäten, welche je nach Workspace unterschiedlich sein können und durch Kontextsensitivität angepasst werden. Sehr hilfreich ist der rechte Teil in der Statusleiste, welcher Informationen über die aktuelle Collection anzeigt: welche Collection und welches Objekt im Moment ausgewählt sind, die Anzahl der Knotenpunkte, der Flächen und der Dreiecke, jeweils dabei die ausgewählten und die Gesamtzahl. Außerdem wird die Anzahl an ausgewählten Objekten in der Collection angezeigt. Ganz rechts steht noch eine Schätzung des benutzten Arbeitsspeichers und die installierte Version von Blender, in meinem Fall die Version 2.81.
Schließlich möchte ich noch die verschiedenen Auswählmöglichkeiten im Editiermodus hervorheben. Man kann zwischen dem Auswählen von Knotenpunkten, Kanten und Flächen wählen, je nachdem, was am besten für das aktuelle Bearbeiten am hilfreichsten ist.
Um ein Modell zu erstellen, welches 3D druckfähig ist, muss man selbstverständlich erst einmal die Voraussetzungen für den 3D Druck kennen. In der unteren Liste findet sich eine Zusammenstellung, welche mir eine Richtlinie im Verlauf des Praktikums war.
⇒ Das Objekt muss eine Mannigfaltigkeit sein.
Da unterschiedliche 3D Drucker zusätzliche spezifische Voraussetzungen für einen 3D Druck haben, habe ich mich beim URZ erkundigt, ob es weitere Vorgaben von ihrer Seite aus gibt. Der 3D Drucker des URZ ist vom Modell ProJet 460Plus und verwendet das Verfahren "Color Jet Printing (CJP)" oder auch "3D Pulverdruck" mit Gipspulver. Die maximale Druckgröße ist 20 x 25 x 20 cm. Wichtig für mein Projekt war die Anforderung der Mindestdicke der Wände von 4 oder 5 mm.
Neben der spannenden Erfahrung in das 3D Druckerzentrum der Universität zu dürfen, hatte ich das Glück, dass ich vorherige Versuche eines 3D Drucks des MATHEMATIKONS begutachten konnte. Da nicht alle Voraussetzungen erfüllt waren, erkennt man auf diesen Bildern des Modells eingestürzte Strukturen oder nicht eindeutig ausgeprägte Details.
Die Grundgedanke des ersten Ansatzes war es, von der Originaldatei ausgehend zu modifizieren und überflüssige oder störende Strukturen zu entfernen.
Dafür musste das Ausgangsmodell zunächst skaliert, in diesem Fall deutlich verkleinert, und rotiert werden. Dies ist mit den Tools "Scale" (Abb. 1) und "Rotate" (Abb. 2) aus der Toolbar möglich.
Da die Datei so groß, das Modell so umfangreich und der Detailgrad so hoch war, wollte ich zunächst grob vereinfachen. Blender bietet verschiedene Operationen und Werkzeuge an, um das Modell zu „säubern“, d.h. überflüssige Strukturen zu entfernen, zu simplifizieren und mehr. Dabei ist wichtig, dass man immer markieren muss, welche Teile man bearbeiten möchte (ggf. natürlich das gesamte Modell), bevor man die Operationen zum Clean Up ausführt.
Auf diesem Bild erkennt man beispielsweise, dass die Voraussetzung, dass keine doppelten oder sehr nah beieinander liegende Punkte existieren dürfen, nicht erfüllt ist. Der Ausschnitt zeigt einen Teil einer Fensterstruktur an der Außenfassade des MATHEMATIKONS.
Durch das Ausführen der verschiedenen Clean-Up-Operationen, wie Mesh > Clean Up > Merge by Distance, welches Knotenpunkte, welche unter einer bestimmten Distanz liegen, vereinigt, war zu beobachten, dass die Anzahl der Knotenpunkte, Kanten und Flächen zwar langsam abnimmt, trotzdem jedoch noch im 6- bis 7-stelligen Bereich liegt. Auch die Operation unter Mesh > Clean Up > Delete Loose Geometry zum Entfernen überflüssiger Strukturen hat nicht viel verändert.
Mein nächster Einfall war, die inneren Strukturen, welche sowieso nicht gedruckt werden sollten, aus der Datei zu entfernen. Das komplette Innere des Modells sollte hohl sein und beim Druck zur Stabilität beitragen, indem das Pulver nicht nach außen gelingen kann und so das Innere ausfüllt. Meine Hoffnung war, dass das Äußere und das Innere bereits sauber getrennt vorlagen.
Hier erkennt man in hellblau die Normalen der Flächen. Die Anzahl ist unglaublich groß und eine Neuberechnung für einzelne Flächen, welche noch nicht richtig in Außen und Innen eingeteilt waren, war nicht möglich. Daher habe ich auch diese Idee verwerfen müssen.
Nach weiterer Recherche bin ich auf die sogenannte 3D Print Toolbox, ein Add-On Blenders, gestoßen. Mithilfe dieser Toolbox können unter anderem verschiedene Checks, d.h. Überprüfungen durchgeführt werden. Wichtig zu wissen ist, dass bei der Ausführung der Checks erst einmal die Knotenpunkte, Kanten oder Flächen markiert werden, die auffallen. Erst im nächsten Schritt kann man sich diese Strukturen entweder anzeigen lassen, sie bearbeiten oder sogar herauslöschen.
Im Folgenden möchte ich einige Überprüfungen listen, welche ich benutzt habe, um die störenden Details herauszulöschen.
Nach großzügigem Löschen der markierten Kanten und Flächen habe ich außerdem noch innere Elemente, z.B. die Fahrstühle händisch ausgewählt und entfernt.
Nichtsdestotrotz hatte ich das Gefühl, entweder zu viele Strukturen beim Löschen zu verlieren, um mich daran orientieren zu können, oder zu viele Details behalten zu müssen.
Hier drei kurze Einblicke in den Verlauf des Säuberns:
Nach Rücksprache mit Frau Dr. Susanne Krömker stellte sich heraus, dass meine Vorgehensweise zu kompliziert und arbeitsaufwändig war, sodass ich mich für einen völlig neuen Ansatz entschied.
Die Idee war, das 3D druckfähige MATHEMATIKON-Modell von Grund auf neu zu erstellen und zu modellieren. Die Datei der Architekten sollte dafür nur als Vorlage und Orientierungsmöglichkeit benutzt werden. Die Hauptsache war, dass es 3D druckbar wird und dass es natürlich das MATHEMATIKON darstellt. Einzelne Fenster müssen jedoch nicht originalgetreu angeordnet sein, die Säulen können aus Stabilitätsgründen überproportional groß modelliert werden und zu kleinteilige Strukturen können weggelassen werden. Dazu gehören auch die gesamten inneren Stockwerkselemente wie Büros, Seminarräume und Treppenhäuser.
Um zu wissen, mit welchen Maßen ich mein Objekt erstellen kann, habe ich zunächst das Modell der Archtekten mit dem Measure-Tool aus der Toolleiste im Edit Mode ausgemessen. Dieses Werkzeug funktioniert wie ein Lineal, welches man auf den Bildschirm legt, es passt sich also nicht an das Objekt an und man muss darauf achten, dass man frontal auf das auszumessende Objekt schaut. Hierfür habe ich unter View > Viewpoint > Back/Front/Left/Right die Ansicht angepasst.
Natürlich hätte ich auch die Dimensionen des ausgewählten Modells in der Sidebar rechts oben im Interface ablesen können, dort haben mich jedoch die überstehenden Kanten und Knotenpunkte der Zwischenebene, der kleinen Ebene zwischen Hauptgebäude und Untergeschoss, und manche Dachelemente gestört. Außerdem konnte ich durch das händische Ausmessen am Ende die Maße so verändern, dass es am besten für mein 3D druckfähiges Modell passt.
Folglich konnte ich jetzt einen Quader als Grundlage unter Add > Mesh > Cube hinzufügen und mit meinen ausgemessenenen Maßen skalieren. Ein Mesh, auch Polygonnetz genannt, ist eine Zusammenfassung von Knotenpunkten, Kanten und Flächen, die die Gestalt eines 3D Objekts beschreibt.
Beim Skalieren habe ich in diesem Fall nicht das Scale-Tool aus der Toolleiste benutzt, sondern die gewünschten Dimensionen in der Sidebar eingegeben, da es so präziser und schneller war.
Mit dem Inset Faces-Tool lässt sich in eine markierte Fläche eine weitere, kleinere Fläche einfügen. Somit konnte ich in die zuvor erstellte Zwischenebene, den flachen Quader, eine Fläche der Größe der Grundfläche des Hauptgebäudes des MATHEMATIKONS einbauen.
Da das Tool Inset Faces nur kleinere Flächen einfügen kann und man nicht über die ausgewählte Ausgangsfläche hinausgehen kann, musste ich von der Zwischenebene aus beginnen. Der Versuch, zunächst den Quader für das Hauptgebäude zu erstellen und daraus die Zwischenebene herauszuziehen, ging dadurch schief, dass das Hauptgebäude mit verzogen wurde, sobald ich die Zwischenebene erweitert habe.
Jetzt war es soweit, dass ich mit dem nächsten Werkzeug weiterarbeiten konnte, um den Grundquader des Hauptgebäudes des MATHEMATIKONS zu erstellen.
"To extrude", zu deutsch extrudieren oder ausweiten, erklärt schon ganz gut die Funktionalität des Extrude-Tools. Man wählt eine oder mehrere Flächen aus und kann diese dann entlang ihrer Normalen bzw. dem Mittelwert ihrer Normalen bei mehreren Flächen erweitern. Dabei werden die Knoten der Flächen verdoppelt, entlang der Normalenachse nach oben versetzt und mit der Grundfläche verbunden. Somit konnte ich den Körper des Hauptgebäudes modellieren. Sehr praktisch ist außerdem, dass man nicht nur abhängig von der Maus ist, um die Höhe zu bestimmen. Man kann zudem in einem kleinen Fenster, welches sich unten links im Interface öffnet, numerisch eingeben, wie weit man extrudieren möchte. Übrigens kann man auch in das Objekt hinein extrudieren, was besonders für das Erstellen des Innenhofs oder der Fenster- und Balkonstrukturen von Nutzen war.
Nun komme ich zum wichtigsten Werkzeug für mein Projekt: dem Loop Cut-Tool. Dieses ermöglicht es, eine weitere Kante rings um das ausgewählte Objekt hinzuzufügen. Das ist insofern praktisch, als dass man es als Vorbereitung für die Extrude-Operation benutzen kann, um Flächen zu erstellen, die man extrudieren möchte. Man kann die Kante, welche zunächst gelb angedeutet wird, auf dem Objekt verschieben und numerisch eingeben, wo sie angebracht werden soll. Außerdem kann die Anzahl der hinzuzufügenden Kanten im kleinen Fenster unten links präzisiert werden.
Bei der numerischen Eingabe der Koordinaten (üblicherweise eine Koordinate, die angepasst wird), wird der Mittelwert aller Knotenpunkte, welche auf der neu hinzugefügten Kante liegen, berechnet. Dieser Mittelwert entspricht dann der Eingabe.
Daraus hat sich für mich folgendes Problem ergeben: Zum Beispiel wollte ich den Innenhof bei x = -5.5 und x = 4 begrenzen und musste hierfür Kanten an diesen x-Koordinaten einfügen. Wenn ich also mit der ersten Kante begonnen und sie zu x = 4 justiert habe, musste als Mittelwert aller Knotenpunkte dieser Kante x = 4 herauskommen. Jetzt sieht man aber bei der Zwischenebene, dass die Kante sozusagen schräg darüberläuft, diese Punkte also im Allgemeinen größere (bzw. kleinere im negativen Bereich) x-Werte haben. Um trotzdem einen Mittelwert von x = 4 zu erhalten, mussten die Knotenpunkte auf dem Hauptgebäude ein wenig unter x = 4 liegen. Die Zwischenebene sollte daher im besten Fall nicht in die Berechnung mit einfließen. Dafür bietet Blender eine Lösung: Man kann Objekte trennen und vereinigen.
Trennen | Vereinigen |
---|---|
In den Edit Mode wechseln | In den Object Mode wechseln |
Knotenpunkte markieren, die ein eigenes Objekt ergeben sollen | Objekte markieren, die zusammengefügt werden sollen |
Mesh > Vertices > Separate > Selection | Zum als letztes markierten Objekt werden die anderen hinzugefügt, es ist das aktive Objekt |
Object > Join |
Somit war es möglich, die Kanten mittels Loop Cut an die gewünschten Stellen zu schieben und die Grobstruktur des Modells zu erstellen.
Im nächsten Schritt waren die Durchgänge, Fenster, Balkone und Treppen zu modellieren, d.h. die feineren Details hinzuzufügen. In Erinnerung an den Hinweis, die Strukturen nur skizzenartig darstellen zu müssen, bin ich auf die Idee gekommen, Screenshots von der Architektendatei zu machen und auf mein Modell zu legen.
Es ergab sich, dass die "abgepausten" Maße am Ende nicht mehr mit meinen vorherig bestimmten Maßen des Innenhofs übereingestimmt haben.
Zunächst aber ein Eindruck vom Modell mit den Screenshots auf den Seiten:
Bevor mir die Verzerrung klar wurde, habe ich die Durchgänge auf beiden Seiten als eigene Objekte erstellt, die man hier zur besseren Unterscheidung vom Hauptgebäude in pink sieht. Natürlich ist nur auf der Nordseite ein richtiger Durchgang, ich habe mich aber dafür entschieden, statt des Foyers ebenfalls einen Durchgang zu modellieren, um die Weite und Höhe des Haupteingangs zu demonstrieren.
Nach dem Erstellen der Durchgänge als eigene Objekte, habe ich sie an die gewünschte Stelle bewegt, mit dem Hauptobjekt vereinigt und die überflüssigen Flächen entfernt. Letztere waren beispielsweise die Flächen des Durchgangsquaders, welche an die Fassade des MATHEMATKONS grenzten und selbstverständlich noch die Teile der Fassade, welche am Durchgang lagen.
Trotz mehrerer Versuche, dieses schmale Stück herauszulöschen, blieb der Übergang dabei nicht mannigfaltig.
Ich habe mich dann stattdessen dafür entschieden, die Seiten auszumessen und die bestmöglichen Maße zu berechnen und anzupassen. Bestmöglich bedeutet in diesem Zusammenhang, dass es dem Original sehr ähnlich und trotzdem nicht zu detailliert sein sollte.
Im Folgenden habe ich diese drei Schritte wiederholt angewandt:
Wichtig war natürlich die Mindestdicke der Wände von 4 oder 5 mm einzuhalten, beispielsweise vom obersten Balkon zur Dachfläche oder von den Treppen im Innenhof zum Fundament.
Besonders interessant fand ich persönlich die Herausforderung runde Elemente im Modell einzubauen, das betraf zum einen die Säulen, zum anderen das Symbol der Universität Heidelberg an der Ostseite des Gebäudes.
Der Versuch, die Säulen als eigene Objekte zu erstellen, an die gewünschte Stelle zu bewegen und dann mit dem MATHEMATIKON-Objekt zu vereinigen, gelang nicht mannigfaltig. Daher erschien es mir einfacher, aus dem MATHEMATIKON-Objekt heraus runde Strukturen zu erstellen.
Hierfür war das sogenannte Mesh Context Menu, welches man durch einen Rechtsklick erreichen kann, hilfreich. Unter Looptools > Circle wurden zuvor ausgewählte nebeneinander liegende Flächen zu einem Kreis abgerundet. Damit dieser Kreis runder wird, müssen die Flächen umso kleinteiliger gestaltet sein, sodass die Knotenpunkte auf dem Kreisumfang zahlreicher sind.
Jetzt mussten aus den runden Flächen natürlich noch Säulen werden. Da im Durchgang auf der gleichen Höhe je oben und unten bereits kreisförmige Strukturen existierten, konnte ich die zugehörigen Flächen markieren und mittels LoopTools > Bridge verbinden.
Hier sieht man das Endergebnis:
Für das Symbol an der Ostseite des Gebäudes habe ich nach Anwenden von LoopTools > Circle nur noch die Flächen ein wenig extrudiert und bin so schnell zum Ergebnis gekommen.
Als ich schließlich mit den Details soweit zufrieden war, dass ich es mir gedruckt hätte vorstellen können, habe ich erneut geprüft, welche Voraussetzungen für einen 3D Druck bisher erfüllt waren und an welchen Stellen noch ein wenig Arbeit vonnöten war.
Es stellte sich heraus, dass die Voraussetzung, dass eine Kante nur zwei Flächen verbinden darf (oder im Falle von Dreiecken: eine Fläche nur von drei Kanten umgeben sein darf), noch nicht an allen Stellen erfüllt war.
Dies war zum Beispiel nach Vereinigen der Zwischenebene mit Kellergeschoss und dem Hauptgebäude auf der Zwischenebene der Fall, wie man auf dem obigen Bild beim Hinzufügen der runden Flächen für die Säulen gut erkennen kann.
Durch die Triangulierung unter Mesh > Faces > Triangulate Faces hat sich dieses Problem aber von alleine gelöst. Zwar wurden die Dreiecke sehr spitzwinklig, das stellte aber kein Problem für den Drucker des URZ da.
Außerdem überdeckten sich Flächen an den Treppen im Innenhof und eine Kante verband mehr als zwei Flächen. Durch händisches Löschen und einer besseren Aufteilung hat sich auch dieses Problem gelöst.
Als alle Checks der 3D Tool Box durchliefen ohne etwas Störendes zu melden, sah das Ergebnis in Blender so aus:
Freundlicherweise wurde von Robert Frost noch Farbe auf das Modell gelegt und wir konnten die Datei an das URZ senden.
Hier noch Bilder des gedruckten Endergebnis:
Folien der Präsentation meines Anfängerpraktikums am 15.06.20