Создание BIM-моделей – приоритетное направление развития для производителей, требующее высокоспециализированного подхода и понимания строительства. В рамках сотрудничества с компанией PERCo нами были разработаны BIM-модели их оборудования. В данной статье рассмотрим процесс создания наиболее интересного из них.
От заказчика мы получили ТЗ, каталоги, чертежи и спецификации оборудования.
Требуется создать семейство скоростного прохода ST-01. В семействе должны регулироваться количество проходов, тип проходов, тип крышек у стоек и тип панелей, устанавливаемых перед стойками.
Сложность и одновременно интерес данного проекта заключается в тщательной проработке параметров для корректной работы вложенных семейств. Чтобы в итоге получить многофункциональное семейство, необходимо отследить множество деталей при разработке и учесть некоторые нюансы, о которых расскажем ниже
Основные комплектующие скоростного прохода:
В ревите мы можем вставить одно семейство в другое и даже последовательно вкладывать одно семейство в другое. Семейство которое мы вкладываем в другое называется “вложенным”. То семейство, которое содержит в себе вложенное семейство называется “родительским”.
Для чего же нам нужны вложенные семейства?
Мы можем связать параметры вложенного и родительского семейства. Связывать можно только параметры одного типа т.е. длину с длиной, число с числом, текст с текстом и т.д. Когда мы размещаем вложенное семейство в родительском , то видим его параметры, рядом с которыми расположены серые кнопки. Если кнопка внутри имеет знак “=”, значит параметр уже привязан.
Для привязки параметра нажимаем эту кнопку. Открывается список параметров родительского семейства из которого можем выбрать нужный или создать новый.
Таким же образом мы можем управлять видимостью вложенного семейства, привязав параметр “видимость” к параметру родительского семейства. А также через “переопределение видимости/графики” настроить отображение семейства при разной детализации.
Общая логика работы семейства.
Семейство имеет несколько параметров, с которыми будет работать пользователь.
В семейство с геометрией секции загружаем семейства крышки и панели. Располагаем их в нужных местах. Так как геометрия секции не меняется, привязывать семейства крышки и панели к опорным плоскостям не требуется.
Теперь, чтобы изменять типоразмер этих вложенных семейств создаем два параметра “Типоразмер из семейства” по экземпляру: “Тип крышки” и “Тип панели вход”. Чтобы списки типов крышки и панели не перемешивались, семейство крышки делаем категорией “обобщенные модели”, а семейство панели “специальное оборудование”. Привязываем созданные нами параметры к крышке и панели.
Тип крышки и панели мы будем задавать в родительском семействе, в которое загрузим наши секции. К сожалению, в Revit нет возможности связывать у родительского и вложенного семейства параметры “типоразмер из семейства”. Но мы можем обойти это ограничение. Создадим числовой параметр по экземпляру “Код крышки” и присвоим каждому типоразмеру крышки номер. То есть типоразмер 01G соответствует числу 1, 01GS числу 2 и 01S числу 3.
Логика такая: если в параметре “Код крышки” стоит число 1, то ставится крышка 01G, если стоит число 2, то крышка 01GS и так по аналогии.
Теперь нам надо в параметр “Тип крышки” вписать формулу, чтобы он зависел от “Код крышки”. Но тут тоже есть ограничение, Revit не позволяет использовать названия семейств и их типоразмеров в формуле if. То есть формула : if(Код крышки = 1, Крышка STG-01G, if (Код крышки = 2, Крышка STG-01GS, Крышка STG-01S)) не будет работать и Revit выдаст ошибку.
Но в формуле if мы можем использовать сами параметры. Поэтому создаём три параметра типа “Типоразмер из семейства” и называем их “Тип крышки 1”, ”Тип крышки 2”, “Тип крышки 3”. Параметры должны быть “по типу”. Теперь в значениях этих параметров выбираем соответствующие типоразмеры крышек.
Нам осталось записать в параметре “Тип крышки” формулу:
if(Код крышки = 1, Тип крышки 1, if(Код крышки = 2, Тип крышки 2, Тип крышки 3))
Логика формулы такая: если “Код крышки” равен единице, то “Тип крышки” равен параметру “Тип крышки 1”, в котором выбран нужный нам типоразмер
Теперь при изменении “Кода крышки” у нас меняется тип крышки.
Далее проделываем аналогичные действия для параметризации типа панели.
Создаем числовой параметр “Код панели вход”( так как панель располагается на входе) и параметры “Типоразмер из семейства” по типу “Тип панели 1”, “Тип панели 2”, “Тип панели 3” и указываем в них нужные типоразмеры панелей. Но есть одно дополнительное условие. Если крышка обязательно устанавливается на секцию, то панель может полностью отсутствовать. Для того, чтобы реализовать это в семействе мы загружаем в семейство стойки пустое вложенное семейство, назовём его Null. Семейство Null должно иметь ту же категорию, что и семейства панелей т.е. “Специальное оборудование”. Создадим новый параметр “Типоразмер из семейства”, назовём его так же Null и в значение выберем наше семейство Null.
Теперь в “Тип панели вход” записываем следующую формулу:
if(Код панели вход = 1, Тип панели 1, if(Код панели вход = 2, Тип панели 2, if(Код панели вход = 3, Тип панели 3, Null)))
Таким образом, если мы выберем в родительском семействе отсутствие панели, т.е. параметр “Код панели вход” будет равен нулю, то у семейства секции вместо панели будет стоять наше пустое семейство.
Аналогичные действия мы повторяем для последней секции slave и для двусторонних секций. Но у секции slave панель будет стоять только на выходе. А у двусторонней секции панель будет стоять на входе и на выходе, нам нужно будет создать два дополнительных параметра “Код панели выход” и “Тип панели выход”.
В параметр “Тип панели выход” записываем аналогичную формулу, что и для “Тип панели вход”: if(Код панели выход = 1, Тип панели1, if(Код панели вход = 2, Тип панели 2, if(Код панели вход = 3, Тип панели 3, Null))).
На этом работа с секциями закончена.
Так же необходимо создать семейство стеклянной створки. Это простое семейство с запраметизированной геометрией, в нем создаем 6 типоразмеров т.к. У нас 6 типов проходов. Семейству задаем категорию “оборудование”.
Создаем новое семейство и загружаем в него наши семейства секций и створок.
Создаем 6 параметров “Типоразмер из семейства”, категория “Оборудование” по экземпляру, с названием “Тип прохода 1”, “Тип прохода 2” … “Тип прохода 6”. В данные параметры у нас попадают типоразмеры створок, через них будем задавать типы проходов в семействе.
Вправо от центральной плоскости создаём ещё 6 опорных плоскостей. Это плоскости к которым будут привязаны наши секции. Расставляем размеры между плоскостями и между первой и последней плоскостями.
Расставляем наши секции, на первую плоскость ставим секцию Master, на последнюю секцию Slave, на все остальные устанавливаем двусторонние секции.
Нам надо запарматетизировать расстояние между проходами в зависимости от типа прохода. Мы будем использовать формулу “if”, поэтому создаем 6 параметров “Типоразмер из семейства” категории “Оборудования” по типу. Называем их “Тип1”, ”Тип2” … ”Тип6”. Задаем им типы наших проходов.
В параметр “Ширина 1” вписываем формулу: if(or(Тип прохода 1 = Тип1, Тип прохода 1 = Тип2), 920 мм, if(or(Тип прохода 1 = Тип3, Тип прохода 1 = Тип4), 1170 мм, if(Тип прохода 1 = Тип5, 1270 мм, 1470 мм))). Аналогичную формулу вписываем в другие параметры ширины прохода, меняя номер прохода. Теперь ширина прохода меняется в зависимости от его типа.
У нас так же меняется и количество проходов.
Создаём числовой параметр по экземпляру “Количество проходов”. А также параметры “Ширина 2а”, “Ширина 3а” … “Ширина 6а”. В них выписываем формулу: if(Количество проходов по факту > 1, Ширина 2, 0 мм) для параметра “Ширина 2а”
if(Количество проходов по факту > 2, Ширина 3, 0 мм) для параметра “Ширина 3а” и далее по аналогии.
Далее создаем параметр “Ширина 6б” и в него вписываем формулу Ширина 1 + Ширина 2а + Ширина 3а + Ширина 4а + Ширина 5а + Ширина 6а.
При любом количестве проходов всегда присутствуют секция Master и Slave. Расстояние между ними равно сумме ширины проходов и задаваться параметром “Ширина 6в”. Параметры с постфиксом “а” проверяет существует ли данный проход в семействе и если нет, то приравнивает его ширину нулю.
То есть, если у нас количество проходов будет 3. То “Ширина прохода 6в” будет равно сумме “Ширина прохода 1”, “Ширина прохода 2а” и “Ширина прохода 3а”, а параметры “Ширина прохода 4а”, “Ширина прохода 5а” и “Ширина прохода 6а” будут равны нулю.
Так, при задании количества проходов, видимость ненужных двусторонних секций будет отключаться (это мы настроим в следующем шаге), а секция Slave будет смещаться на нужное расстояние от секции Master.
Создадим параметры “Да/Нет” по экземпляру “В секции 2”, “В секции 3” … “В секции 6”. Привязываем данные параметры к соответствующим секциям. Видимость первой и седьмой секций (Master и Slave) не регулируются, они всегда присутствуют в комплектации.
Для начала расположим створки в нашем семействе. Создаем с слева и справа каждой опроной плоскости на расстоянии 135мм (именно на таком расстоянии располагаются створки от центра секции) дополнительные опорные плоскости. К ним привязываем край створки.
Теперь нам надо настроить их тип и видимость. В параметрах видимости привязываем наши раннее созданные параметры для видимости секций. Так же ставим метки параметров “Тип прохода 1”, “Тип прохода 2” … “Тип прохода 6”.
Создаем параметр “Типоразмер из семейства”, категория “Обобщенные модели” по экземпляру с названием “Тип крышки”. Из данного выпадающего списка будем выбирать нужный тип верхней крышки.
Ранее мы запараметизировали тип крышки во вложенном семействе секции и привязали его к числовому параметру. Теперь в родительском семействе создаем такой же параметр и называем его “Тип кр”. В него будем вписывать формулу if. Так что нам опять требуется создать три параметра “Типоразмер из семейства” категории “Обобщенные модели” по типу. Называем их “Тип 1кр”, “Тип 2кп” и “Тип 3 кр”.
Далее в числовой параметр “Тип кр” вписываем формулу: if(Тип крышки = Тип 1кр, 1, if(Тип крышки = Тип 2кр, 2, if(Тип крышки = Тип 3кр, 3, 0))). И привязываем его ко всем секциям.
Передняя панель задается для каждой секции отдельно на вход и выход. Для этого на требуется создать отдельный параметр для каждой панели. Это параметр “Типоразмер из семейства” категория “Специальное оборудование” по экземпляру.
Необходимо получить следующий результат
Тип панели задается так же как и тип крышки через числовой параметр. Создаем три параметра “Типоразмер из семейства” категория “Специальное оборудование” по типу. Называем их “Тип 1п”, “Тип 2п” и “Тип 3п”. Далее создаем числовые параметры для каждой панели и вписываем в них формулу:
if(Тип панели 1 секция вход = Тип 1п, 1, if(Тип панели 1 секция вход = Тип 2п, 2, if(Тип панели 1 секция вход = Тип 3п, 3, 0))), меняя название параметра с помощью которого выбираем панель
В результате нашей работы получили многофункциональное семейство скоростных проходов. Были выполнены все пункты технического задания, учтены все желания заказчика (функциональность, геометрическая проработка, проработка параметров и информационного наполнения). Сотрудничество было взаимополезное для обеих сторон. Компания PERCo получила высококачественные BIM–модели оборудования, что обеспечивает её преимущество перед конкурирующими компаниями.
В процессе сотрудничества с компанией PERCo команда Tiver Group разработала BIM модели оборудования, предназначенного для управления контролем доступа на объекты:
1. Скоростные проходы ST01, ST02 и ST11. Результатом работы стали BIM-модели, в которых запараметризировано количество проходов, тип прохода, тип крышки и тип передней панели.
2. Полноростовые турникеты, калитки и ограждения. В итоге работы получили BIM-модели для удобной компоновки и проектирования ограждений.
3. Шлагбаум GS04. BIM-модели шлагбаума с изменяемой длиной и стороной присоединения стрелы.
4. Турникеты триподы. Геометрически проработанные BIM-модели турникетов с возможностью включения anti-panic мод и установки дополнительного оборудования на крышке.
Какие задачи компания PERCo решила, с помощью разработанных BIM-моделей? Вопрос имиджа компании всегда стоит на первом месте, после анализа частого обращения инженеров-проектировщиков с запросом представления моделей производителя. В дальнейшем, использование моделей определенного производителя нативно рекламирует его и повышает уровень продаж.