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

ADN Club => Revit API => Тема начата: Федор Жеков от 25-01-2016, 10:39:30

Название: Обработка события DocumentChanged
Отправлено: Федор Жеков от 25-01-2016, 10:39:30
Добрый день!
Обрабатываю событие DocumentChanged, при возникновении события получаю список id измененных элементов и затем обрабатываю их:
Код - C# [Выбрать]
  1.  public Result OnStartup(UIControlledApplication application)
  2.         {
  3.            ...
  4.             application.ControlledApplication.DocumentChanged += ControlledApplication_DocumentChanged;
  5.             return Result.Succeeded;
  6.         }
  7. private void ControlledApplication_DocumentChanged(object sender, Autodesk.Revit.DB.Events.DocumentChangedEventArgs e)
  8.         {
  9.                 var elements = e.GetModifiedElementIds();
  10.                 ...
  11.         }
Все хорошо работает за исключением одного случая: если я выбираю элемент потом меняю в свойствах любой параметр, затем на панели свойств нажимаю кнопку применить:
Извините, вам запрещён просмотр содержимого спойлеров.

метод e.GetModifiedElementIds() возвращает пустой список. В чем может быть проблема?
Название: Re: Обработка события DocumentChanged
Отправлено: Виктор Чекалин от 25-01-2016, 17:58:08
Федор, приветствую на форуме!

Только что проверил. Ид элемента возвращается в этом случае.
Правда есть одно но... При изменении свойства объекта, обработчик события вызывается 2  раза. В первом случае действительно возвращается пустой список. Во втором, возвращается нужный идентификатор.