
Unregelmäßige Formen können in verschiedenen Formaten auftreten. In unserer Blog-Reihe zum Modellieren unregelmäßiger Formen haben wir verschiedene Methoden zum Umgang mit unregelmäßigen Formen in der Software COMSOL Multiphysics® untersucht. Nun ergänzen wir diese Reihe um einen Blog-Beitrag zum Lofting einer Reihe von Bildern zu einem Volumenkörper.
Anmerkung der Redaktion: Die Originalversion dieses Beitrags wurde am 20. September 2017 veröffentlicht. Sie wurde seitdem aktualisiert, um neue Features und Funktionen in COMSOL Multiphysics® zu berücksichtigen.
Ein Beispiel für eine unregelmäßige Form: Der menschliche Kopf
Ein mögliches Format für die Arbeit mit gescannten Daten sind Bilder von Schnitten, die mit einem MRT- oder CT-Scan erstellt wurden. In diesem Beispiel betrachten wir einen Fall mit Querschnittsbildern eines menschlichen Kopfes.
Kurz gesagt umfasst das Verfahren folgende Schritte:
- Erstellen von Arbeitsebenen durch Ausführen von Code in der Java Shell
- Erstellen von Kurvenobjekten für jedes der Bilder mithilfe eines integrierten Add-Ins
- Lofting der Kurven in einen Festkörper
- Ausblenden unnötiger Kanten, um eine einheitliche Form zu erzielen
Nun gehen wir auf jeden Schritt genauer ein.
Erstellen von Arbeitsflächen
In diesem Beispiel haben wir 19 Querschnittsbilder eines Kopfes, was bedeutet, dass 19 Features der Art Work Plane benötigt werden, die an der richtigen z-Koordinate positioniert sind. Dies kann einfach durch Ausführen des folgenden Codes in der Java Shell erfolgen:
double[] zValues = {-0.128, -0.12, -0.1, -0.08, -0.07, -0.06, -0.05, -0.04, -0.03, -0.02, -0.01, 0, 0.02, 0.04, 0.06, 0.08, 0.1, 0.12, 0.124};
for (int k = 0; k < zValues.length; k++) {
String newWpTag = model.geom("geom1").feature().uniquetag("wp");
model.component("comp1").geom("geom1").create(newWpTag, "WorkPlane");
model.component("comp1").geom("geom1").feature(newWpTag).label("z "+toString(zValues[k]));
model.component("comp1").geom("geom1").feature(newWpTag).set("unite", true);
model.component("comp1").geom("geom1").feature(newWpTag).set("quickz", zValues[k]);
}
In dem am Ende dieses Blog-Beitrags zum Download bereitgestellten Modell wurde der Code in einer Methode gespeichert. Das Ausführen einer Methode über den Tab Developer führt in diesem Fall zum gleichen Ergebnis wie das Ausführen des Codes über die Java Shell.
Importieren von Bildern und Erstellen von Kurven
Durch die Anwendung des integrierten Add-Ins Image to Curve auf jedes Bild wird jeder Arbeitsebene ein Feature Interpolation Curve hinzugefügt, sodass insgesamt 19 Kurvenobjekte entstehen. Weitere Informationen zu diesem Add-In finden Sie in unserem Blog-Beitrag „How to Use an Add-In to Convert Images to Geometry Models“.
Die Einstellungen des Add-Ins Image to Curve.
Ein Querschnitt des Kopfes mit einem Plot der Kurve (grün) bei einer Konturgrenze von 0,6.
Der Parameter Contour threshold ist auf einen Wert von 0,6 festgelegt, um eine gleichmäßige Skalierung aller Konturen zu gewährleisten. Die Einstellung Closed curve stellt sicher, dass die erstellten Kurvenobjekte tatsächlich geschlossen sind und dass die Ableitungen erster und zweiter Ordnung überall stetig sind. In COMSOL Multiphysics® erzeugt das Lofting einer geschlossenen Kurve ein Volumenobjekt, während das Lofting einer offenen Kurve eine Oberfläche erzeugt. In diesem Beispiel wird die Standardeinstellung Relative tolerance von 0,001 für alle Kurven außer der letzten (z 0,124) verwendet, wo sie auf 0,01 erhöht wurde, um eine glattere Kurve zu erhalten. Zuletzt wird oben am Kopf ein Punkt hinzugefügt. Wenn Sie anstelle von Bildern Kurvenkoordinatendaten haben, können Sie diese Daten ohne das Add-In direkt in das Feature Interpolation Curve importieren.
Das Fenster Settings für das Feature Interpolation Curve (links) und alle Kurven und Punkte, die die äußere Hülle eines Kopfes darstellen (rechts). Die graue Fläche stellt die Arbeitsebene bei der z-Koordinate -0,04 dar, und die Kurve in der Arbeitsebene ist gelb hervorgehoben.
Überlegungen zum Lofting von Festkörpern
Mit den Kurvenobjekten, die den Umriss jedes Querschnitts des Kopfes definieren, kann mithilfe der Operation Loft die feste Form erstellt werden. Die Operation Loft ist eines der im Design Module enthaltenen Geometriemodellierungswerkzeuge. Vor der Einrichtung der Operation Loft muss geprüft werden, dass die Kurvenobjekte als Profile für das Lofting geeignet sind. Das Lofting von Kurven oder Flächen zu einem Volumenkörper erfordert, dass die verschiedenen Profile die gleiche Anzahl von Kanten und Punkten haben. Mit der Operation Partition Edges kann eine gleiche Anzahl von Kanten und Punkten gewährleistet werden, wie im Folgenden erläutert wird. Ausgenommen sind das erste und das letzte Objekt (die Start- und Endprofile), die Kurvenobjekte mit einer anderen Anzahl von Kanten als die Zwischenprofile oder Punkte sein können.
Eine geschlossene Interpolationskurve hat zwei Scheitelpunkte. Das oben genannte Kriterium – gleiche Anzahl von Kanten und Punkten der Zwischenobjekte – ist also bereits erfüllt, da alle erstellten Kurven zwei Kanten haben. Allerdings ist auch die Position dieser Punkte auf den Profilobjekten wichtig. Der Loft verbindet beim Verarbeiten der Kurven alle Punkte mit Kanten in seine Richtung. Wenn die Punkte nicht entlang einer relativ geraden Linie positioniert sind, können die resultierenden Flächen verzerrt werden. Die Kanten können manuell partitioniert werden, um eine gute Darstellung aller Flächen zu erzielen. In diesem Beispiel ist dies nicht erforderlich, aber bei Bedarf kann eine Operation Partition Edges hinzugefügt werden, um die Kanten durch Projektion eines ausgewählten Scheitelpunkts zu partitionieren.
Um zu bestätigen, dass die Geometrieobjekte dieselbe Anzahl an Kanten und Punkten haben, klicken wir auf die Schaltfläche Select Objects oberhalb des Grafikfensters, wählen ein Kurvenobjekt im Grafikfenster aus und klicken dann auf die Schaltfläche Measure im Tab Geometry oder im Tab Mesh. Das Ergebnis dieser Messung wird in das Protokoll Messages geschrieben.
Lofting des Volumenkörpers
Da die Punkte in diesem Beispiel bereits ungefähr ausgerichtet sind, kann nun der Volumenkörper erstellt werden. Das Feature Loft enthält mehrere Optionen, aber wir verwenden hier nur die einfachste Vorgehensweise: Hinzufügen des Punktes und aller Kurvenobjekte des Kopfes in der Liste Profile objects. Die Start- und Endprofile werden automatisch durch die Operation Loft bestimmt. Im Einstellungsfenster von Loft gibt es viele ausgeblendete Abschnitte, mit denen Sie das Lofting feinabstimmen können. So können Sie etwa die Richtung des Loftings festlegen oder die Form mithilfe von Führungskurven weiter steuern. Die Einstellungen in den ausgeblendeten Abschnitten werden in diesem Beispiel nicht verwendet.
Das Einstellungsfenster der Operation Loft (links) zeigt die Eingabe Profile objects, die einzige in diesem Beispiel verwendete Eingabe. Die rechte Abbildung zeigt den resultierenden Volumenkörper.
Oberflächenteilung
Eine durch Lofting aus geschlossenen, zusammenhängenden Profilkurven erzeugte Fläche bzw. ein Volumenkörper weist mindestens zwei Nähte auf, die durch die Scheitelpunkte der Profilkurven verlaufen und zwei oder mehr Ränder bilden. Je nach Ausrichtung der Scheitelpunkte auf den verschiedenen Kurven können durch die Operation weitere Nähte eingeführt werden. Wenn die Profilkurven unstetige Tangenten haben, entstehen zusätzliche Nähte, die durch diese Punkte verlaufen. Bei Verwendung der Standardeinstellung Face partitioning: Minimal in der Operation Loft (siehe vorherige Abbildung) werden keine zusätzlichen Nähte eingeführt.
Wenn die Oberfläche stärker unterteilt werden soll, können die Partitionierungsoptionen Column und Grid verwendet werden. Die erste Option unterteilt die Oberfläche entlang jedes Scheitelpunkts in den Profilkurven, während die zweite Option auch die Profilkurven hinzufügt. Eine weitere Möglichkeit ist die Partitionierung der Flächen mit anderen Geometrieobjekten unter Verwendung von Booleschen und Partitionierungsoperationen. Auf diese Weise können Ränder für die Zuweisung von Randbedingungen geschaffen werden. Wenn wir hingegen ein saubereres Erscheinungsbild wünschen, können wir Virtual Operations verwenden, um zusammengesetzte Flächen zu erstellen. Die Funktion Form Composite Faces kann für diesen Zweck verwendet werden, doch Ignore Edges liefert das gleiche Ergebnis.
Durch Hinzufügen der Kanten (wie in der vorherigen Abbildung) zu einer Operation Form Composite Faces (links), wird die fertige Geometrie geglättet (Mitte). Auf der rechten Seite ist eine vernetzte Version des Kopfes zu sehen.
Nächste Schritte
In diesem Blog-Beitrag haben wir die Möglichkeit vorgestellt, Kurven aus importierten Bildern zu erstellen und dann durch Lofting einen Festkörper aus den Kurven zu erzeugen. Sie können die Datei herunterladen, mit der das hier gezeigte Beispiel erstellt wurde, indem Sie auf die nachfolgende Schaltfläche klicken.
Weitere Informationen
- Probieren Sie ein anderes Modellbeispiel aus, das die Operation Loft verwendet:
- Lesen Sie die anderen Blog-Beiträge unserer Serie zur Modellierung unregelmäßiger Formen:
- Erfahren Sie mehr über die Anpassung des Workflows des Model Builders in diesem Blog-Beitrag:
Kommentare (0)