|
目的:从当前的图形文件拷贝已有图块到到另外一个图形文件中,并且在Model_space中创建一个图块引用:
参数:szCurFileName:另外一个图形文件名,szBlockName:图块名,pSourceDatabase:当前图形文件的指针。
程序:
AcDbDatabase *pDb=new AcDbDatabase(Adesk::kFalse);
if(pDb->readDwgFile(szCurFileName,_SH_DENYRW)==Acad::eOk)
{
AcDbObjectId newId;
es=pDb->insert(newId,szBlockName,"Add"+szBlockName,pSourceDatabase);
}
AcDbBlockTable *pTable;
pDb->getBlockTable(pTable,AcDb::kForRead) ;
AcDbObjectId oldId;
if(pTable->getAt("Add"+szBlockName,oldId)==Acad::eOk)
{
AcDbBlockReference *pRef =new AcDbBlockReference;
pRef->setBlockTableRecord(oldId);
pRef->setPosition(AcGePoint3d(0,0,0));
AcDbBlockTableRecord *pModel;
pTable->getAt(ACDB_MODEL_SPACE,pModel,AcDb::kForWrite);
AcDbObjectId refId;
es=pModel->appendAcDbEntity(refId,pRef);
pRef->close();
pModel->close();
}
pTable->close();
delete pDb;
结果:打开szCurFileName所指的图,没有图块,也没有图块引用,怎么回事?
问题出在哪? |
|