Практические приложения в Python и RFEM 6 | Генератор 2D-ферм
Техническая статья
Недавно представленные WebServices дают пользователям возможность общаться с RFEM 6 с помощью выбранного ими языка программирования. Эта функция усилена нашей библиотекой функций высокого уровня (HLF). Библиотеки доступны для Python, JavaScript и C #. В этой статье рассматривается практический пример программирования генератора 2D-ферм с помощью Python. Как говорится, «учиться на практике».
Обзор
Использование возможностей RFEM 6 за пределами графического интерфейса пользователя (GUI) и управление/автоматизация модели и процесса проектирования являются значительным преимуществом. Однако возможности программирования с помощью RFEM 6 выходят за рамки простого автоматического управления. Пользователи могут комбинировать библиотеку RFEM 6 HLF с другими популярными библиотеками HLF для разработки собственных приложений.
В этой статье будет представлен 2D-генератор фермы. Генератор 2D-фермы был написан на Python и использует мощные библиотеки Python, такие как PyQt и Numpy, в сочетании с RFEM HLF. Конечным результатом является графический интерфейс, который позволяет гибко создавать фермы.
Изучение основ
В этой статье будут выделены только части кода, уникальные для этого приложения при разработке 2D-генератора фермы. Основы программирования с помощью RFEM 6 и Python можно найти в нашей короткой серии видео из 6 частей по следующей ссылке:
Следуя вместе
Код для этого примера можно найти в вышеупомянутой библиотеке HLF (RFEM_Python_Client/examples/TrussGenerator_2D). Код предоставляется с открытым исходным кодом и, надеюсь, вдохновляет пользователей на их собственные проекты. Подробности работы с RFEM HLF (например, клонирование репозитория) объясняются в серии видео по ссылке выше.
Особые части Кодекса
Попробуйте и кроме
Как уже упоминалось, в этом примере вместе с RFEM HLF используется множество различных библиотек (например, Numpy и PyQt5). Если у пользователей не установлена определенная библиотека, команда «import» выдаст ошибку. Чтобы преодолеть эту потенциальную проблему, используются блоки try и except. «Импорт» попадает в блок try, и в случае сбоя код переходит в блок except, который предложит пользователю установить необходимые библиотеки с помощью pip.
Создание графического интерфейса с использованием PyQt5
PQt5 - это библиотека, предназначенная для создания графических интерфейсов пользователя. Большая часть кода состоит из определений и операторов, необходимых PyQt5 для создания графического пользовательского интерфейса 2D-генератора ферм.
Документацию по использованию PyQt5 можно найти по их ссылке:
Множество учебных пособий также можно найти на YouTube.
Определение фермы
С помощью RFEM HLF можно быстро определить ферму. Информацию о программировании фермы можно найти в шестом видео из вышеупомянутой серии видео.
Переменные, инициализированные в определениях PyQt5, также интегрируются здесь в качестве аргументов для определений ферм RFEM. Это создает возможность взаимодействия между двумя библиотеками.
Для проверки информации, представленной в графическом интерфейсе, используется серия операторов try, except и if.
Заключительные замечания
В приведенной выше статье делается попытка дать краткий обзор того, как создавался параметрический 2D-генератор фермы. Если вам потребуется дополнительная информация, воспользуйтесь разделом для комментариев к этой статье, и мы будем рады ответить.
Автор

Björn Steinhagen, B.Sc.
Разработка продуктов
Г-н Штайнхаген отвечает за разработку продуктов и занимается контролем качества программ Dlubal.
Ключевые слова
Python Веб-сервис Графический интерфейс Программирование
Ссылки
- Справочное руководство PyQt5
- Программирование с помощью RFEM 6 и Python | 006 Пример | Плоская ферма
- Обучающие видео | Программирование с помощью RFEM 6 и Python
Добавить комментарий...
Добавить комментарий...
- Просмотры 677x
- Обновления 24. января 2023
Контакты
У вас есть дополнительные вопросы или вам нужен совет? Свяжитесь с нами по телефону, электронной почте, в чате или на форуме, или выполните поиск по странице часто задаваемых вопросов, доступной круглосуточно и без выходных.
-
При использовании поверхности «Передача нагрузки» распределение нагрузки на стержнях выглядит иначе, чем при использовании мастеров нагрузки. Почему? В чем причина?
- Моя балка имеет непрерывную боковую опору, поэтому боковой изгиб при кручении (LTB) не вызывает беспокойства. Как определить эффективную длину?
- Я получил сообщение об ошибке «Поверхность несовместимого типа ... (Поверхность в верхней плоскости этажа здания должна быть типа «Передача нагрузки») »при выполнении расчета. Почему? В чем причина?
- Как эффективно определить линейные шарниры на нескольких поверхностях?
- Как включить коэффициент (ы) перенапряжения Ωo в комбинации нагрузок ASCE 7?
- Моя живая нагрузка меньше или равна 100 фунтам на квадратный фут. Как я могу учесть пониженный коэффициент нагрузки в комбинациях нагрузок ASCE 7?
- Как мне включить коэффициент (ы) избыточности ρ в комбинации нагрузок ASCE 7?
- Я не вижу случаев сейсмической нагрузки в сгенерированных мной комбинациях нагрузок (CO) ASCE 7. Как их добавить?
- Как создать дефект в RFEM 6 на основе собственной моды?
- Моя балка имеет непрерывную боковую опору, поэтому боковой изгиб при кручении (LTB) не вызывает беспокойства. Как определить эффективную длину?
Все семейства