请问:为什么自定义实体加到块表记录报错
CMyEntity *pEnt=new CMyEntity();//自定义实体pEnt->getFirstPoint(asPnt3d(pstart));
pEnt->getEndPoint(asPnt3d(pend));
AcDbBlockTable* pBT = NULL;
AcDbDatabase* pDB = acdbHostApplicationServices()->workingDatabase();
pDB->getSymbolTable(pBT,AcDb::kForRead);
AcDbBlockTableRecord* pBTR = NULL;
pBT->getAt(ACDB_MODEL_SPACE, pBTR, AcDb::kForWrite);
pBT->close();
AcDbObjectId Id;
pBTR->appendAcDbEntity(Id,pEnt);
pBTR->close();
pEnt->close();
程序执行到 pBTR->appendAcDbEntity(Id,pEnt); 时报错
看看返回的错误码是什么,如果是添加到数据库错误的话, 可能是dwgInfields()或者dwgOutfields()函数的问题。 如果你的arx和dbx是分开的话,这种情况有一个可能是你的dbx没有成功加载。添加模型空间时就会报错。
页:
[1]