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

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

Что это

Каталог типоразмеров — это файл в формате TXT, в котором содержится информация о параметрах семейства и значения для этих параметров в каждом типоразмере. Не путайте с таблицей поиска, она в формате CSV.

Выглядит каталог вот так:

Скриншот из блокнота, в котором я открыл каталог
Скриншот из блокнота, в котором я открыл каталог

Жёлтым выделены параметры. Они идут через запятые, впереди тоже стоит запятая. Зелёная область — значения параметров. Они также разделены запятыми. По сути это таблица, в которой столбцы отделены запятыми.

Если мы берём параметр «ADSK_Наименование», то это первый заголовок в списке параметров, но так как перед ним стоит запятая, то фактически это второй заголовок. Первый — пустой и строки под ним служат именами типоразмеров.

В зелёной области параметру «ADSK_Наименование» соответствует текст «Плита опорная». Так как во всех типоразмерах наименование одинаковое, то и текст повторяется. Если взять следующий параметр, «ADSK_Марка», то там уже значения меняются в зависимости от типоразмера. И заодно совпадают с именем типоразмера.

Если открыть каталог в Экселе и заменить запятые на столбцы, то будет вот так:

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

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

В таблице видно, что значение параметра A в типоразмере SPN-710 должно быть равно 942 мм
В таблице видно, что значение параметра A в типоразмере SPN-710 должно быть равно 942 мм

Таким образом мы храним данные в отдельном лёгком файлике TXT.

Зачем это

Есть несколько причин создавать каталоги.

  1. Так можно быстрее создать типоразмеры семейства. В экселе сделать это проще, чем руками набивать данные в редакторе Ревита.
  2. При загрузке в проект семейства, у которого есть каталог, можно выбирать только нужные типоразмеры. Если у вас 30 типоразмеров радиаторов, но для текущего проекта нужны только 2, то нет смысла засорять файл лишними 28 типами.
  3. С помощью каталога можно быстро загрузить в само семейство все типы и оттестировать работу семейства, не ломается ли оно на каких-то значениях параметров.

Как это делать

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

Проще всего воспользоваться стандартной функцией Ревита по выгрузке типоразмеров. Когда находитесь в редакторе семейств, нажмите на Файл (R в старых версиях) → Экспорт → Типоразмеры в семействе.

Команда экспорта
Команда экспорта

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

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

Ошибки при создании будут возникать регулярно, по крайней мере, на больших семействах с кучей параметров я косячу довольно часто, обычно только со второго-третьего раза таблица получается рабочей.

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

Если текст сам не раскидается по столбцам, то выделите столбец с вставленным текстом, перейдите на вкладку «Данные», найдите команду «Текст по столбцам». Появится окошко, поставьте точку на «с разделителями» → Далее → поставьте галочку напротив «запятая» и нажмите Готово.

Выделил данные, пошёл на вкладку Данные → Текст по столбцам
Выделил данные, пошёл на вкладку Данные → Текст по столбцам
Выбираю «с разделителями» — хочу поделить данные по заданному знаку-разделителю
Выбираю «с разделителями» — хочу поделить данные по заданному знаку-разделителю
Поставьте галочку на запятых, ограничитель — кавычка, жмите Готово
Поставьте галочку на запятых, ограничитель — кавычка, жмите Готово

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

Перед нами таблица с данными. В верхней строке идут имена параметров, их тип данных и единицы измерения. Разделяют их знаки двух решёток. Вот некоторые примеры параметров:

Пометил разными цветами синтаксис параметров
Пометил разными цветами синтаксис параметров
  • Жёлтое — это имена параметров, такие же, как в редакторе семейств.
  • Зелёное — тип данных. В примерах: LENGTH — длина, ELECTRICAL POWER — электрическая мощность, ELECTRICAL POTENTIAL — электрический потенциал (напряжение), OTHER — тип данных для текста, числа, материалов и всего того, для чего нет отдельного типа данных.
  • Синее — единицы измерения. Миллиметры, Ватты, Вольты, для текста, чисел, материалов и прочего — ничего нет. Если в редакторе семейств вы поменяете единицы измерения у параметра, то и тут единицы должны быть другими, например KILOWATTS вместо WATTS.

Чаще всего будете сталкиваться с длиной в миллиметрах, текстом и числами с типом данных OTHER.

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

При экспорте типоразмеров из Ревита есть один дурацкий момент: все данные идут в обратном алфавитном порядке. В итоге параметры ADSK оказываются последними столбцами, а всякие мелочи вроде размеров, которые проектировщику особо и знать-то незачем, оказываются впереди.

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

Когда таблица готова, то можете сохранить её в TXT-формате и проверить в семействе. Я не сохраняю напрямую, а выделяю все ячейки с данными, копирую, открываю файл TXT (обычно тот же, что экспортировал из редактора семейств), вставляю данные. Они вставятся с разделителями в виде длинных пробелов (табуляций). Выделяю один такой длинный пробел, нажимаю Ctrl+H (замена), вставляю в поле для поиска, в поле для замены вставляю запятую и жму «Заменить все». Такой вот метод.

Как загрузить в семейство

Чтобы загрузить каталог в семейство, перейдите на вкладку «Вставить», найдите кнопку «Импорт типоразмеров в семейство». Нажмите по ней и укажите путь к файлу. После этого Ревит спросит, как именно импортировать. Возможны несколько вариантов.

  • Удалить существующие типоразмеры и импортировать новые — Ревит удалит те типоразмеры, что уже есть, и вставит новые. Чаще всего делаю именно так.
  • Импортировать все новые типоразмеры, заменив существующие — если часть типоразмеров пересекается (Ревит смотрит на имя типа), то добавятся новые, а старые просто заменятся.
  • Сохранить существующие типоразмеры, импортировав только новые — Ревит добавит только новые типы, старые оставит, как есть.
