JerryGPS 发表于 2005-3-23 15:26:00

怎样将图块拷贝到另外一个图形文件中?

目的:从当前的图形文件拷贝已有图块到到另外一个图形文件中,并且在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所指的图,没有图块,也没有图块引用,怎么回事?
问题出在哪?
页: [1]
查看完整版本: 怎样将图块拷贝到另外一个图形文件中?