Hochgefüllte Polymerfilamente können genutzt werden, um im Fused Filament Fabrication (FFF) Verfahren vollmetallische Bauteile herzustellen. In diesem Prozess wird zunächst ein sogenannter Grünling, eine Mischung aus Metallpartikeln und polymeren Bindersystem, gedruckt. Die organischen Bestandteile des Bindersystems werden im Entbinderporzess aus dem Bauteil entfernt, was zum sogenannten Braunling führt. Dieser stellt einen hochporösen Körper dar, dessen Struktur nur durch Van-der-Waals Bindungen und letzte Bindersystem-Reste zusammengehalten wird. Im letzten Schritt wird der Braunling schließlich gesintert, wobei durch mehrere Diffusions- und Umordnungseffekte ein vollmetallisches Bauteil entsteht.
Die Entfernung des Bindersystems stellt dabei einen kritischen Schritt im Gesamtprozess dar, da die hochporösen Braunlinge drohen unter ihrem Eigengewicht zusammenzufallen. Daher haben wir, inspiriert von den Richtlinien und Tutorials für das BASF Ultrafuse 316L Filament ein Simulations-Framework für eine vereinfachte, automatisierte Simulation des Entbinderprozesses basierend auf Z88OS entwickelt. Dieses führt auf Basis der Finite Elemente Analyse eine Eigengewicht-Simulation durch und nutzt kritische Spannungslimits als Versagenskriterium, um eine geeignete Orientierung des Bauteils für den Entbinderprozess zu finden. Der vollständige Artikel dazu kann hier gelesen werden:
Im Folgenden wollen wir die Installation, Struktur und Anwendung des Simulations-Framework erklären.
In the following we will explain the installation, structure and usage simulation framework.
Die Software ist in Python geschrieben und basiert auf der Open Source Software Z88OS, die hier heruntergeladen werden kann. Zusätzlich werden die folgenden Python-Bibliotheken benötigt:
Anleitungen zur Installation der einzelnen Bibliotheken sind auf den entsprechenden Webseiten zu finden und werden hier nicht weiter erläutert.
Zunächst wird mit Gmsh ein Tetraeder-Netz erzeugt. Um die Schwindung während des Sinterprozesses auszugleichen, muss das Netz anschließend für den Druck mit einem Skalierungsfaktor in Druckebene und einem in Aufbaurichtung skaliert werden.
Es wird angenommen, dass das Bauteil so orientiert ist, dass die XY-Ebene die Druckebene darstellt und dementsprechend die Z-Achse die Stapelrichtung angibt. Das Bauteil wird dann so gedreht, dass jede Achse des kartesischen Koordinatensystems einmal in der positiven und einmal in der negativen Richtung als Aufbaurichtung verwendet wird. Dadurch ergeben sich sechs Teileorientierungen, die automatisch untersucht werden. Im Post-Processing werden Bereiche, die innerhalb der zulässigen Spannungsgrenzen liegen, grün dargestellt. Bereiche, die aufgrund zu hoher Zugspannungen versagen, werden in rot dargestellt, bzw. in blau für Druckversagen.
Falls Z88R das Finite-Elemente-Modell nicht lösen konnte (z. B. aufgrund falscher Speicherzuordnungsannahmen in z88.dyn oder iterativer Solver-Einstellungen in z88man.txt), werden alle Spannungswerte auf unendlich gesetzt. Bitte aktualisieren Sie das Skript entsprechend (weitere Informationen zur Z88R-Eingabedatei finden Sie in der Z88OS-Dokumentation).
Das Skript kann über das Terminal mit dem folgenden Befehl gestartet werden:
debinding_simulation.py [-h] [-e EXECUTABLE] [-x SCALE_FACTOR_XY] [-z SCALE_FACTOR_Z] [-s ELEMENT_SIZE] [-o {1,2}] [-i {1,4,5}] [-a ACCELERATION] [-y YOUNGS_MODULUS] [-p POISSONS_RATIO] [-d DENSITY] [-f MAX_TENSILE_STRESS_XY] [-b MAX_COMPRESSION_STRESS_XY] [-c MAX_TENSILE_STRESS_Z] [-w MAX_COMPRESSION_STRESS_Z] [-t BC_TOLERANCE] input_file |
Option | Beschreibung | Einheit | Default | |
-h | –help | show this help message and exit | – | – |
-e | –executable | Path to Z88R solver executable | – | z88r |
-x | –scale-factor-xy | Scaling factor in building plane | – | 1.2 |
-z | –scale-factor-z | Scaling factor in stacking direction | – | 1.26 |
-s | –element-size | Mesh element size | mm | 2.0 |
-o | –element-order | Shape function order of tetrahedrons | – | 2 |
-i | –int-order | Number of integration points per tetrahedron | – | 5 |
-a | –acceleration | Acceleration due to gravity | mm/s² | 9810 |
-y | –youngs-modulus | Young’s modulus of the material | N/mm² | 210000 |
-p | –poissons-ratio | Poisson’s ratio of the material | – | 0.4 |
-d | –density | Density of the material | t/mm³ | 4.7e-9 |
-f | –max-tensile-stress-xy | Maximum tensile stress in printing plane | N/mm² | 6.0e-3 |
-b | –max-compression-stress-xy | Maximum compression stress in printing plane | N/mm² | 7.0e-3 |
-c | –max-tensile-stress-z | Maximum tensile stress in stacking direction | N/mm² | 0.5e-3 |
-w | –max-compression-stress-z | Maximum compression stress in stacking direction | N/mm² | 7.0e-3 |
-t | –bc-tolerance | Fixed boundary condition search tolerance | mm | 0.1 |
input_file | Path to input file (STEP/STL), modelled in [mm] | – | – | – |
Die Treppe in der folgenden Abbildung soll gedruckt werden und daher muss eine geeignete Ausrichtung für den Entbinderungsprozess festgelegt werden.
Die Datei liegt uns als „staircase.stp“ vor, der automatisierte Simulationsprozess mit Default-Einstellungen kann mit dem folgenden Befehl ausgeführt werden:
python. /debinding_simulation.py -e Path_to/z88r staircase.stp |
Die Ergebnisse werden in Form eines 2×3-Plots dargestellt. Über die PyVista-Oberfläche können die Ergebnisbilder interaktiv gedreht, gezoomt, etc. werden. Die als Randbedingungen identifizierten Bereiche werden mit weißen Flächen hervorgehoben:
Das Skript ist erfolgreich auf Windows, macOS und Linux getestet und kann unten heruntergeladen werden. Bitte aktualisieren und passen Sie das Skript Ihren Bedürfnissen entsprechend an.
Viel Spaß beim Ausprobieren und noch mehr Spaß beim Simulieren!