Отслеживайте изменения элементов или событие редактирования элементов в Revit 2018/2019 - PullRequest
0 голосов
/ 05 ноября 2018

Я работаю над проектом, который выполняет арматуру для размещения элементов в Revit 2018 и Revit 2019. После того, как мой код регенерирует усиление арматуры для элемента узла, я не могу знать, редактировал ли пользователь вручную мой хост или мои арматуры (сгенерировано по моему коду, конечно). Я просто пришел с этими двумя идеями:

  1. Сохраняйте всю арматуру и информацию о хосте в расширяемом хранилище хоста (буквально каждое свойство, идентификаторы, ...) во время генерации арматуры моим кодом. Когда я снова вызываю свой код для работы на хосте, я собираюсь сравнить всю текущую информацию с сохраненной информацией в сущности хоста, чтобы выяснить, что было изменено. Понятно, что такой подход будет стоить мне дорого и будет иметь огромные потери в производительности.

  2. Поймать все изменения, которые пользователь может внести в мои арматуру и хосты, с помощью "Element - edited - event". Тем не менее, я не могу найти подходящее событие, которое соответствует моим потребностям. Я пробовал события Element и Document и класс ITransactionFinalizer безрезультатно.

Где я могу найти событие, которое я хочу, или как достичь того, чего я хотел? Другой и лучший подход приветствуется. Спасибо всем заранее.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Решение, которое я (как и г-н Джереми Таммик) упомянул Модификация отслеживающего элемента

- это то, что мне нужно, но оно слишком общее.

Для более подробного решения этой конкретной проблемы я отфильтровал хост хоста арматуры (балка, столб, стена ...), получил все размещенные арматуры, а затем сделал снимок их параметров.

Некоторые небольшие заметки для новичков, как я, хотя:

  1. Некоторые параметры будут меняться в зависимости от других. Если вы хотите изменить пользователя, отфильтруйте измененный параметр ReadOnly, чтобы немного сузить список.

  2. Если вы удалите всю арматуру с хоста или добавите арматуру на пустой хост, некоторые параметры будут удалены или добавлены соответственно.

0 голосов
/ 06 ноября 2018

Поздравляем с обнаружением ссылки на Модификацию отслеживающего элемента . Я бы тоже на это указал. Возможно, вы также захотите проверить репозиторий GitHub для этого проекта, а также дополнительную идею проекта:

Будем рады услышать о вашем окончательном решении. Если он достаточно общий, чтобы представлять интерес и для других, я хотел бы поделиться им в блоге для вас. Спасибо!

...