В одной из прошлых статей я рассказывал про виды параметров в Ревите. Теперь давайте подробнее остановлюсь на общих параметрах, на том, как их можно отредактировать несколькими способами.
Общие параметры — это параметры, которые хранятся в TXT-файле и их можно подгружать в разные проекты и шаблоны, на их основе создаются марки и спецификации. Это незаменимый инструмент, без него ваша работа в Ревите будет куда менее удобной.
Далее файл общих параметров я буду называть сокращённо ФОП.
Создание ФОП
Если вы создаёте шаблон проекта для своей организации или разрабатываете библиотеку семейств, для которой нужны отдельные общие параметры, то вам нужно создать отдельный ФОП.
Делается это прямо в Ревите в среде проекта или редактора семейств. Давайте посмотрим на процесс в редакторе семейств, в проекте будет то же самое.
Идём на вкладку «Управление» → «Общие параметры». Если вы до этого подгружали какой-нибудь ФОП, то он сразу отобразится в окне, если нет, то будут пустые поля и две активные клавиши «Обзор...» и «Создать...».
Так как цель — создать свой ФОП, то нажимаю на «Создать...». Ревит сразу предложит сохранить файл TXT на компьютер. В дальнейшем все изменения будут сразу записываться в этот файл. Поэтому, если вы БИМ-менеджер, убедитесь, что в вашей организации ФОП лежит в папке, которую проектировщики видят, но не могут редактировать.
Теперь передо мной чистое окно, в котором пока нет никаких параметров и более того, все кнопки в блоке «Параметры» неактивны. Они серые, потому что сначала нужно создать группу для параметров, а уже в эту группу добавлять параметры. Таким образом можно задавать структуру ФОП.
В группах нажимаю на «Создать...», вылезает текстовое поле, куда нужно вбить название для группы. Сразу продумайте шаблон для названий, потому что по умолчанию список групп будет отсортирован по алфавиту. В ФОП Автодеск этот вопрос решили через числовые префиксы 01, 02 и т. д. Хороший подход.
Создам четыре группы:
- 01_Общие,
- 02_Трубопроводы,
- 03_Воздуховоды,
- 04_Отверстия.
Можно было бы поделить группы по разделам: отдельно ВК, отопление и вентиляция. Но тут могут быть сложности, потому что у ВК и отопления могут быть совпадающие параметры типа «Имя стояка» или «Диаметр условный». И тогда будет непонятно, в какую группу лучше отправить параметр, кого-то придётся обидеть. Либо дублировать параметры «ВК_Имя стока», «ОВ_Имя стояка», но это уже избыточное наполнение параметрами. Сами подумайте, какая структура больше подходит под ваши задачи.
Когда в общих параметрах есть группы, то активируются кнопки по их изменения и кнопка «Создать...» в блоке «Параметры». Группу можно переименовать или удалить. Удалить группу, когда в ней есть какие-то параметры нельзя, поэтому кнопка активна из-за того, что никаких параметров пока нет. Переименовать группу можно в любое время, это безболезненная процедура.
Прежде, чем начнём создавать параметры, давайте посмотрим на наш ФОП, что в нём изменилось после создания групп. Вот так он сейчас выглядит:
Жёлтым я выделил блок с группами. У каждой группы есть ID и имя. В начале файла написано, что это файл общих параметров Ревита и совет не редактировать его вручную. Дальше идёт какая-то Мета и версии, во всех ФОП, которые у меня есть, там всегда значения 2 и 1, для чего они, я не знаю, на работу они не влияют.
Теперь давайте добавлять параметры. Я добавлю по паре-тройке параметров в каждую группу. Для этого выбираем из выпадающего списка групп нужную и в ней нажимаем в блоке «Параметры» на «Создать...». Если создали параметр не в той группе, то его можно перенести, ничего страшного.
При создании нового параметра очень важно задать правильные категорию и тип данных. Отредактировать эти данные после создания невозможно. Впрочем, имя параметра также нельзя отредактировать. Поэтому сразу надо делать продуманно либо потом удалять и по-новой.
Категория и тип данных выбирается точно так же, как при создании параметров в семействах или проектах.
Создание параметров само по себе несложный процесс: указали имя, категорию и тип данных, вписали подсказку, если нужна, и всё. Создаю.
Я насоздавал по несколько параметров в каждой группе, теперь посмотрим, что изменилось в ФОП.
Выглядит всё как-то устрашающе, но на самом деле стоит вглядеться и убедиться, что ничего сложного. И чтобы это было проще сделать, я скопирую эти данные и вставлю в Эксель. Теперь всё куда удобнее для понимания:
- PARAM — показывает, что это параметр, а не группа.
- GUID — уникальный идентификатор параметра, про него ещё поговорим.
- NAME — имя параметра.
- DATATYPE — тип данных.
- DATACATEGORY — этот столбец заполняется только тогда, когда вы создаёте параметр с типом данных «Типоразмер из семейства...». Там нужно выбирать категорию типоразмера, вот она и будет сюда выноситься. Довольно редкий типа параметра для ФОП.
- GROUP — номер группы, в котором сидит параметр. Номера групп — это их ID.
- VISIBLE — это шаманская хитрость. С помощью этого поля можно скрывать параметр из проекта.
Как оно работает. Создаёте до загрузки в семейство общий параметр (это работает только с ними), открываете ФОП в блокноте, ставите вместо единицы ноль, сохраняете ФОП. Добавляете этот параметр в семейство, вводите какое-то значение, сохраняете. Если сначала добавили, а потом поменяли 1 на 0, то не сработает.
Загружаете семейство в проект, размещаете в пространстве модели, выделяете и нажимаете в свойствах «Изменить тип». И — о чудо! — этого параметра не будет видно, его нельзя изменить через свойства, потому что его тупо не видно. При этом он есть в редакторе семейств и может управлять геометрией и информацией в семействе. Подробнее читайте на английском статью в блоге Дага Бауэрса. На самом деле, менять этот параметр можно, потому что он будет отображаться в спецификации, и оттуда его можно редактировать.
- DESCRIPTION — это подсказка к параметру, я добавил одну к параметру «Название проекта», поэтому в Экселе такая большая строка с текстом.
- USERMODIFIABLE — ещё одна шаманская штуковина. Если Visible прячет параметр, то эта штука делает его нередактируемым. Параметр становится Read Only — только для чтения. Это опять же работает только с общими параметрами. И через спецификацию его изменить тоже будет нельзя.
- HIDEWHENNOVALUE — этот столбец появился в Ревите 2020, поэтому на скриншотах выше его нет, так как статью писал с помощью 2019 версии. Если в столбце стоит значение 1, то параметр скрывается из свойств, если в нём нет значения. Если 0, то отображается.
При этом параметр всё равно будет выводиться в спецификации и оттуда его можно заполнить. По умолчанию при создании параметра Ревит записывает в ФОП значение «0», то есть не скрывать.
Для примера я создал кубик, добавил три параметра: Отв_Ширина (usermodifiable = 0, visible = 1), Отв_Высота (везде 1) и Отв_Глубина ( usermodifiable = 1, visible = 0). Все параметры сделал по экземпляру, чтобы их было видно в окне свойств при выделении семейства. Вот результат:
Как видно, «Отв_Высота» виден и его можно отредактировать. «Отв_Ширина» — его видно, но поле серое, нередактируемое. А «Отв_Глубина» вообще не виден. Вот такие хитрости.
Теперь вы знакомы со структурой ФОП. Отсюда можно сделать несколько выводов:
- редактировать ФОП можно в проекте или редакторе семейств;
- редактировать ФОП можно напрямую в блокноте (или с помощью Экселя);
- некоторые функции можно изменить только напрямую в TXT-файле;
- у каждого параметра есть свой уникальный айдишник.
Конечно, редактируя в блокноте, можно накосячить, именно поэтому в начале файла и написано предупреждение, но сломать что-то в Ревите — это тоже информация о том, как делать не надо. Так что ломайте в образовательных целях, так потом начальнику отдела или ГИПу и скажете.
Значение GUID для общих параметров
Важно рассказать про айдишники, вот эти GUID-номера у каждого параметра. Именно по ним и только по ним Ревит отличает один общий параметр от другого. Не по названиям, не по группе, а только по айдишникам. Потенциально это может приводить к неприятным ситуациям.
Например, из-за этого вы можете создать несколько параметров с одинаковыми именами, в том числе и совпадающими с системными параметрами. И Ревит не будет ругаться. Это очень неудобно для спецификаций, когда несколько параметров с одинаковыми именами и нужно каждый раз отделять подходящий от неподходящего.
Или вы загрузите из другого проекта/шаблона спецификацию или семейство, и они подтянут свои общие параметры, которые будут называться так же, как ваши. В итоге снова дублирование.
Система с префиксами не даром появилась, она помогает понять, чьи это общие параметры и гарантирует, что имена не будут повторяться.
Удаление общих параметров
В том же интерфейсе Ревита можно удалять параметры. При этом вылезет окошко:
Раз нет параметра, то в будущем его добавить вы не сможете, однако в уже созданных семействах и спецификациях параметр останется. Это происходит из-за того, что при добавлении общего параметра в семейство или проект/шаблон функция этого параметра меняется с внешней на внутреннюю. Это программная лабуда, тут главное понимать смысл.
Пока параметр лежит в ФОП, то у него «включена» внешняя функция. Как только вы его куда-то добавили, то функция меняется с внешней на внутреннюю. Грубо говоря, параметр вставляется в семейство и становится независимой частью семейства. При добавлении в проект общий параметр получается ещё и свой ID, как и все остальные элементы модели, те же краны или трубы.
Внизу окошка есть важное предупреждение. Если вы удалили параметр, а потом решили создать такой же, вбили то же самое имя, что было у удалённого, то такой фокус приведёт к фиаско, поскольку важны не имена, а GUID параметров. Фишка GUID как раз в том, что вероятность их совпадения стремится к нулю.
Поэтому обдуманно добавляйте и удаляйте общие параметры.
Ручное редактирование ФОП
Я уже показывал, как скрывать или запрещать редактирование параметров через ФОП, но ситуация с GUID и игнорирование имён параметров даёт интересные возможности.
Например, можно взять ФОП и переименовать в нём параметр либо заменить GUID у вашего параметра, чтобы адаптировать под чужие шаблоны. Или если вы получили проект или семейство с набором чужих общих параметров, то с помощью того же Dynamo можно вытащить GUID-коды и восстановить чужой ФОП. Тип данных можно посмотреть в семействе или проекте, а вот GUID поменять руками в блокноте.
На деле всё не так просто. Помните, выше рассказывал про внутренние и внешние функции у общих параметров? Вот в них и сложность, они не позволят просто так взять и в лоб изменить общие параметры. В ФОП вы параметр обновите, а вот в проект его загрузить не получится. GUID совпадают, поэтому Ревит скажет, что такой параметр уже есть.
Если вам нужно изменить имя параметра, то придётся провернуть вот такую последовательность:
- Поменять в ФОП имя параметра;
- Выгрузить из проекта все семейства и марки, сохранить спецификации;
- Найти по ID общий параметр со старым именем. Как найти ID, можете прочитать на форуме Автодеска, там будет скрипт Динамо, который выдаст ID указанного общего параметра. Поиск делается обычной командой «Выбрать по коду» с вкладки «Управление» (зелёная кнопочка со штрихкодом), ввели номер, нажали ОК, потом Delete;
- После этого спецификации, семейства и марки поломаются, ведь параметра больше нет в проекте;
- Добавить в проект общий параметр с новым именем. GUID у него тот же, имя новое, и он снова преобразует функцию с внешней на внутреннюю, «пропишется» в вашем проекте;
- Загрузить семейства, марки и вставить спецификации из старого файла. При этом старые общий параметр в них будет меняться на новый сам;
- Всё, операция закончена. Но сами понимаете, удаление всех семейств и марок вряд ли положительно скажется на вашем проекте, так что это вариант больше для обновления шаблона или для самых ранних стадий моделирования.
Подробнее про все эти манипуляции, вспомогательные макросы и прочие ужасные штуки с программным кодом можете прочитать в статье Зуева.
Экспорт общих параметров
Выше я писал, что можно через GUID воссоздать ФОП из чужого проекта. Это путь в духе «в Париж через Мамадыш» (это город в Татарстане, там делали хорошее сливочное масло, по крайней мере, пока я жил в Татарстане). В Ревите есть свой инструмент, чтобы собрать общие параметры из проекта или семейства, которые отличаются от ваших.
Вот вы работаете в проекте, у вас подгружен свой ФОП. Загрузили откуда-то семейство с левыми общими параметрами, и они подтянулись в ваш проект. В итоге в параметрах проекта появятся и чужие общие параметры.
Либо другой вариант: вы работаете в проекте на одном ФОП, а потом подгрузили другой, и параметры там отличаются. Или то же самое, но в редакторе семейств: открыли семейство, сделанное на другом ФОП, или поменяли в Ревите текущий ФОП на другой.
В этих случаях вы можете экспортировать параметры в текущий подгруженный ФОП.
В семействах для этого нужно выделить параметр, нажать на «Изменить параметр» (карандаш внизу слева), станет активной кнопка «Экспорт...»:
1 — выделяю общий параметр;
2 — нажимаю на «Изменить параметр»
3 — кнопка «Экспорт...»
4 — если нажать ОК, то в вашем ФОП создастся отдельная группа «Экспортированные параметры», куда запишется параметр. Потом можно открыть в Ревите ФОП и перенести параметр в подходящую группу.
Аналогично можно экспортировать параметр из спецификации и проекта. Из проекта общие параметры экспортируется из «Параметров проекта», там нужно найти параметр, нажать на «Изменить» и появится знакомый интерфейс с кнопкой «Экспорт...».
Если параметр уже есть в ФОП (читай: GUID уже есть в ФОП), то экспортировать его нельзя. В справке Автодеска есть коротенькая, но вполне понятная инструкция, как экспортировать параметры.
На этом всё. Пишите вопросы в комментарии или мне в Телеграм. Найти меня можно через мой канал, на который я советую подписаться, чтобы получать уведомления о новых статьях и дополнительные материалы по рабочим ситуациям, ссылочки на интересные видео и музыку. Всё для комфортной работы в Ревите.
Видеокурс по семействам трубопроводных фитингов. Подробный 10-часовой курс, в котором научу создавать семейства и поделюсь лайфхаками.
Подписаться на обновления и получать уведомления о новых статьях в Телеграм-канале «Блог Муратова про Revit MEP»
Отблагодарить автора
Я много времени уделяю блогу. Если хотите отблагодарить меня, то можете сделать небольшой подарок (именно подарок, такой перевод не облагается налогом). Лайк тоже не помешает, это должно помочь продвижению блога.