Praktyczne zastosowania Python i RFEM 6 | Generator kratownic 2D
Artykuł o tematyce technicznej
Niedawno wprowadzone WebServices dają użytkownikom możliwość komunikowania się z RFEM 6 za pomocą wybranego przez nich języka programowania. Ta funkcja została wzbogacona o naszą bibliotekę funkcji wysokiego poziomu (HLF). Biblioteki są dostępne dla języków Python, JavaScript i C#. W tym artykule omówiono praktyczny przykład programowania generatora kratownic 2D w języku Python. „Uczenie się przez działanie”, jak to się mówi.
Przegląd
Wykorzystanie możliwości programu RFEM 6 poza graficznym interfejsem użytkownika (GUI) oraz kontrolowanie/automatyzowanie modelu i procesu obliczeniowego to znaczna zaleta. Jednak możliwości programowania w RFEM 6 wykraczają poza zwykłe sterowanie automatyczne. Użytkownicy mogą łączyć bibliotekę RFEM 6 HLF z innymi popularnymi bibliotekami HLF, aby tworzyć własne aplikacje.
W tym artykule zostanie przedstawiony generator kratownic 2D. Generator kratownic 2D został napisany w języku Python i wykorzystuje zaawansowane biblioteki języka Python, takie jak PyQt i Numpy, w połączeniu z programem RFEM HLF. Efektem końcowym jest graficzny interfejs użytkownika, który umożliwia elastyczne generowanie kratownicy.
Nauka podstaw
W tym artykule zostaną omówione tylko fragmenty kodu, które są unikalne dla jego zastosowania podczas tworzenia generatora kratownic 2D. Podstawy programowania w RFEM 6 i Python można znaleźć w naszej krótkiej, 6-częściowej serii filmów pod następującym linkiem:
Podążanie wzdłuż
Kod dla tego przykładu można znaleźć we wspomnianej bibliotece HLF (RFEM_Python_Client/Examples/TrussGenerator_2D). Kod jest dostarczany jako open-source i miejmy nadzieję, że dostarczy użytkownikom inspiracji do ich własnych projektów. Szczegóły dotyczące pracy z programem RFEM HLF (na przykład klonowanie repozytorium) są wyjaśnione w serii filmów, do których prowadzą linki powyżej.
Poszczególne części Kodeksu
Wypróbuj i z wyjątkiem
Jak wspomniano, w tym przykładzie wykorzystano wiele różnych bibliotek w połączeniu z RFEM HLF (na przykład Numpy i PyQt5). Jeśli użytkownik nie ma zainstalowanej określonej biblioteki, polecenie „import” zwróci błąd. Aby rozwiązać ten potencjalny problem, należy spróbować z wyjątkiem bloków. "Import" należy do bloku try i jeśli to się nie powiedzie, kod zostanie umieszczony w blokuexcept, który poprosi użytkownika o zainstalowanie wymaganych bibliotek przy użyciu polecenia pip.
Budowanie GUI przy użyciu PyQt5
PQt5 to biblioteka przeznaczona do tworzenia GUI. Dużą część kodu stanowią definicje i instrukcje wymagane przez PyQt5 do zbudowania graficznego interfejsu użytkownika generatora kratownic 2D.
Dokumentację dotyczącą korzystania z PyQt5 można znaleźć pod linkiem:
Wiele samouczków można znaleźć również na YouTube.
Definicja kratownicy
Dzięki plikom RFEM HLF można szybko zdefiniować kratownicę. Aby uzyskać pomoc dotyczącą programowania kratownicy, zapoznaj się z szóstym filmem z wyżej wymienionej serii filmów.
Zmienne zainicjowane w definicjach PyQt5 są tutaj również zintegrowane jako argumenty dla definicji kratownic w RFEM. Zapewnia to interoperacyjność między dwiema bibliotekami.
Seria instrukcji try, z wyjątkiem i if jest wdrażana w celu sprawdzenia poprawności informacji podanych w GUI.
Uwagi końcowe
Powyższy artykuł ma na celu przedstawienie krótkiego przeglądu, w jaki sposób został utworzony parametryczny graficzny interfejs użytkownika generatora kratownic 2D. Jeżeli będą Państwo potrzebować dodatkowych informacji, prosimy o skorzystanie z sekcji komentarzy w tym artykule, a my z przyjemnością udzielimy Państwu odpowiedzi.
Autor

Björn Steinhagen, B.Sc.
Inżynieria produktu
Pan Steinhagen wspiera rozwój i zapewnianie jakości programów Dlubal.
Słowa kluczowe
Python Webservice GUI Programowanie
Linki
- Przewodnik po PyQt5
- Programowanie w RFEM 6 i Python | 006 Przykład | Płaska kratownica
- Filmy wideo do e-learningu | Programowanie w RFEM 6 i Python
Skomentuj...
Skomentuj...
- Odwiedziny 764x
- Zaktualizowane 24. stycznia 2023
Kontakt
Masz dodatkowe pytania lub potrzebujesz porady? Skontaktuj się z nami przez telefon, e-mail, czat, forum lub przeszukaj stronę FAQ, dostępną 24 godziny na dobę, 7 dni w tygodniu.
-
Rozkład obciążenia na moich prętach wygląda inaczej podczas korzystania z powierzchni przenoszenia obciążeń w porównaniu z kreatorami obciążeń. Jaki jest tego powód?
- Moja belka ma ciągłe podparcie boczne, dlatego wyboczenie skrętne (LTB) nie jest problemem. Jak zdefiniować długość efektywną?
- Pojawił się komunikat o błędzie „Powierzchnia niekompatybilnego typu... (Powierzchnia w górnej płaszczyźnie kondygnacji musi być typu 'Przeniesienie obciążenia')” podczas wykonywania obliczeń. Jaki jest tego powód?
- Jak skutecznie zdefiniować przeguby liniowe na wielu powierzchniach?
- Jak uwzględnić współczynnik(i) nadmiernej wytrzymałości, Ωo w kombinacjach obciążeń ASCE 7?
- Jak uwzględnić współczynnik(i) nadmiarowości ρ w kombinacjach obciążeń ASCE 7?
- Moje obciążenie użytkowe jest mniejsze lub równe 100 psf. Jak uwzględnić zredukowany współczynnik obciążenia w kombinacjach obciążeń ASCE 7?
- Nie widzę przypadków obciążeń sejsmicznych w wygenerowanych przeze mnie kombinacjach obciążeń ASCE 7 (COs). Jak je dodać?
- Jak utworzyć imperfekcję w programie RFEM 6 na podstawie postaci własnej?
- Moja belka ma ciągłe podparcie boczne, dlatego wyboczenie skrętne (LTB) nie jest problemem. Jak zdefiniować długość efektywną?
Powiązane produkty