4332x
001769
26.10.2022

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

Nedávno představená Webová služba umožňuje uživatelům komunikovat s programem RFEM 6 pomocí jejich 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:

E-learning | Programování v RFEMu 6 a Pythonu

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:

Manuál pro PyQt5

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í.

Programování v RFEMu 6 a Pythonu | 006 Příklad | Rovinná příhradová konstrukce

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.


Odkazy