CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

擦除对象

2023-1-1 05:03| 发布者: admin| 查看: 316| 评论: 0|来自: AutoCAD

可以使用以下功能擦除数据库中的任何对象:

Acad::ErrorStatus 
AcDbObject::erase(
    Adesk::Boolean Erasing = true);
注意:该函数对数据库对象和实体具有不同的结果,其后果是取消擦除它们:erase()
  • 擦除数据库对象时,将从字典中删除有关该对象的信息。如果未擦除对象,则不会自动重新引入信息。您必须使用 thefunction 再次将信息添加到字典中。erase(kfalse)setAt()
  • 当实体被擦除时,它只是在块表记录中标记为已擦除。可以取消擦除实体。erase(kfalse)

默认情况下,您无法使用函数打开已删除的对象。如果您尝试这样做,将返回错误代码。acdbOpenObject()eWasErased

extern Acad::ErrorStatus
acdbOpenObject(
    AcDbObject*& obj,
    AcDbObjectId objId,
    AcDb::OpenMode openMode,
    Adesk::Boolean openErasedObject = Adesk::kFalse);

要打开擦除的对象,请使用函数的最后一个参数。kTrueacdbOpenObject()

容器对象(如折线和块表记录)通常提供在迭代其内容时跳过已擦除元素的选项。默认行为是跳过已擦除的元素。

拭除的对象不会归档为 DWG 或 DXF 文件。


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 13:55

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部