Этот материал подготовил Павел Болонин. Он предлагает свой подход к условным обозначениям, считает его удобным и сам применяет в компании, где работает. Если вам понравится его способ, вышлите ему лучи благодарности и гамма-кванты респектов.
Павел Болонин — специалист по внутреннему электроснабжению, работает в отрасли с 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)))
и так далее.
Обратите внимание, что тут мы используем такую же кодировку, которую использовали и в таблице выбора, и во вложенном семействе.
Семейство готово! На всякий случай, чистим его от всякого мусора.
Плюсы и минусы метода
Плюсы
- Удобно работать с выпадающими списками;
- Удобно выравнивать строки относительно друг друга;
- Можно быстро добавить новые УГО в таблицу и не искать среди кучи аннотационных семейств.
Минусы
- Трудоёмкий процесс, подходит только опытным ревитчикам.
Расскажите в комментариях, как вы решаете эту задачу в проектах?
Автор материала и иллюстраций — Павел Болонин
Редактура и вёрстка — Вадим Муратов
Статья - просто потрясающаю!
Интересный подход! Спасибо за статью! А если в выпадающем меню выбирать семейства УГО? Тогда получится, что загружая Ваше супер-семейство в проект мы можем выбрать любое УГО, загруженное в модель.
Тут такой момент, что как отделить то, что является УГО от того, что не УГО? Ваша схема больше похожа на работу с общими вложенными, когда в выпадающий список прилетают все семейства из категории. Если вы для УГО выбираете какую-то одну категорию и используете только её, то ок, в остальных случаях будут проблемы из-за очень длинного списка.
Не проще для типовой аннотации создать спрайт, и все будет автоматически специфицироваться таблицей при нанесении условного обозначения на лист
что сделать?
Вложить картинку элемента внутрь семейства - мне кажется такое семейство прилично весить
Тут в способе не вкладывают картинку, там отрисовывают линиями.