Anotace
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 učení
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-learningová videa | Programování v RFEM 6 a PythonuFollowing Along
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.
Specific Portions of Code
Try and 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.
Building the GUI using 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ů.
Truss Definition
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 RFEM 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.