Я работаю над проектом, в котором арматура для размещения элементов в Revit 2018 и Revit 2019. После того, как мой код регенерирует арматуру арматуры для основного элемента, я не могу знать, редактировал ли пользователь вручную мой хост или мои арматурные стержни (сгенерированные моим кодом , конечно). Я просто придумал эти 2 идеи:
Храните всю информацию о арматуре и хосте в расширяемом хранилище хоста (буквально каждое свойство, идентификаторы и т. Д.) В то время, когда арматура генерируется моим кодом. Когда я снова вызываю свой код для работы на хосте, я собираюсь сравнить всю текущую информацию с сохраненной информацией в сущности хоста, чтобы выяснить, что было изменено. Ясно, что этот подход будет стоить мне очень дорого и будет иметь огромные потери в производительности.
Отслеживайте все изменения, которые пользователь может сделать с моими арматурными стержнями и хостами, с помощью события «Элемент - отредактирован -». Однако я не могу найти подходящее мероприятие, которое мне подходит. Я пробовал события Element и Document и класс ITransactionFinalizer, но безрезультатно.
Где я могу найти мероприятие, которое хочу, или как добиться того, чего я хотел? Приветствуется другой, лучший подход. Спасибо всем заранее.