Übersicht
Die Leistungsfähigkeit von RFEM 6 über die grafische Benutzeroberfläche (GUI) hinaus zu nutzen und den Modell- und Bemessungsprozess zu steuern bzw. zu automatisieren, ist ein erheblicher Vorteil. Die Möglichkeiten der Programmierung mit RFEM 6 gehen jedoch über die reine automatische Steuerung hinaus. Anwender können die HLF-Bibliothek in RFEM 6 mit anderen gängigen HLF-Bibliotheken kombinieren, um maßgeschneiderte Anwendungen zu entwickeln.
In diesem Beitrag wird ein Generator für 2D-Fachwerkträger vorgestellt. Der 2D-Fachwerkgenerator wurde in Python geschrieben und nutzt leistungsstarke Python-Bibliotheken wie PyQt und Numpy zusammen mit der RFEM-HLF. Das Endergebnis ist eine grafische Benutzeroberfläche, die eine flexible Erzeugung von Fachwerkträgern ermöglicht.
Grundlagenschulung
In diesem Beitrag werden nur Teile des Codes hervorgehoben, der eigens für seine Anwendung bei der Entwicklung des 2D-Fachwerkgenerators geschrieben wurde. Die Grundlagen der Programmierung mit RFEM 6 und Python finden Sie in unserer kurzen 6-teiligen Videoreihe unter folgendem Link:
E-Learning-Videos | Programmieren mit RFEM 6 und PythonFollowing Along
Der Code für das vorliegende Beispiel ist in der bereits erwähnten HLF-Bibliothek (RFEM_Python_Client/Examples/TrussGenerator_2D) zu finden. Der Code wird als Open Source bereitgestellt und soll den Nutzern hoffentlich Anregungen für eigene Projekte geben. Details zum Arbeiten mit der HLF in RFEM (z. B. Klonen des Repositorys) werden in der oben verlinkten Videoreihe erläutert.
Specific Portions of Code
Try and Except
Wie bereits erwähnt, werden in diesem Beispiel viele verschiedene Bibliotheken in Verbindung mit der RFEM-HLF verwendet (z. B. Numpy und PyQt5). Sollten Anwender keine bestimmte Bibliothek installiert haben, führt ein "Import"-Befehl zu einem Fehler. Um dieses potenzielle Problem zu umgehen, werden Try- und Except-Blöcke verwendet. Der "Import" fällt unter den try-Block und sollte dieser fehlschlagen, geht der Code in den except-Block, der den Anwender auffordert, die erforderlichen Bibliotheken mit pip zu installieren.
Building the GUI using PyQt5
PQt5 ist eine Bibliothek zur Erstellung von GUIs. Ein Großteil des Codes besteht aus den Definitionen und Anweisungen, die PyQt5 zum Aufbau der 2D Truss Generator-GUI benötigt.
Eine Dokumentation zur Verwendung von PyQt5 finden Sie unter diesem Link:
PyQt5-ReferenzhandbuchEine Fülle von Tutorials findet man auch auf YouTube.
Truss Definition
Mit den RFEM-HLFs kann ein Fachwerkträger schnell definiert werden. Wenn Sie Unterstützung bei der Programmierung des Fachwerkträgers brauchen, dann schauen Sie sich das sechste Video in der oben genannten Videoreihe an.
Programmieren mit RFEM 6 und Python | 006 Beispiel | Ebenes FachwerkVariablen, die in den PyQt5-Definitionen initialisiert wurden, werden hier auch als Argumente für die RFEM-Fachwerkträgerdefinitionen integriert. Dadurch wird eine Interoperabilität zwischen den beiden Bibliotheken hergestellt.
Eine Reihe von try-, except- und if-Anweisungen werden implementiert, um die in der GUI bereitgestellten Informationen zu überprüfen.
Schlussbemerkungen
Dieser Beitrag soll einen kurzen Überblick darüber geben, wie die GUI eines parametrischen 2D-Truss Generators erstellt wurde. Sollten zusätzliche Informationen erforderlich sein, verwenden Sie bitte die Kommentarfunktion unten. Wir werden Ihnen gerne antworten.