📄 erasegroup.cpp
字号:
// 选择一个组实体,获得组名,删除组
static void EraseGroup(void)
{
ads_name ent;
AcDbObjectId objId;
int rc;
ads_point pt;
rc = acedEntSel("\nPlease select an Group Entity: ", ent, pt);
if (rc != RTNORM) {
return;
}
acdbGetObjectId(objId, ent);
AcDbObjectPointer<AcDbEntity>pEnt(objId, AcDb::kForRead);
CString sGrpName;
AcDbVoidPtrArray *pReactors;
void *pSomething;
AcDbObjectId persObjId;
pReactors = pEnt->reactors();
if (pReactors != NULL)
{
for (int i = 0; i < pReactors->length(); i++)
{
pSomething = pReactors->at(i);
// Is it a persistent reactor?
//
if (acdbIsPersistentReactor(pSomething)) {
persObjId = acdbPersistentReactorObjectId( pSomething );
acutPrintf("\n\nPersistent reactor found.");
if(pEnt.openStatus() == Acad::eOk)
pEnt->close();
AcDbObjectPointer<AcDbGroup>pGroup(persObjId, AcDb::kForWrite);
sGrpName = pGroup->name();
acedAlert(sGrpName);
pGroup->erase();
}
}// for
}
return;
}
// 通过组名删除组实体
static void EraseGroup(const char * pGroupName)
{
AcDbDictionary *pGroupDict;
AcDbObjectId pGroupId;
acdbHostApplicationServices()->workingDatabase()->getGroupDictionary(pGroupDict, AcDb::kForWrite);
if (pGroupDict->getAt(pGroupName,pGroupId) == Acad::eOk)
{
AcDbObjectPointer <AcDbGroup> pGroup(pGroupId, AcDb::kForWrite);
pGroup->erase();
pGroupDict->remove(pGroupId);
pGroupDict->close();
pGroup->close();
}
pGroupDict->close();
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -