Это статья для новичков в Ревите. Расскажу, какие бывают семейства, основную иерархию элементов в модели и как можно загрузить в свой проект разные семейства. Говорить будем про инженерные семейства, но общая логика одинакова для любых семейств независимо от раздела проектирования.

Скриншот для обложки статьи, сделал из файла с моей библиотекой PEX трубопрооводов

Иерархия семейств

Это условная иерархия, просто для понимания того, как устроен порядок семейств.

Есть семейства — просто одна большая группа элементов. Внутри этой группы семейства делятся на категории. Внутри категории — на отдельные семейства. В каждом семействе есть минимум один типоразмер. Если семейство загрузили в проект, но не разместили, оно так и остаётся только типоразмером, их называют family symbol. Если загрузили и разместили, то вот этот конкретный элемент модели называется экземпляром.

Иерархия семейств в Ревите

Подробнее про типы и экземпляры читайте в посвящённой им статье.

Классификация семейств

В Ревите все семейства делятся на категории, об этом позже, а категории можно поделить на три большие группы по методу их создания и хранения:

  1. Системные категории (стены, перекрытия, трубы, воздуховоды, лотки, короба),
  2. Загружаемые категории (двери, окна, арматура и оборудование труб и воздуховодов, светильники, розетки),
  3. Модели в контексте (почти те же категории, что у системных и загружаемых).

Внутри категорий семейства можно поделить по методу размещения в проекте, это называется — по основе. Об этом поговорим как-нибудь в другой раз.

Давайте разберём системные и загружаемые категории. Модели в контексте я не буду подробно рассматривать, потому что инженерам они редко пригождаются.

Системные категории

Системные категории так называются, потому что логика их построения жёстко задаётся программой — системой — и хранятся они только в проекте или в шаблоне проекта. Как правило, такие элементы не имеют фиксированных размеров, они «резиновые».

Например, есть системная категория «Стена». У стены мы задаём её толщину и порядок слоёв, но длина и высота выбираются в момент создания. У перекрытия есть толщина, но её контур тоже задаётся по месту: нарисовали эскиз, нажали галочку — Ревит построил плиту.

В инженерке то же самое. Есть трубы и воздуховоды. У трубы мы задаём наружный, внутренний и условный диаметр, почитать об этом можно в отдельной статье, но длину трубы мы задаём при её создании. И при этом в любой момент можем её укоротить или удлинить, она «резиновая».

При этом мы всегда строим такие элементы одинаково. Труба всегда строится как отрезок, как ось, а потом Ревит на эту ось натягивает «цилиндр» — получается труба в объёме. Эта логика жёстко задана, мы не можем рисовать трубу иначе. Именно поэтому в Ревите нельзя «гнуть» трубу, это всегда прямой цилиндр, хотя в жизни трубу гнут, и происходит это не только на пьяных вечеринках сантехников.

И так как у нас нет возможности вынести эту логику построений из Ревита куда-то в отдельный файл, оно зашито в самом файле проекта, то и семейства системных категорий мы храним в проекте или в шаблоне проекта, что почти одно и то же.

С этим связаны ещё некоторые особенности таких семейств.

Добавление параметров

К системным категориям параметры можно добавлять только через параметры проекта. Подробнее об этом читайте в другой статье блога. Из-за этого параметр добавляется сразу ко всем элементам категории. Например, если нужно добавить параметр «Толщина металла» к воздуховодам, то параметр появится вообще у всех воздуховодов, неважно, металлические они или нет. Это неудобно, но вот так оно работает.

Через параметры проекта к системным категориям можно добавлять как общие параметры, так и обычные параметры проекта. Общие параметры можно вынести в марки и спецификации, обычные — только в спецификации. Но в обоих случаях не получится задавать какие-то формулы и зависимости в параметры, подобную автоматизацию можно делать только сторонними средствами.

Например, нельзя ввести параметр «Длина трубы с запасом», чтобы в момент отрисовки трубы у неё в свойствах появлялся этот параметр и в нём считалась длина с каким-то коэффициентом запаса. Такое делают в спецификациях с расчётными параметрами, и значение можно увидеть только в ней, а не в элементе.

Загрузка в проект

Так как семейства в системных категориях не хранятся отдельно от проекта, то мы их можем загружать в другие проекты только через копирование между файлами. Есть два способа: копирование вручную через буфер и копирование стандартов проекта.

В обоих случаях вам нужно в одном сеансе Ревите запустить два проекта: источник семейств и целевой файл, куда хотите загрузить семейство. При ручном копировании в источнике выбираете в диспетчере проекта нужный тип семейства и нажимаете Ctrl + C — копируете в буфер.

Выделил в буфере нужный тип трубы, нажал Ctrl+C

Далее переходите в свой целевой проект на план этажа или 3Д-вид и нажимаете Ctrl + V — вставляете из буфера. Семейство загрузится в ваш проект. При этом, если копируете трубы, воздуховоды, лотки или короба, то они скопируются вместе с соединителями из настроек трассировки. Прочитать про настройки трассировки можно где? Да, у меня в блоге.

При копировании стандартов проекта алгоритм немного иной. Открыли два файла, перешли в свой проект, идёте на вкладку «Управление», ищете команду «Копировать стандарты проекта». Нажимаете и в появившемся окне отмечаете галочками нужные элементы и жмёте ОК.

Команда «Копировать стандарты проекта»
Выбираем то, что хотим скопировать

В случае ручного копирования вы можете выбирать конкретные типы, которые хотите скопировать. В случае копирования через стандарты проекта выбирать нельзя, Ревит скопирует всё скопом.

