Praktické aplikace s využitím programů Python a RFEM 6 | Generátor 2D příhradových nosníků

Odborný článek z oblasti statiky za použití softwaru Dlubal

  • Databáze znalostí

Odborný článek

Webové služby, které jsme nedávno představili, umožňují uživatelům komunikovat s programem RFEM 6 pomocí zvoleného programovacího jazyka. Tyto služby jsou ještě rozšířeny o naši knihovnu vysokoúrovňových funkcí (HLF). K dispozici jsou knihovny pro Python, JavaScript a C#. V našem příspěvku se podíváme na praktický příklad programování generátoru 2D příhradových nosníků v Pythonu. Jak se říká, nejlepší je „učit se praxí“.

Přehled

Využití programu RFEM 6 mimo grafické uživatelské rozhraní (GUI) a řízení/zautomatizování procesu modelování a navrhování představují velkou výhodu. Rozsah programování v programu RFEM 6 však přesahuje pouhé automatické ovládání. Uživatelé mohou kombinovat knihovnu HLF programu RFEM 6 s jinými oblíbenými knihovnami HLF a vyvíjet aplikace na míru.

V našem příspěvku představíme Generátor 2D příhradových konstrukcí. Generátor 2D příhradových konstrukcí byl naprogramován v Pythonu a využívá výkonné knihovny Pythonu, jako jsou PyQt a Numpy v kombinaci s HLF knihovnou programu RFEM. Konečným výsledkem je GUI, které umožňuje flexibilní generování příhradové konstrukce.

Základy

V tomto příspěvku vysvětlíme pouze části kódu, které jsou použité pro vývoj generátoru 2D příhradových nosníků. Základy programování v programech RFEM 6 a Python najdete v naší krátké 6dílné sérii videí pod následujícím odkazem:

Použijte

Kód pro tento příklad najdete ve výše zmíněné knihovně HLF (RFEM_Python_Client/Examples/TrussGenerator_2D). Tento kód je k dispozici jako open-source a doufejme, že uživatelům poskytne inspiraci pro jejich vlastní projekty. Detaily o práci s knihovnami HLF v RFEMu (např. klonování úložiště) jsou vysvětleny ve výše uvedených video-školeních.

Specifické části kódu

Try a Except

Jak jsme již zmínili, tento příklad používá mnoho různých knihoven dohromady s knihovou HLF RFEMu (např. Numpy a PyQt5). Pokud by uživatel neměl nainstalovanou danou knihovnu, vyvolal by příkaz "import" chybu. Abychom předešli tomuto potenciálnímu problému, jsou použity bloky try a except. "Import" spadá pod blok try, a pokud selže, kód přejde do bloku except, který uživatele vyzve k instalaci požadovaných knihoven pomocí pip.

Vytvoření GUI pomocí PyQt5

PyQt5 je knihovna zaměřená na vytváření GUI. Velkou část kódu tvoří definice a příkazy, které PyQt5 vyžaduje pro vytvoření grafického uživatelského rozhraní generátoru 2D příhradových nosníků.

Dokumentaci k použití PyQt5 najdete pod příslušným odkazem:

Na YouTube lze najít také celou řadu tutoriálů.

Zadání příhradového nosníku

Pomocí knihoven HLF RFEMu lze příhradový nosník rychle definovat. Pro pomoc při programování příhradového nosníku slouží šesté video z výše uvedené série videí.

Proměnné inicializované v definicích PyQt5 jsou zde také integrovány jako argumenty pro definice příhradového nosníku v RFEMu. Vzniká tak interoperabilita mezi oběma knihovnami.

Pro ověření informací z GUI se používají série příkazů try, except a if.

Závěrečné poznámky

Cílem našeho příspěvku je poskytnout stručný přehled o tom, jak bylo vytvořeno parametrické GUI generátoru 2D příhradových nosníků. Pokud budete potřebovat další informace, využijte prosím komentáře k tomuto článku a my vám rádi odpovíme.

Autor

Björn Steinhagen, B.Sc.

Björn Steinhagen, B.Sc.

Vývoj produktů

Pan Steinhagen se zabývá vývojem a zajištěním kvality programů společnosti Dlubal Software.

Klíčová slova

Python Webová služba GUI Programování

Odkazy

Napište komentář...

Napište komentář...

  • Navštíveno 764x
  • Aktualizováno 24. ledna 2023

Kontakt

Kontakt na Dlubal Software

Máte další dotazy nebo potřebujete poradit? Kontaktujte nás prostřednictvím naší bezplatné e-mailové podpory, chatu nebo na fóru, případně využijte naše FAQ, které máte nepřetržitě k dispozici.

+420 227 203 203

[email protected]

Online školení | Anglicky

Eurokód 3 | Ocelové konstrukce podle DIN EN 1993-1-1

Online školení 2. března 2023 9:00 - 13:00 CET

Online školení | Anglicky

Eurokód 5 | Dřevěné konstrukce podle DIN EN 1995-1-1

Online školení 16. března 2023 9:00 - 13:00 CET

Online školení | Anglicky

RFEM 6 | Dynamická analýza a seizmické posouzení podle EC 8

Online školení 30. března 2023 9:00 - 13:00 CEST

Online školení | Anglicky

Eurokód 2 | Betonové konstrukce podle DIN EN 1992-1-1

Online školení 26. ledna 2023 9:00 - 13:00 CET

Online Training | Czech

RFEM 6 | Bezplatné základní školení

Online školení 25. ledna 2023 9:00 - 11:30 CET

Online školení | Anglicky

RFEM 6 | Základy

Online školení 19. ledna 2023 9:00 - 13:00 CET

Nové funkce v programech RFEM 6 a RSTAB 9

Nové funkce v programech RFEM 6 a RSTAB 9

Webinář 21. prosince 2022 14:00 - 15:00 CET

Online Training | Czech

RFEM 6 | Bezplatné základní školení

Online školení 19. prosince 2022 9:00 - 11:30 CET

Integrace Revitu, IFC a DXF do programu RFEM 6 (USA)

Integrace Revitu, IFC a DXF do programu RFEM 6 (USA)

Webinář 15. prosince 2022 14:00 - 15:00 EDT

Analýza napětí na plochách a prutech v programu RFEM 6

Analýza napětí na plochách a prutech v programu RFEM 6

Webinář 15. prosince 2022 14:00 - 15:00 CET

Online školení | Anglicky

RFEM 6 | Studenti | Úvod do posouzení železobetonových konstrukcí

Online školení 12. prosince 2022 16:00 - 17:00 CET

RFEM 6
Hala s obloukovou střechou

Hlavní program

Program RFEM 6 pro statické výpočty tvoří základ modulárního softwarového systému. Hlavní program RFEM 6 slouží k zadávání konstrukcí, materiálů a zatížení u rovinných i prostorových konstrukčních systémů, které se skládají z desek, stěn, skořepin a prutů. Program také umpožňuje posuzovat smíšené konstrukce, tělesa a kontaktní prvky.

Cena za první licenci
4 450,00 EUR