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

Задача

После создания планов этажей, они получают имена уровней. Если повторить операцию, то они получат имена уровней + цифру в скобочках: Этаж 01(1) и т. д.

Очень лень перебивать имена каждого плана
Очень лень перебивать имена каждого плана

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

Решение

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

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

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

Давайте посмотрим, как работает скрипт.

Алгоритм

Какова последовательность действий скрипта:

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

2. Проверяет, заполнен ли параметр «ADSK_Примечание» кодовой фразой «Динамо_Префикс». Если заполнен, то скрипт этот план будет обрабатывать, если нет, то пропустит.

3. Смотрит, что у плана заполнено в параметре «ADSK_Назначение вида». Если там значение «Вспомогательные виды», то ему в итоге добавится префикс «В_». Если там «Оформленные виды», то — «О_». Но это ещё не всё.

4. Анализирует параметр «ADSK_Штамп Раздел проекта». Если этот параметр заполнен, то берёт из него все символы до первого нижнего подчёркивания. Если такого символа нет, то берёт все символы. Например, если в параметре указан текст «ОВ1_Жилая часть», то из него забирается текст «ОВ_». Если в параметре текст «ХГВС», то текст забирается целиком.

Это нужно, чтобы сформировать второй префикс — указатель на раздел. Это будет полезно, если у вас в проекте несколько типов систем: отопление и теплоснабжение, водоснабжение и водоотведение, электрика и заземление.

5. Оформленным видам назначает двойной префикс «О_Раздел_», где Раздел — значение из параметра «ADSK_Штамп Раздел проекта» (см. п. 4).

Вспомогательные виды проверяет ещё раз. Если у них в параметре «ADSK_Штамп Раздел проекта» стоит текст «# Сводные», то для этих видов сформирует префикс «В_СВД_». Если текст другой, то сформирует префикс по аналогии с префиксом для оформленные видов, только в начале будет «В_» вместо «О_».

Иллюстрации до и после обработки скриптом:

Всё, что нужно, обработалось, остальное не тронуто
Всё, что нужно, обработалось, остальное не тронуто

Защита от невнимательности

Скрипт также обращает внимание на то, как назван план. Если у него уже есть в начале префиксы «В_» или «О_», то эти планы он пропустит и не станет обрабатывать, даже если у них заполнен кодовой фразой параметр «ADSK_Примечание». Иначе возможна ситуация, когда пользователь забыл стереть значения из параметра «ADSK_Примечание», и скрипт добавит ненужные префиксы на каждый свой запуск: «В_В_В_В_Этаж 01» и т. п.

Требования

Зайдите в параметры проекта (Управление → Параметры проекта), найдите «ADSK_Примечание», нажмите «Изменить...» и в списке категорий справа поставьте галочку на категории «Вид». ОК.

У видов должны быть параметры «ADSK_Назначение вида» и «ADSK_Штамп Раздел проекта». Либо те параметры, которые вы сами зададите.

Сомнения

Можно было бы реализовать всё гораздо проще: добавить всем видам параметр а-ля «VM_Префикс вида» (можно общий параметр, можно просто параметра проекта), куда пользователь руками вбивает нужный ему префикс, запускает скрипт, а скрипт «сшивает» значение из параметра и имя вида.

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

Ссылка на скрипт

Скачивайте с Яндекс.Диска

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

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

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