При этом копируются не только типы системных категорий, но и их параметры. Если вы добавили к категории параметр проекта в файле-источнике, то этот параметр скопируются и в ваш целевой файл. В итоге у всех элементов вашего файла появятся эти параметры. Чаще всего это удобно, хотя иногда и может копироваться мусор. Поэтому сначала лучше проверить, что копируете.

Присутствие в диспетчере проекта

Менее приятная особенность системным категорий — они всегда есть в любом проекте, неважно, какой раздел выполняете. Так как логика их работы живёт в самом ядре Ревита, то он их тащит в каждый проект. Именно поэтому у инженера отопления в диспетчере проекта в семействах есть и стены, и крыши, и лотки, хотя они все ему не нужны. Их нельзя удалить, они всегда есть и первое время мозолят глаза, а потом привыкаете и уже не видите их.

Встроенные параметры

У всех семейств в Ревите есть какой-то минимальный набор параметров. У системных категорий есть ещё и свои системные, или встроенные, параметры. Например, для стены это площадь поверхности. Для трубы или воздуховода — их длина или диаметр. Их можно выносить в марки, в спецификации, смотреть в окне свойств. Как правило, большинство таких параметров Ревит вычисляет автоматически и сразу в момент построения.

Загружаемые категории

Эти семейства мы загружаем с диска в проект, поэтому они и загружаемые. У них есть свой формат хранения — RFA, revit family. Они бывают разные, но их объединяет одно: эти модели когда-то какой-то человек создал в редакторе семейств Ревита.

При разработке семейства автор выбрал одну из категорий, поэтому семейство принадлежит какой-то категории. Большинство категорий можно менять между собой в редакторе. Например, сделали радиатор оборудованием, а потом решили поменять на сантехнические приборы. Так сделать можно, это не запрещено.

Логика работы с семейством в каких-то моментах строго задана, но в то же время есть и масса свободы по тому, как организовать взаимодействие пользователя с семейством. Например, есть строгий алгоритм, как правильно делать отводы трубопроводов с точки зрения настройки и расположения соединителей. Именно его я показываю в своём курсе о фитингам.

Но в то же время отвод может быть очень разной геометрической формы: угольником, гладким, сегментным, раструбным, фланцевым и так далее. Можете в редакторе ориентировать его слева-направо или сверху-вниз. Здесь вас никто не ограничивает, делайте, как вам удобно. Хотя положение семейств лучше делать всегда единым, иначе могут быть проблемы при замене.

Отсюда и дихотомия загружаемых семейств: есть некоторая свобода действий, но она тоже ограничена логикой работы с этими семействами. Поэтому хороших разработчиков семейств мало. С одной стороны, они делают просто неправильно то, что строго задано, с другой стороны, они неправильно пользуются свободой действий, в итоге получаются неудобные для пользователя семейства.

Также минус этой свободы — нестандартизированные интерфейсы. Можно сделать панельный радиатор, в котором длина будет задаваться по экземпляру, то есть у каждого радиатора в модели индивидуально, а можно сделать параметром по типу, тогда длина будет меняться у всех радиаторов этого типа одновременно. Тут нет правильного или неправильного подхода.

В итоге новичку просто сложно разобраться, с тем, что именно надо нажать в семействе, чтобы оно сделало то, что нужно. Поэтому рано или поздно все, кто хочет больше контролировать свою жизнь в Ревите, сталкивается с необходимостью учиться работе с семействами. Здесь могла бы быть ссылка на мои потрясающие курсы, но я уже давал её тремя абзацами выше.

Добавление параметров

В загружаемые семейства параметры добавляются и в редакторе, и через параметры проекты. В редакторе можно добавлять параметры индивидуально, а через параметры проекта — тоже сразу ко всем элементам из категории, как и в случае с системными семействами.

Загрузка в проект

Семейства загружаются с диска. Скачали с интернета, положи к себе в папочку. Дальше пошли на вкладку «Вставить» → «Загрузить семейство».

Это самый правильный способ загрузки, так как если у семейства есть каталог типоразмеров, то он тоже подгрузится и сможете выбрать типоразмеры. Про каталоги тоже есть статья.

Присутствие в диспетчере проекта

Если семейство не загрузили, то и в диспетчере его не будет видно. Если семейств какой-либо загружаемой категории вообще нет в проекте, то и категория в диспетчере отображаться не будет. Например, если только начали проект и ещё не загружали семейства арматуры трубопроводов, то такой категории в диспетчере не будет до момента загрузки первого семейства.

Модели в контексте

Это семейства, которые мы можем создавать не в редакторе, а прямо в проекте. При этом как категорию у них можно выбирать и некоторые системные категории, и загружаемые. Чаще всего ими пользуются архитекторы и конструкторы, инженеры сетей применяют их редко.

Например, архитекторы могут с их помощью делать всякие неровные стены или вырезать в них отверстия и ниши. В своей практике я не нашёл особого применения этим семействам. Мне кажутся они неудобными с точки зрения и создания, и взаимодействия. Особенно бесит, что типоразмеры не сделать, а плодить кучу отдельных семейств не нравится.

Однако даже они могут сгодится. Например, с их помощью вы можете быстро создать фундамент под насос или что-то вроде этого. Далее уже либо выдаёте как задание строителю, либо так и оставляете. Главное, потом не забывать отфильтровывать из спецификаций, если в них будет попадать этот элемент.

В то же время тот факт, что к ним можно добавить общие параметры и использовать в спецификациях, позволяет нам использовать их как фиктивные элементы модели для добавления нужных позиций в спецификацию. Так делать нехорошо, но иногда заказчики не оставляют выбора и требуют, чтобы всё было обязательно из модели, неважно, насколько это адекватно. Есть спрос — есть предложение.

На этом оканчиваем обзор разных видов семейств.