Написал скрипт, который заносит изменения со всех листов в ведомость листов в общих данных.
Версии программ
Скрипт создал в Динамо 2.0.3 на основе файла Ревита версии 2019.2. Скорее всего, скрипт будет работать и в других версиях Динамо и Ревита, потому что я стараюсь по максимуму использовать базовые ноды и обходиться без пакетов.
Алгоритм
Вносите изменения на все листы. Ставите пометочные облака, оформляете, как вам нужно. Ставите галочки у параметров листа (об этом в инструкции подробнее).
После этого запускаете скрипт, он внесёт в столбец «Примечание» информацию по изменениям. Будет выглядеть вот так:
Скрипт заточен на шаблон ADSK, но поскольку практически все параметры вы всё равно будете создавать на уровне проекта вручную, то шаблон не так критичен, всё легко заточить под свой шаблон. Об этом тоже рассказываю в инструкции.
А теперь внимательно прочитайте инструкцию, чтобы делать всё правильно.
Инструкция
Какие параметры нужны
Добавить в параметры проекта параметры экземпляра для категории «Листы»:
— VM_История изменений (текст);
— VM_Прошлое изменение (текст);
— VM_Лист заменен (Да/Нет);
— VM_Лист аннулирован (Да/Нет);
— VM_Лист новый (Да/Нет).
По умолчанию скрипт записывает текст с изменениями в параметр «ADSK_Примечание». Он должен быть по экземпляру добавлен к категории «Листы». Если у вас свой шаблон или модифицированный, то нужно переписать в скрипте все места, где упоминается «ADSK_Примечание» на имя вашего параметра. Ваш параметр тоже должен быть по экземпляру в категории «Листы».
Что делает скрипт
Скрипт выделяет листы, у которых есть изменения. Далее проверяет, были ли раньше изменения на листе или нет. Если нет, то проверяет, заменён ли лист, аннулирован или новый, и записывает в параметр ADSK_Примечание текст с номером изменения. Если изменения уже были на листе, то проверяет, текущее изменение новое для листа или нет. Если нет, то оставляет всё, как есть. Если новое, то формирует текст с номером изменения и учётом прежних примечаний.
Как работать с параметрами
Пользователю нужно вручную проставлять галочки на параметрах, которые сигнализируют скрипту о том, что лист заменён, аннулирован или новый. Например, вы решили заменить лист. В этом случае важно поставить в свойствах листа галочку у параметра VM_Лист заменен. Тогда в примечаниях появится запись с номером изменения и пометкой «(зам.)». То же и для остальных двух галочек.
Важно не забывать снимать галочки при последующих изменениях. Например, если в изменении 4 вы поставили галочку в параметре «VM_Лист новый», то при следующих изменениях на листе нужно эту галочку снять. Иначе в примечании у вас будет текст «изм. 4 (нов.), 5 (нов.)».
При последующих изменениях на листе всегда проверяйте галочки и снимайте ненужные!
Когда запускать
Скрипт нужно выполнять после каждого внесения изменений в проект. Например, у вас первое изменение в проекте. Прошлись по всем листам, поставили пометочные облака, оформили изменение. После этого нужно запустить скрипт.
Если вы внесёте первое изменение, потом сразу второе и только после этого запустите скрипт, то он в примечание запишет только второе изменение.
Как скрипт видит изменения
Чтобы скрипт понял, что на листе есть изменения, на листе должны быть пометочные облачка. В этом случае в параметре «Текущее изменение» появится информация о номере изменения, так скрипт поймёт, что на листе есть изменения. Если вы заменили лист или создали новый, то просто поставьте маленькое пометочное облако в углу листа, чтобы оно не мешало, но было на листе.
Не рекомендую ставить пометочное облако за рамками листа, тогда он будет съезжать при печати. Лучше ставьте внутри рамки. Так же вы можете отключить отображение пометочных облаков в окне «Видимость/графика» в категориях аннотаций.
Нельзя вносить изменения не по порядку. Например, внести сначала 2 изменение, а потом 1. Скрипт обрабатывает изменения только по порядку.
Ну вроде всё.
Ссылка для скачивания с Яндекс.Диска
Обновления статей удобно получать в Телеграм-канале «Блог Муратова про Revit MEP». Подписывайтесь и приглашайте коллег. Можно обсудить статью и задать вопросы в специальном чате канала.
Отблагодарить автора
Я много времени уделяю блогу. Если хотите отблагодарить меня, то можете сделать небольшой подарок (именно подарок, такой перевод не облагается налогом).