Всем привет!

Сегодня разберем проблему, с которой могут столкнутся пользователи Revit при использовании общих параметров.

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

Разберем, как можно повредить параметр и каким последствиям это может привести.

Немного теории

Общий параметр Revit определен перечнем свойств в файле общих параметров. Одним из свойств является GUID - уникальный идентификатор параметра. Именно он определяет уникальность параметра вне зависимости от его имени или прочих свойств.

GUID состоит из цифр и символов латинского алфавита и должен иметь определенную структуру:

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Именно из такого количества символов и девисов именно в этих местах. При нарушении этого правила распознать эту строку как GUID не удастся.

Моделирование поврежденного параметра

Смоделируем поврежденный параметр. Для этого создадим новый общий параметр с именем "Поврежденный" в существующем файле общих параметров.
Затем откроем файл общих параметров, найдем наш параметр и удалим из его GUID один из знаков.

После этого установим данный параметр в проект.

Далее необходимо создать новый файл общих параметров, в который мы будем экспортировать только что установленный параметр. Назовем новый ФОП "BAD.txt".

Произведем экспорт ранее установленного параметра в новый ФОП.
После этого открываем новый ФОП в текстовом редакторе.
В экспортированном параметре мы видим GUID равный 00000000-0000-0000-0000-000000000000.

В чем заключаются проблемы?

Итак, самая главная проблема: Revit не распознает поврежденные параметры. Программа сознательно игнорирует ошибку в структуре GUID, подменяя его "нулевым".

При изначальном использовании "битого" параметра в небольших проектах ничего критического, скорее всего, не произойдет - Вы просто не заметите, что установили поврежденный параметр.

На больших комплексных проектах возможна ситуация, при которой параметр может быть поврежден "посреди" проекта. В этом случае при попытке собрать информацию их нескольких проектов одновременно не получится: GUID'ы параметров не совпадут и, как следствие, информация будет собираться не со всех элементов. Плюс ко всему, если на параметре основаны расчеты в модели при использовании стороннего программного обеспечения с проверкой правильности GUID, программное обеспечение выдаст ошибку.

Решение

Решение данной проблемы на сегодняшний день может быть только административным.

01

Запретить редактирование ФОП

Необходимо запретить вносить изменения в файл общий параметров на уровне регламентов.
02

Проверка ФОП при установке параметров

При установке общих параметров необходимо проверять целостность файла общих параметров. Процедура не сложная и решается на уровне скрипта на Dynamo.
03

Резервная копия проверенного ФОП

Если файл общих параметров все же отредактируют с нарушением целостности, то иметь в запасе его актуальную копию для восстановления.

Программное решение

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