Кнопка для импорта каталога в семейство
Кнопка для импорта каталога в семейство
Выбирайте подходящий вариант
Выбирайте подходящий вариант

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

Как выглядит при загрузке в проект

Чтобы семейство загружалось с каталогом типоразмеров, очень важно загружать его именно через интерфейс Ревита: пойти на вкладку «Вставить» и нажать кнопку «Загрузить семейство». Далее указываете путь к семейству, в этом окне вы не будете видеть файлы TXT. Если рядом с семейством лежит файл TXT с таким же названием, как у семейства, то Ревит подтянет этот каталог и выдаст окне с выбором.

Файлы семейства и каталога в папке
Файлы семейства и каталога в папке
Окно выбора типоразмеров
Окно выбора типоразмеров

В этом окне вы можете выбирать один или несколько типов. Для этого в сером столбце нажимайте по именам типов. Если надо выбрать несколько, зажмите при этом Ctrl. Если несколько подряд, то Shift.

Список можно отфильтровать по значению параметров. Для этого нажмите на стрелочку вниз возле имени параметра (выделил на скриншоте выше красным прямоугольником справа), вылетит выбор параметра. Если выбрать определённое значение, то в списке останутся только типоразмеры, у которых значение параметра равно выбранному.

Выбрал в параметре D значение 630 — остались только вентиляторы с диаметром подключения 630 мм.
Выбрал в параметре D значение 630 — остались только вентиляторы с диаметром подключения 630 мм.

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

После того, как выбрали нужные типы, нажмите ОК, семейства загрузятся в проект. Если загружать семейства простым перетаскиванием в рабочее пространство Ревита, то они загрузятся, но без каталогов. Некоторые разработчики удаляют из семейства типоразмеры, оставляют только один тестовый, а всё остальное нужно загружать каталогом. Поэтому лучше загружать через интерфейс. Дольше, зато с каталогом.

Какие нюансы

Расскажу, на какие подводные камни стоит обратить внимание.

Запятые

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

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

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

Чтобы Ревит не воспринимал запятую, возьмите текст в кавычки
Чтобы Ревит не воспринимал запятую, возьмите текст в кавычки

Чаще всего именно из-за текста не в кавычках Ревит выдаёт ошибки про количество столбцов.

Типы данных

Разработчики Ревита никак не могут успокоиться и периодически меняют типы данных. Если до 2021 версии тип данных для угла был ANGLExxDECIMAL DEGREES (ставлю xx вместо двух решёток, потому что Дзен преобразует решётку в свои сраные хэштеги), а в 2021 версии тип данных поменяли на ANGLExxDEGREES. Из-за этого приходится менять таблицы данных для разных версий.

В отличие от таблиц CSV, в каталогах типоразмеров нет различия между текстом и числом. Поэтому везде пишут xxOTHERxx (иксы вместо хэштегов). Из-за этого может быть путаница, но со временем привыкаешь. Если преобразуете таблицу TXT в CSV учтите эту деталь и не забывайте менять тип данных у числовых данных на xxNUMBERxxGENERAL.

Все типы данных можете посмотреть вот в этой гугл-таблице. Учтите, что в ней приведены типы данных для таблицы поиска CSV, если у ячейки есть уголок, то наведите на него мышку, в примечании увидите значение для каталога типоразмеров.

Пример примечания в таблице
Пример примечания в таблице

Чаще всего самый простой способ узнать тип данных — добавить параметр в семейство и экспортировать типоразмеры.

Сохранение семейства

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

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

У меня был большой каталог типоразмеров на 1100 строк, я сохранял семейство из проекта в папку и вместо того, чтобы потерять размер или остаться примерно тем же, семейство стало в 2 раза тяжелее: 1,2 МБ вместо 600 КБ. Сохранил тот же файл из того же проекта в другую папку, где не было TXT-каталога, и семейство стало гораздо меньше. Учитывайте этот нюанс.

Фотометрические сетки

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

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

Путь до фотометрических сеток
Путь до фотометрических сеток

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

Вложенные семейства

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

Вот так выглядят параметры с типоразмерами в свойствах семейства в редакторе:

Выделил эти параметры жёлтым, обратите внимание на то, как записаны типоразмеры вложенных семейств
Выделил эти параметры жёлтым, обратите внимание на то, как записаны типоразмеры вложенных семейств

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

В Экселе это выглядит так:

Форма записи: имя семейства, пробел, двоеточие, пробел, имя типа
Форма записи: имя семейства, пробел, двоеточие, пробел, имя типа

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

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

Если вспомню что-то ещё, то дополню материал. Если что-то забыл рассказать, напомните в комментариях, добавлю.

Видеокурс по семействам трубопроводных фитингов. Подробный 10-часовой курс, в котором научу создавать семейства и поделюсь лайфхаками.

Обновления статей удобно получать в Телеграм-канале «Блог Муратова про Revit MEP». Подписывайтесь и приглашайте коллег. Можно обсудить статью и задать вопросы в специальном чате канала.

Читайте методичку для проектировщиков: полезный материал, в котором последовательно рассказываю, как создавать модель.

Бесплатные обзоры ваших моделей

Раз в две недели провожу «Ревит-линчи» — разбираю файлы семейств и проектов пользователей и отвечаю на вопросы по Ревиту и БИМ-технологиям. Дату и ссылку на Ревит-линч публикую в Телеграм-канале. Приходите, там интересно.

Отблагодарить автора

Я много времени уделяю блогу и разработке семейств. Если хотите отблагодарить меня, то можете сделать небольшой подарок (именно подарок, такой перевод не облагается налогом).