Миф 1: Объекты bim должны быть параметрическими
Будучи начинающим пользователем Revit, вы в особенности станете ценить одно свойство новой платформы: ее параметризацию. В итоге быстро создается впечатление, что всё, что не является параметрическим, противоречит идее BIM и, следовательно, уже не является актуальным. Это так? Что ж, чтобы ответить на этот вопрос, необходимо дифференцировать, какие типы компонентов рассматриваются на каком этапе производительности. Если вы сначала проектируете с использованием нейтральных семейств, то желательна подходящая параметризация компонентов. Если компоненты способны динамически реагировать на изменения положения или размеров, это позволяет комфортно работать на этапе создания эскизного проекта. Однако такая гибкость вам больше не требуется, когда дело доходит до конкретизации проектирования или внедрения специфических компонентов производителя в более детальное моделирование. Позднее это можно рассматривать как функцию, если параметризация ограничена конкретными продуктами. Не все компоненты изготавливаются по индивидуальному заказу. Следовательно, имеет смысл чертить только те продукты, которые действительно можно заказать.
Эффективная параметризация
В чем проявляются сильные стороны параметризации Revit? Она целесообразна, когда есть возможность описать модель на основе нескольких параметров. Например, отводы могут быть относительно хорошо параметризированы, поскольку они представляют собой простые геометрические тела, которые можно моделировать с меньшей степенью свободы. Отводы также являются типичными компонентами, окончательный размер которых во время моделирования часто еще не определен, поэтому первоначально желательна определенная гибкость.
В самом обычном случае отвод имеет диаметр, внутренний радиус и угол. Эти данные позволяют создать простой параметризированный отвод. Теперь по желанию можно ввести дополнительные параметры, которые позволяют параметризировать, например, соединительные патрубки или фланцевые соединения с учетом их формы и видимости. Простая фасонная деталь таким образом быстро становится универсально применяемой моделью. Такие подходы, как ETIM Modeling Classes или Revit Fabrication, используют сходство в форме отдельных компонентов, чтобы путем ввода некоторых размеров и углов на основе объектов шаблона описать компонент, который является достаточно детальным для целей проектирования.
Границы параметризации
Параметризация также может быть использована не по назначению. Это быстро приводит к проблемам в достаточно большой модели, так как плохая параметризация делает модели инертными. В большинстве случаев такая параметризация встречается там, где необходимо отобразить как можно больше продуктов одной серии в одном семействе, но они настолько геометрически различаются в зависимости от варианта продукта, что невозможно найти простое параметрическое описание формы. В данном случае часто имеет место один из следующих двух шаблонов проектирования.
Шерстяной несущий яйца свинобык
Прежде всего, есть такой вид семейства, в котором отчаянно пытаются создать необходимые степени свободы, используя бесчисленные параметры. Эти семейства, пока они служат своей цели, сначала не представляют проблем. Однако при переходе на более новые версии Revit в некоторых случаях возникают проблемы с преобразованием, если была использована слишком сложная параметризация. Любая параметрическая зависимость порождает небольшие вычислительные затраты, если Revit должен повторно создавать соответствующие разделы модели. В крупных проектах незначительные дополнения могут вылиться в сложное сплетение зависимостей.
Если параметризация для типа компонента становится слишком сложной, имеет смысл поискать конфигураторы семейств, которые могут создать подходящее семейство на основе нескольких пользовательских спецификаций. В линейке продуктов LINEAR предлагаются такие конфигураторы, в частности для резервуаров, центральных вентиляционных установок или распределительных коллекторов. Сгенерированные таким образом семейства ограничиваются лишь самым необходимым и могут быть созданы или изменены с помощью удобных масок ввода.
Матрешка
Иногда на практике встречается и другой шаблон проектирования, который для наглядности мы обозначим как семейство «матрешки». В этом методе моделирования у пользователя создается иллюзия параметрического семейства продуктов, но на самом деле геометрия изображенных продуктов избыточна во всех проявлениях. Геометрия конкретного типа управляется с помощью набора параметров видимости, который обеспечивает отображение только желаемой геометрии, а все остальные геометрические характеристики скрываются. Опять же, это работает, однако модели здесь могут быть чрезмерно наполнены неиспользуемыми данными. Кроме того, очистка неиспользуемых типов семейства «матрешки» – в отличие от нескольких статических семейств – не имеет шансов облегчить модель, поскольку могут быть удалены только определения типов (то есть набор необходимых параметров «да/нет»), но не избыточная геометрия.
Вывод
Семейства компонентов в Revit могут быть параметрическими, но не в обязательном порядке. Параметризация важна и хороша для использования эффектов сходства или для обеспечения определенной гибкости на этапе проектирования. Но как только рассматриваются компоненты от производителя, то есть степень развития геометрии увеличивается, предпочтительно использовать семейства, которые либо описывают конкретный компонент, либо могут быть приведены в требуемую форму с использованием управляемого набора параметров.
Миф 2: Обязательно нужно избегать dwg в семействах
В некоторых руководствах по моделированию рекомендуется использовать только семейства Revit, желательно только те, которые вы создали сами. Внедрение блоков DWG категорически не приветствуется. Семейства производителей являются устаревшими и содержат ошибки. Однако от пуристского подхода к самостоятельному созданию каждого семейства впоследствии обычно отказываются. По крайней мере, когда выясняется, что собственные конструкторы используют обычные методы, что создание семейств прочно связывает ресурсы и что в конечном итоге вы всё равно справляетесь с доступным контентом из надежных источников, даже если часть доступных семейств содержит DWG.
О влиянии вставленных dwg-файлов на производительность
Вставленные DWG-файлы в основном страдают от того, что их отождествляют с одним из самых популярных смертных грехов среди пользователей Revit: чрезмерным использованием импортированных чертежей DWG в проектах Revit. Когда эти CAD-модели разбиваются на отдельные объекты, становится только хуже. Возможность использования чертежей DWG в качестве подложки, несомненно, является важным строительным блоком для перехода с AutoCAD на Revit, например, в проектах по модернизации. Если чертежи здесь не связываются, а вставляются, и в последующем не удаляются из видов модели, в результате может снизиться производительность. На вопрос, что такого проблемного во вставленных DWG-файлах в семействах, в качестве аргументов часто приводят производительность и потребность в памяти. Но относятся ли эти нехорошие свойства к файлам DWG в семействах Revit, справедливо приписываемые им на уровне проекта?
Сперва рассмотрим некоторые основы: семейства Revit несут с собой определенный объем данных; минимально достижимый размер пустых файлов семейств составляет около 300-400 КБ. Решающее значение здесь имеют размер дополнительного объема данных, необходимый для моделирования фактического компонента, а также затраты, требуемые для его отображения. За некоторым исключением, файлы RFA никогда не должны превышать отметку в один мегабайт. К счастью, руководствуясь принципом экземпляра семейства в Revit, в отношении чистого размера файла теперь действует правило «Семейства – это затратно, экземпляры – это доступно», поэтому размер файла проекта представляет собой смешанный расчет семейств и их экземпляров. Семейства DWG не являются здесь исключением, что мы хотели бы непосредственно продемонстрировать ниже на доступных для понимания примерах.
Много одинаковых элементов
Первый эксперимент заключается в следующем: в пустом проекте Revit мы создаем множество экземпляров одного семейства DWG путем последовательного копирования (здесь рассматривается противопожарный клапан FKU90 из каталога Wildeboer 06/2021) и на каждом этапе дублирования регистрируем необходимое пространство на жестком диске, требуемую рабочую память после открытия проекта, а также время, необходимое для создания вида (3D без области разреза со скрытыми линиями) с низким, средним и высоким уровнями детализации.
В то время как начальный процесс вставки увеличивает проект примерно на 140 КБ, каждый дополнительный экземпляр в файле проекта кодируется примерно 120 байтами, тогда как во время выполнения в рабочей памяти он занимает примерно 3 КБ. Этот след естественным образом увеличивается с каждым параметром экземпляра, который создается и заполняется, так что в реальных проектах следует ожидать немного большей нагрузки на память на каждый экземпляр. Что касается производительности, то можно заметить, что затраты на создание вида растут асимптотически линейно с количеством отображаемых элементов, чего и следовало ожидать. Этот конструктивный пример ни в коем случае не является показательным для реального проекта. Однако с помощью этого простого эксперимента можно наглядно показать, что многие экземпляры отдельных семейств DWG не демонстрируют заметных отклонений в использовании ресурсов.
Много разных элементов
Теперь, когда мы выяснили, что на размер проекта влияет не количество элементов, а количество соответствующих семейств, давайте перейдем ко второму эксперименту и посмотрим, каким образом использование памяти зависит от количества отдельных семейств DWG в проекте. Для этого посредством браузера LINEAR CAD-Browser мы вносим в пустой проект Revit 256 случайно выбранных семейств разных производителей и групп продуктов и регистрируем нагрузки на память.
Можно заметить, что зарезервированная основная память процесса Revit в значительной мере не затрагивается. Небольшое увеличение наблюдается, только если в проекте 64 или более разных семейств. Как и ожидалось, размер проекта линейно масштабируется с количеством семейств в проекте, при этом средняя потребность в памяти в проекте составляет около 300 КБ на семейство. Тем не менее, объем необходимой рабочей памяти в среднем может оцениваться примерно в 1,2 МБ на используемое семейство. Однако большинство семейств не используются в проекте только один раз. Поэтому мы расширяем этот эксперимент, последовательно дублируя 256 семейств, и снова наблюдаем за памятью и затратами, необходимыми для создания вида.
В этом примере, который значительно приближен к реальным проектам с точки зрения структуры, невозможно определить недостаток производительности семейств DWG. Размер модели существенно зависит от количества элементов и плотности содержащейся информации, поэтому дать общие оценки затруднительно. Однако даже при среднем количестве повторений, равном четырем, и почти с 75 КБ на носителе памяти, средние затраты на один экземпляр значительно ниже общепринятых практических правил, согласно которым размер проекта не должен превышать примерно 100 КБ на компонент. Не говоря уже о том, что в дополнение к семействам продуктов используется много системных элементов для трубопроводов, которые весят очень мало. Таким образом, места для дополнительной буквенно-цифровой информации на элементах еще достаточно.
Есть ли веские причины для вставки dwg-файлов?
Бесспорно, DWG-файлы не являются хорошей основой для моделирования параметрического семейства Revit. Однако существуют также исходные форматы, такие как VDI 3805, параметризация которых обычно не может быть сопоставлена с параметризацией Revit и для которых необходимо создавать отдельные семейства, чтобы избежать «эффекта матрешки». Таким образом, с точки зрения разработки программного обеспечения, предоставление формата вывода выгодно только потому, что код для всего легче поддерживать и расширять. Однако само по себе такое обоснование выглядит как недопустимое упрощение, выбранное лишь для удобства.
Гораздо более веская причина для использования вставленных DWG-файлов заключается в том, что Revit отклоняет генерацию геометрических тел с длиной контура менее 1/32 дюйма (около 0,78 мм). Как правило, это не может быть исправлено автоматически и поэтому может привести к серьезным ошибкам отображения. Если модель VDI 3805 содержит контур ниже этого порогового значения, который был смоделирован преднамеренно или непреднамеренно, окончательная геометрия не может быть сгенерирована без ошибок как собственное семейство Revit. Напротив, преобразование VDI 3805 в DWG почти всегда работает без проблем. Удивительно, но также оказалось, что геометрия в импорте DWG обычно сохраняется более эффективно, чем при преобразовании в собственную геометрию Revit с использованием команды «Расчленить» в редакторе семейств. Выборочные проверки показали, что этот эффект может составлять до 30 % от общего размера. В отдельных случаях за вычетом непроизводительных затрат пустого семейства наблюдалось увеличение примерно на 100 %.
Вывод
Утверждение, что вставленные DWG-файлы приводят к проблемам в семействах, не может быть подтверждено фактами. Правда в том, что в различных онлайн-библиотеках есть семейства, основанные на слишком подробных чертежах компонентов, которые требуют не только большого объема памяти, но и ненужных затрат вычислительного времени при их обработке.
Проблема здесь не в имеющемся DWG, а в его содержимом, которое не было оптимизировано для использования в контексте BIM. С другой стороны, обходной путь посредством формата DWG в настоящее время предлагает единственную стабильную возможность создания геометрии в Revit, совместимой с VDI 3805. Этот путь не имеет альтернативы, если требуется перенести каталоги производителей VDI в семейства Revit. Таким образом, мы должны заботиться не столько о контейнере данных наших семейств компонентов, сколько о качестве фактического содержимого. Теперь перейдем к нашему последнему мифу.
Миф 3: Только сертифицированные семейства являются хорошими семействами
В поисках подходящих семейств компонентов пользователь Revit часто сталкивается с тем, что одни каталоги сертифицированы, а другие нет. Что за этим стоит? Можно ли вообще доверять семействам без сертификата?
Что ж, это как покупка продуктов: если вы не доверяете неизвестным источникам, то уже кое-что вы делаете правильно. Если семейство импортируется из онлайн-библиотеки, то вы несете единоличную ответственность за обеспечение качества. С другой стороны, если производитель компонентов предлагает официальные каталоги продуктов, важно, чтобы он предоставил гарантию качества и одобрил каталог компонентов для использования в поддерживаемых программных средах. Но для этого не требуется сертификат, это должно быть само собой разумеющимся. Ни одному производителю йогурта не пришла бы в голову идея написать на своей продукции «гарантия съедобности». Таким образом, сертификаты соответствия, о которых заявляет производитель программного обеспечения, в лучшем случае следует рассматривать как маркетинговый ход, а в худшем – как подтверждение собственной потери контроля. Если подробно рассмотреть необходимые критерии для такой сертификации, то зачастую останется лишь обещание, что соответствующий контент имеет классификационные ключи и атрибуты для определенных прикладных программ. То, что сперва звучит так позитивно, в конечном счете означает, что соответствующее программное обеспечение не предоставляет пользователю возможности работать с неизвестным контентом, не говоря уже о том, что оно может сопоставлять собственные стандарты фирмы с внутренними данными. Выражение «Содержит идентификаторы для программного обеспечения XYZ» можно трактовать как «Программное обеспечение XYZ не предлагает механизма классификации», равно как и фраза «Имеет атрибуты для программ расчета фирмы XYZ» просто-напросто переводится как «Стандарт вашей фирмы определяем мы, а не вы». Следовательно, если в глянцевых брошюрах вы читаете о том, что каталоги компонентов сертифицированы, всегда задавайтесь вопросом, представляет ли это для вас какую-либо ценность и не устанавливает ли отдельно взятый производитель свои собственные ограничения, заявляя о сертификатах.
Может ли знак качества быть полезным для семейств Revit, зависит, в конце концов, от объективности критериев, стоящих за этим, а также от их прозрачной документации. Объективно измеримыми критериями здесь могут быть, например, итоговые размеры данных, параметрическая сложность и количество аспектов, необходимых для трехмерного представления с предпочтительным уровнем детализации. Кроме того, хорошее семейство не должно без надобности работать с полыми формами и, насколько это возможно, должно предлагать упрощенное геометрическое представление, в котором несущественные детали не моделируются в явной форме. Но даже такие объективно измеряемые величины, к сожалению, сами по себе мало что говорят. Некоторые семейства, такие как аксессуары для труб, уже на первоначальном этапе эскизного проектирования требуют определенных деталей, с тем чтобы на виде можно было распознать функцию компонента. Другие семейства для большей части случаев использования практически без значительных потерь могут быть заменены обычным прямоугольным параллелепипедом с присоединениями. Таким образом, если вы хотите провести проверку качества используемых семейств, то не следует выделять их из общего контекста. Также необходимо проводить оценку затрат и преимуществ для всего проекта.
Так что же теперь делать?
Утверждение соответствующих показателей качества для семейств Revit и разработка на их основе комплексных механизмов тестирования – это злободневный вопрос, на который, насколько известно автору, нет окончательного ответа. Основываясь на многолетнем опыте, мы можем дать вам следующие рекомендации:
- Рассматривайте общие утверждения в руководствах с критической точки зрения. За последние 10 лет Revit значительно усовершенствовался, а общедоступные руководства, как правило, остались без изменений. Не всё, что когда-то имело место, всё еще актуально в текущих версиях.
- Регулярно проводите очистку модели и оптимизируйте ее только после определения размера. Нет никаких технических особенностей, которые затрудняли бы масштабирование семейств DWG. Скорее, почти за каждым неэффективным семейством стоит плохое моделирование, независимо от геометрии.
- Если проблема не в памяти, а в общей рабочей производительности, попробуйте ограничить рабочие виды той областью, в которой вы хотите работать. Выберите соответствующий уровень детализации и представления, а также отключите отображение компонентов модели, которые не имеют отношения к вашей текущей задаче.
Наконец, остается только одна настоятельная рекомендация: избегайте использования семейств из онлайн-библиотек, если вы не можете их тщательно проверить. В рамках исследования мы наткнулись на несколько интересных обучающих материалов, в которых особого упоминания заслуживает прямоугольный фланец весом в три мегабайта (состоящий только из параллелепипеда и полой формы). Кстати, упомянутое семейство является собственным семейством Revit.
Д-р Кристиан Валуга