分享

ObjectARX学习笔记(一)----中如何根据组名将组里的所有实体删除,以及清除组

 wtkc 2016-06-21
AcDbDictionary *pGroupDict = NULL;
Acad::ErrorStatus es;
acdbHostApplicationServices()->workingDatabase()->getGroupDictionary(pGroupDict,AcDb::kForWrite);
AcDbObjectId groupId;
es =pGroupDict->getAt("Test",groupId);
if (Acad::eOk == es)
{
pGroupDict->close();
}
AcDbGroup *pGroup = NULL;
es = acdbOpenObject(pGroup, groupId, AcDb::kForWrite);
if ( Acad::eOk == es)
{
AcDbObjectIdArray arrIds;
pGroup->allEntityIds(arrIds);  //得到组中所有实体的ID 
if (!arrIds.isEmpty())
{
AcDbEntity *pEnty = NULL;
Acad::ErrorStatus es;
int j;
for (j = 0; j < arrIds.length(); j++)
{
es = acdbOpenObject(pEnty, arrIds.at(j), AcDb::kForWrite); 
if (Acad::eOk == es)
{
pEnty->erase();  //删除组中包含的实体
pEnty->close();
}
}
}
pGroup->erase();//删除组
pGroup->close();
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多