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

ADN Club => AutoCAD .NET API => Тема начата: RevitTormentor от 04-01-2018, 15:07:23

Название: Какое событие на добавление XData
Отправлено: RevitTormentor от 04-01-2018, 15:07:23
Подскажите пожалуйста, мне необходимо отследить, что в любой Entity на чертеже был или было или была добавлена XData. Но 1 раз.

Программно добавил XData в 3 Entity и 1 раз произошло "это" событие (реактор).

Пробовал события базы
Код - C# [Выбрать]
  1. db.ObjectModified += AcDB_ObjectModified;  db.ObjectAppended += AcDB_ObjectAppended;
Но они срабатывают кучу раз.

На каждый Entity добавлять событие наверное не правильно. также будет срабатывать столько раз в скольких Entity я обновил XData.

Есть такое событие, которое отработает один раз за все объекты?
Название: Re: Какое событие на добавление XData
Отправлено: Александр Ривилис от 04-01-2018, 15:09:06
Есть такое событие, которое отработает один раз за все объекты?
Нет.
Название: Re: Какое событие на добавление XData
Отправлено: Дмитрий Загорулькин от 04-01-2018, 16:01:19
Программно добавил XData в 3 Entity и 1 раз произошло "это" событие (реактор).
Так в этом коде программного добавления как раз можно сгенерировать нужное событие.
Название: Re: Какое событие на добавление XData
Отправлено: RevitTormentor от 04-01-2018, 17:15:41
Так в этом коде программного добавления как раз можно сгенерировать нужное событие.

Сейчас Дмитрий так и есть. Только этих мест в коде много. Думал есть чего-нибудь такое, на уровне если не базы, то может документа или эдитора.
Название: Re: Какое событие на добавление XData
Отправлено: Дмитрий Загорулькин от 04-01-2018, 19:44:55
Только этих мест в коде много.
Просто у меня один библиотечный метод по добавлению XData к объекту. И если бы у меня была такая задача, я бы внёс в него генерацию нужного события. И было бы неважно, в скольки местах происходит задание XData - всё равно вызывался бы только этот метод, а, значит, и событие бы генерировалось всегда.