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 PythonuPouž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 PyQt5Na 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á konstrukcePromě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.