ObjectARX, AutoCAD. Среда программирования библиотеки C++


         

Стирание объекта


Любой объект в базе данных может быть стерт следующей функцией:

Acad::ErrorStatus

AcDbObject::erase(Adesk::Boolean Erasing = Adesk::kTrue);

ОБРАТИТЕ ВНИМАНИЕ  Erase() имеет различные результаты для объектов базы данных и примитивов, с последствиями для нестирания их:

§         когда объект базы данных стерт, информация относительно того объекта удалена из словаря. Если объект нестерт со стиранием (kfalse), информация автоматически не повторно представлена. Вы Должен использовать setAt () функция, чтобы прибавить информацию к словарю снова.

§         когда объект стерт, это просто помечено как стерто в блочном отчете{*записи*} таблицы. Объект может быть нестерт со стиранием (kfalse).

По умолчанию, Вы не можете открывать стертый объект с acdbOpenObject () функция. Если Вы пытаетесь делать так, eWasErased код ошибки будет возвращен.

extern Acad::ErrorStatus

acdbOpenObject(AcDbObject*& obj,

AcDbObjectId objId,

AcDb::OpenMode openMode,

Adesk::Boolean openErasedObject =

Adesk::kFalse);

Чтобы открывать стертый объект, используйте kTrue для последнего{*прошлого*} параметра acdbOpenObject () функция.

Контейнерные объекты типа ломаных линий и блочных отчетов{*записей*} таблицы обычно обеспечивают опцию пропуска стертых элементов при выполнении итераций по их содержанию.

Заданное по умолчанию поведение должно пропустить стертые элементы.

Стертые объекты не зарегистрированы из к DWG или DXF файлам.




Содержание  Назад  Вперед