Тема: Стирание объекта?

Как при удалении пользовательского объекта удостовериться что он удалился и из пользовательского словоря? Какие методы нужно переопределить? Спасибо.

Re: Стирание объекта?

При удалении объекта, он не удаляется из пользовательского словаря. Он помечается как erased. Т.е. при первом сохранении/закрытии файла, он будет убит(просто не сохранен).
Acad::ErrorStatus erase(Adesk::Boolean erasing = true);
erasing Input Boolean indicating if object is to be erased or unerased
Sets the erase bit of the object. If erasing == Adesk::kTrue, then the erase bit is set on. If erasing == Adesk::kFalse, then the erase bit is set off.
Note This does not remove the object from the database, nor from memory. However, if the erase bit is set when the database is saved or output to DXF, the object is not filed out and thus is not present the next time the file is opened.
Для того чтобы узнать удален объект или нет есть метод:
Adesk::Boolean isErased() const;
Returns Adesk::kTrue if the object is currently erased. Otherwise returns Adesk::kFalse

Re: Стирание объекта?

Тогда, такой вопрос, как построить dwgOut таким образом, чтобы при закрывании чертежа объект удалялся?

Re: Стирание объекта?

Тогда, такой вопрос, как построить dwgOut таким образом, чтобы при закрывании чертежа объект удалялся,  и при этом блокировалась функция subErase этого объекта?

Re: Стирание объекта?

Нет, не хороший вопрос? Опишу лучше проблему:
есть пользовательский объект A1 у него есть свой id = idA1; есть пользовательский объект B1
который хранит внутри себя idA1. При стирании B1, активизируется его subErase и совершаются некие действия над A1. Но, в свою очередь, запуская dwgOut объекта A1 я хочу стирать все B1 без активизации их subErase. Возможна ли такая конструкция?