'
Табакар О.А.
ОСОБЕННОСТИ РАЗРАБОТКИ СРЕДСТВА АВТОМАТИЗАЦИИ МОДЕЛИРОВАНИЯ ОГНЕЗАЩИТНЫХ КОНСТРУКЦИЙ *
Аннотация:
в работе описываются основные методы и подходы разработки средства автоматизации моделирования огнезащитных конструкций. Рассматривается применение WPF- окна, используемого в разработке интерфейса плагина. Описаны используемые классы и методы библиотеки Revit API.
Ключевые слова:
система BIM, ТИМ, строительство, огнезащита
Целью данной работы является исследование особенностей разработки средства автоматизации моделирования огнезащитных конструкций с применением технологии информационного моделирования. В рамках данной работы для выполнения сформированы следующие задачи:- Разработка программного интерфейса средства автоматизации моделирования огнезащитных конструкций.- Анализ методов и подходов разработки программного кода средства автоматизации моделирования огнезащитных конструкций.Наиболее слабые места ТИМ – это инженерные расчеты и соответствие трехмерной модели и представленных двумерных видов. Проблему отсутствия инженерных расчетов можно решить при помощи разработки средств дополнительного программного обеспечения (плагинов).В качестве среды разработки средства автоматизации моделирования огнезащитных конструкций применяется продукт Microsoft Visual Studio [1-2]. Для работы на плагином необходимо выбрать шаблон библиотеки классов .NET Framework 4.8, который в дальнем будет дополняться методами. Платформа .NET Framework имеет два главных элемента: CLR (Common Language Runtime - это общеязыковая среда исполнения, которая управляет выполнением программ, написанных на любом из нескольких поддерживаемых языков, позволяя им совместно использовать общие объектно-ориентированные классы, написанные на любом из языков. Это часть . NET Framework от Microsoft.Вторым компонентом является CLR – это менеджер, управляющий исполнением кода, памятью, потоками, осуществляет компиляцию и т.д.Программный интерфейс представлен приложением Windows Presentation Foundation (WPF) [3-4] с помощью окон, где размещаются графические данные, по средствам которых пользователь имеет возможность взаимодействовать с программой. Базовое окно WPF реализуется c применением части программного кода, который описывает поведение созданных элементов в программе и внешнего вида окна, описываемый с помощью языка разметки XAML, необходимый для инициализации объектов. Для создания окна WPF в рабочей области Visual Studio необходимо в обозревателе решений создать новый элемент ( рисунок1).Рисунок 1. Пример создания окна WPF.Следующим шагом, в обозревателе решений автоматически создается файл WindowForFireProtection.xaml, где с примением панели инструментов разрабатывается програмнный интерфейс плагина (рисунок 2).Рисунок 2. Внешний вид пользовательского интерфейса.Структура XAML [5] описывает графический интерфейс плагина, который включает в себя различные средства управления и взаимодействия пользователя и программы, и описывает следующие элементы и команды:- Элементы Grid. Grid – является наиболее мощным и распространенным контейнером, содержащим столбцы и строки, количество которых регулирует разработчик. В данном случае, Grid позволяет организовать расположение других элементов по строкам и колонкам.- Класс текстового блока TextBlock. Представляет элементы управления для отображения текста на экране (рисунок 3). Включает в себя параметры, регулирующие высоту текста, отступы, выравнивание, тип шрифта.Рисунок 3. Пример представления TextBlock.- Элемент управления «поле со списком» ComboBox. Данный класс представляет собой поле с выпадающим списком, где пользователь выбирает нужное значение из представленного списка. Параметры моделирования огнезащитных конструкций варьируются в зависимости от завода-изготовителя, габаритных размеров кабельных конструкций, условий проектирования, поэтому пользователь должен иметь возможность выбора подходящих данных под заданные условия.- Элемент управления Button. Данный класс представляет собой кликабельную кнопку. При нажатии на данный элемент, вызывается метод, прописанного в XAML структуре обработчика. Для моделирования огнезащитных конструкций, необходимо на виде выбрать экземпляры категорий «Кабельные локти» и «Соединительные детали кабельных лотков», задать необходимые параметры и выполнить автоматическую трассировку. Данные действия выполняются за счет взаимодействия пользователя и элементов управления Button.Для взаимодействия, автоматизации и прочих действий с элементами Revit применяется набор функций и классов Revit API [6-7] (Application Programming Interface), который предоставляет разработчикам скриптов и плагинов широкий набор инструментов для доработки функциональных возможностей Revit. В области «Обозреватель решений» в Visual Studio необходимо добавить ссылки на сборки RevitAPI.dll и RevitAPIUI.dll (рисунок 4), чтобы в дальнейшем стали доступны все средства Revit API.Рисунок 4. Добавление ссылок на сборки Revit API.После добавления необходимых пространств имен нужно описать логику работы элементов интерфейса. Структура плагина включается в себя несколько классов:Класс WindowForFireProtection.xaml.cs, описывающий принцип работы графического интерфейса.Класс FireProtectionCommand.cs, предназначенный для выделения элементов категории кабельные лотки и соединительные детали кабельных лотков.Класс FittingBuilder.cs и FittingByPartTypeBuilder.cs, предназначенных для построения прямых, поворотных, тройниковых и крестообразных участков короба.Для выбора элементов используется метод selection.PickObjects() (рисунок 5). В основе работы данного метода лежит выбор элементов пользователем и далее с применением пользовательского фильтра (рисунок 6) осуществляется отбор элементов только категорий кабельные лотки и соединительные детали кабельных лотков. Если пользователь попытается выбрать стены, или иные элементы модели, то Revit не позволит выполнить данные действия. Далее формируется список из ID выбранных элементов и запускается работа интерфейса.Рисунок 5. Фрагмент метода selection.PickObjects().Рисунок 6. Пользовательский фильтр.В классах FittingBuilder.cs и FittingByPartTypeBuilder.cs применяется метод Execute(), которой проверяет выбор элементов, делает проверку наличия семейств, моделирует прямые участки огнезащиты по вычисленной траектории и заполняет параметры семейств, указные в WPF окне. Внутри метода получаем геометрические линии LocationCurve и вычисляем координаты начала отрезка, конца и середины (рисунок 7). После вычисления координат, вычисляем длину отрезков и конвертируем их в длину.Рисунок 7. Расчет координат.Теперь в методе осуществляется создание нового экземпляра семейства прямого участка огнезащиты по вычисленным раннее координатам (рисунок 8). Точка вставки – середина отрезка.Рисунок 8. Фрагмент метода Execute(). Создание экземпляра семейства.К построенным участкам применяются значения параметров ширины, высота и т.д., полученные ранее из WPF формы. Для работы с параметрами применяются словари (рисунок 9), где ключ – это имя параметра, ожидаемое в семействе Revit, а значение – это данные, введенные пользователем самостоятельно через WPF – окно.Рисунок 9. Фрагмент метода Execute(). Словарь параметров.В работе рассмотрены практические аспекты разработки средства автоматизации огнезащитных конструкций, соответствующие современным требованиям проектирования.Разработанный плагин представляет собой эффективный инструмент для инженера-проектировщика, позволяющий в кратчайшие сроки разрабатывать соответствующие разделы документации и получать спецификации, отражающие наиболее точно проектируемый объем материалов.
Номер журнала Вестник науки №6 (87) том 1
Ссылка для цитирования:
Табакар О.А. ОСОБЕННОСТИ РАЗРАБОТКИ СРЕДСТВА АВТОМАТИЗАЦИИ МОДЕЛИРОВАНИЯ ОГНЕЗАЩИТНЫХ КОНСТРУКЦИЙ // Вестник науки №6 (87) том 1. С. 1812 - 1819. 2025 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/23799 (дата обращения: 09.07.2025 г.)
Вестник науки © 2025. 16+
*