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

Вот так выглядят условно-графические обозначения Павла

Павел Болонин — специалист по внутреннему электроснабжению, работает в отрасли с 2015 года. Закончил Московский институт радиотехники, электроники и автоматики. 7 лет проработал в службе КИПиА. В Revit с 2020 года.

Суть метода и сравнение с другими

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

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

Я придумал новый метод: подготавливать УГО с помощью одного семейства в категории «Типовая аннотация», которое выглядит как строка таблицы. Главное преимущество — семейство легко привязывать и выравнивать за счет опорных плоскостей и заданной высоты строки с УГО. Перемещать элемент лучше за правый верхний угол.

Пример семейства, в данном типоразмере включил заголовок
Перемещение семейства

Как работает семейство

Для схожих УГО создаю одно семейство. В статье буду показывать на примере вентиляционного оборудования.

Внутри семейства — набор вложенных семейств с разными УГО, вложенное семейство для наименования УГО, линии для границ таблицы и текст для заголовков. Это нужно для случаев, если конкретное УГО будет идти первым или последним в таблице. Выбор УГО делаю через выпадающий список.

Наименования для УГО делаю с помощью таблицы выбора и связываю с семейством наименования. Если нужно другое наименование, не из таблицы выбора, пользователь может поставить галочку напротив параметра «Пользовательское наименование УГО» и вписать значение в параметр «Наименование УГО».

Выбор изображения УГО из выпадающего списка
Поля для пользовательского названия УГО

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

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

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

Как добавлять новые УГО

Для работы с таким семейством нужно разбираться в том, как работают:

Здесь покажу только основные моменты и принципы, поэтому разберем внутреннюю начинку и формулы. Посмотрим на вложенные семейства. Все они в категории «Аннотационные обозначения».

Вложенные семейства из семейства обозначения

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

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

Второе семейство, в примере «Вентиляционное оборудование», — это наша графическая подборка для УГО. В ней линиями отрисовываю все нужные УГО и привязываю к линиям отдельные параметры видимости. Нарисовали радиальный вентилятор — всем линиям назначили параметр видимости по экземпляру.

Связь линий с параметрами видимости
Набор линий для УГО и параметры видимости

Как видите, у нас в данном случае есть 10 параметров «Да/Нет» с названиями условных обозначений. Ещё есть параметр «Тип УГО» — его свяжем с параметром родительского семейства, в него будет приходить код нужного УГО. Если в «Тип УГО» приходит номер 201, то срабатывает формула «Тип УГО = 201», включается галочка, и мы видим УГО с кодом 201, в примере — приточная установка.

Наименование для УГО получаем из таблицы выбора. В ней всего три столбца: первый с наименованиями, второй — с кодами, третий — с высотой строки для УГО. Коды должны совпадать с тем, что мы написали в формулах выше. Высоту строки подбирайте опытным путём, чтобы было красиво.

Вот так выглядит таблица выбора для семейства УГО вентоборудования

Важно отметить, что в родительском семействе параметр «Тип УГО» должен быть связан с аналогичным параметром вложенного семейства, а само семейство привязано к соответствующим вспомогательным линиям.

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

  • «Тип УГО» — с формулой;
  • «LT» — название таблицы выбора;
  • группа параметров для выпадающего списка, выделил их зелёной рамкой.

Необходимо импортировать подготовленную таблицу выбора. Если у таблицы выбора другое название, то записываем его в параметр «LT». Не забудьте удалить старую таблицу.

Параметры в родительском семействе

Теперь остается дело за формулой-условием. В простом варианте, когда у нас два вида УГО, она выглядит так:

if(УГО = УГО_Тип 1, 201, if(УГО = УГО_Тип 2, 202, 0))

Если параметров для выпадающего списка три, то:

if(УГО = УГО_Тип 1, 201, if(УГО = УГО_Тип 2, 202, if(УГО = УГО_Тип 3, 203, 0)))

и так далее.

Обратите внимание, что тут мы используем такую же кодировку, которую использовали и в таблице выбора, и во вложенном семействе.

Семейство готово! На всякий случай, чистим его от всякого мусора.

Плюсы и минусы метода

Плюсы

  • Удобно работать с выпадающими списками;
  • Удобно выравнивать строки относительно друг друга;
  • Можно быстро добавить новые УГО в таблицу и не искать среди кучи аннотационных семейств.

Минусы

  • Трудоёмкий процесс, подходит только опытным ревитчикам.

Расскажите в комментариях, как вы решаете эту задачу в проектах?

Автор материала и иллюстраций — Павел Болонин

Редактура и вёрстка — Вадим Муратов