ADN Open CIS
Сообщество программистов Autodesk в СНГ

31/05/2014

Идентификаторы элементов в Revit - Часть 4. Числовой и уникальный идентификатор меняется при повторном импорте

Предыдущие части:

Вопрос: Мы столкнулись с проблемой при повторном импорте измененного IFC файла в Revit, так как числовой и уникальный идентификатор оказались не надежными.

В результате, все ссылки на связанную модель (вне IFC), такие как размерность, потерялись, после того, как мы заново импортировали отредактированную модель. Нам пришлось повторно подгонять импортированную модель.

Можно ли как-то избежать этой проблемы? Или еще лучше, может быть есть алгоритм, как можно сконвертировать IFC GUID в Revit UniqueId или Revit ElementId?

Я прочитал статью Алгоритм формирования IFC GUID (на англ.) и изучил метод ExportUtils.GetExportId. Но, судя по всему они применяются только при экспорте. При импорте используется тот же самый алгоритм?

При тестировании по обнаружили, что каждый раз, когда отредактированная модель импортируется, плагин, и даже стандартный модуль импорта IFC файлов, генерирует новые идентификаторы, даже не смотря на то, что объекты остаются неизменными. И даже импортируя ту же самую, т.е. не измененную модель, нет гарантий, что идентификаторы останутся неизменными.

Ответ: Алгоритм естественно используется тот же самый.

Перед повторным импортом IFC файла, можно создать соответствия ElementId<->IFC GUID. Затем, имея такую таблицу, можно легко найти Revit.ElementId по IFC GUID.

Если у вас есть только внешние идентификаторы (IFC GUID), то в таком случае вам необходимо заранее создать таблицу соответствия между уникальным идентификатором Revit и Revit ExportId. Затем использовать их при повторном импорте.

И, на сколько мне известно, с помощью ExportId нельзя получить элемент Revit.

Источник: http://thebuildingcoder.typepad.com/blog/2014/04/element-id-export-unique-navisworks-and-other-ids.html#6

 

Обсуждение: http://adn-cis.org/forum/index.php?topic=783

Опубликовано 31.05.2014