首页 > 其他 > 详细

ARX中如何根据组名将组里的所有实体删除

时间:2020-03-01 23:19:38      阅读:81      评论:0      收藏:0      [点我收藏+]

CMapSegType2IdAry::const_iterator iter; // 现在组 未保存
iter = m_mapSeg2Groups.begin();
for (iter; iter != m_mapSeg2Groups.end(); ++iter)
{
const AcDbObjectIdArray & arrId=  iter->second;
if (!arrId.isEmpty())
{
int i;
for(i = 0; i < arrId.length(); i++)
{
AcDbGroup *pGroup = NULL;
Acad::ErrorStatus es;
es = acdbOpenObject(pGroup, arrId.at(i), 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();
}
}
}
}
 

ARX中如何根据组名将组里的所有实体删除

原文:https://www.cnblogs.com/mjgw/p/12392711.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!