Applications pratiques avec Python et RFEM 6 | Générateur de treillis 2D
Article technique
Les services web récemment introduits offrent aux utilisateurs la possibilité de communiquer avec RFEM 6 à l'aide du langage de programmation de leur choix. Cette fonctionnalité est améliorée par notre bibliothèque de fonctions de haut niveau (HLF). Les bibliothèques sont disponibles pour Python, JavaScript et C#. Dans cet article, nous vous présentons un cas d'utilisation pratique de programmation d'un générateur de treillis 2D avec Python. « Apprendre en pratiquant » comme dit le proverbe.
Aperçu
Utiliser la puissance de RFEM 6 au-delà de l'interface graphique utilisateur (GUI) et du contrôle/de l'automatisation du processus de modélisation et de vérification constituent un avantage vraiment considérable. Cependant, la puissance de la programmation avec RFEM 6 va au-delà du simple contrôle automatique. Les utilisateurs peuvent combiner la bibliothèque HLF de RFEM 6 avec d'autres bibliothèques HLF pour développer des applications personnalisées.
Dans cet article, nous vous présentons un générateur de treillis 2D. Le générateur de treillis 2D a été écrit en Python et utilise de puissantes bibliothèques Python telles que PyQt et Numpy en combinaison avec la HLF de RFEM. Le résultat final est une interface graphique, qui permet une génération flexible de treillis.
Apprendre les bases
Cet article ne met en évidence que des parties de code propres à son application dans le développement du générateur de treillis 2D. Les bases de la programmation avec RFEM 6 et Python sont disponibles dans notre courte série de vidéos en 6 parties sous le lien suivant :
Utilisation
Le code de cet exemple est disponible dans la bibliothèque HLF mentionnée ci-dessus (RFEM_Python_Client/Examples/TrussGenerator_2D). Le code est open-source et inspirera, espérons-le, les utilisateurs pour leurs propres projets. Les détails sur l'utilisation de RFEM HLF (par exemple, le clonage du référentiel) sont expliqués dans la série de vidéos ci-dessus.
Parties spécifiques du code
Try et except
Comme mentionné précédemment, cet exemple utilise de nombreuses bibliothèques différentes avec la HLF de RFEM (par exemple, Numpy et PyQt5). Si les utilisateurs n'ont pas installé de bibliothèque spécifique, une commande « import » générera une erreur. Pour résoudre ce problème potentiel, les blocs « try » and « except » sont utilisés. L'« importation » relève du bloc « try » et en cas d'échec, le code est placé dans le bloc « except » qui invitera l'utilisateur à installer les bibliothèques requises à l'aide de pip.
Construire l'interface graphique avec PyQt5
PQt5 est une bibliothèque dédiée à la création d'interfaces graphiques. Une grande partie du code est composée des définitions et des instructions requises par PyQt5 pour créer l'interface graphique du générateur de fermes 2D.
La documentation pour l'utilisation de PyQt5 peut être trouvée via ce lien :
De nombreux tutoriels sont également disponibles sur YouTube.
Définition du treillis
Les HLF de RFEM permettent de définir rapidement un treillis. Pour obtenir de l'aide sur la programmation d'un treillis, consultez la sixième vidéo de la série de vidéos susmentionnée.
Les variables initialisées dans les définitions PyQt5 sont également intégrées ici comme arguments pour les définitions de treillis RFEM. Cela crée une interopérabilité entre les deux bibliothèques.
Une série d'instructions try, except et if est déployée pour valider les informations fournies dans l'interface graphique.
Remarques finales
L'article ci-dessus a pour but de donner un bref aperçu de la création d'une interface utilisateur graphique pour un générateur de treillis 2D paramétrique. Si des informations supplémentaires sont nécessaires, veuillez utiliser la section commentaires de cet article et nous nous ferons un plaisir de vous répondre.
Auteur

Björn Steinhagen, B.Sc.
Ingénierie de produit
M. Steinhagen soutient le développement et l'assurance qualité des programmes Dlubal.
Mots-clés
Python Service web Interface graphique Programmation
Liens
- Guide de référence de PyQt5
- Programmation avec RFEM 6 et Python | 006 Exemple | Treillis plan
- Vidéos d'apprentissage en ligne | Programmation avec RFEM 6 et Python
Laissez un commentaire...
Laissez un commentaire...
- Vues 764x
- Mis à jour 24 janvier 2023
Contactez-nous
Vous avez d'autres questions ou besoin de conseils ? Contactez-nous par téléphone, e-mail, chat ou via le forum, ou consultez notre FAQ, disponible 24h/24 et 7j/7.

Nouveau
- La distribution des charges sur mes barres est différente lorsque j'utilise la surface de « transfert de charge » et les « assistants de charge ». Pourquoi ?
- Ma poutre a un appui latéral continu et le déversement n'est donc pas un problème. Comment définir la longueur efficace ?
- J'ai reçu le message d'erreur « Surface de type non compatible... (surface dans le plan supérieur des étages doit être de type « Transfert de charge ») » lors de l'exécution du calcul. Pourquoi ?
- Comment définir efficacement des articulations linéiques sur plusieurs surfaces ?
- Comment inclure le(s) coefficient(s) de sur-résistance Ωo dans les combinaisons de charges de l'ASCE 7 ?
- Comment inclure le(s) facteur(s) de surrésistanceo dans les combinaisons de charges de l'ASCE 7 ?
- Comment inclure le(s) facteur(s) de redondance dans les combinaisons de charges de l'ASCE 7 ?
- Ma charge d'exploitation est inférieure ou égale à 100 psf. Comment prendre en compte le facteur de charge réduit dans les combinaisons de charge ASCE 7 ?
- Je ne vois pas les cas de charge sismiques dans les combinaisons de charges (CO) générées par l'ASCE 7. Comment les ajouter ?
- Comment créer une imperfection basée sur un mode propre dans RFEM 6 ?
Produits utilisés