PostToModelSpace函数是DwgDatabaseUtil类的一个静态成员函数,用于将一个实体添加到当前图形数据库的模型空间。
AcDbObjectId CDwgDataBaseUtil::PostToModelSpace(AcDbEntity* pEnt, AcDbDatabase* pDb)
{
assert(pEnt);
//---获得当前图形数据库的块表---
AcDbBlockTable* pBlkTbl = NULL;
pDb->getBlockTable(pBlkTbl,AcDb::kForRead);
//---获得模型空间对应的块表记录---
AcDbBlockTableRecord* pBlkTblRcd = NULL;
pBlkTbl->getAt(ACDB_MODEL_SPACE,pBlkTblRcd,AcDb::kForWrite);
pBlkTbl->close();
//---将实体添加到模型空间的块表记录---
AcDbObjectId entId;
Acad::ErrorStatus es = pBlkTblRcd->appendAcDbEntity(entId, pEnt);
if (es != Acad::eOk)
{
pBlkTblRcd->close();
delete pEnt;
pEnt = NULL;
return AcDbObjectId::kNull;
}
pBlkTblRcd->close();
pEnt->close();
return entId;
}