求教一段插入块的代码
各位大虾,下面是我写的一段代码,想实现的功能是在把路径为"D:\\test.dwg"的文件作为块插入到当前的图形中去。但是不能成功运行。请指教
#include "StdAfx.h"
#include "StdArx.h"
#include "aced.h"
#include "migrtion.h"
#include "gemat3d.h "
#include "dbents.h "
//-----------------------------------------------------------------------------
// This is command 'CHARUDWG, by, ,
void test1basiccharudwg()
{
#ifdef OARXWIZDEBUG
acutPrintf ("\nOARXWIZDEBUG - test1basiccharudwg() called.");
#endif // OARXWIZDEBUG
// AcGeMatrix3d pt=(0,0,0);
AcDbDatabaseextDb(Adesk::kFalse);//定义一个空数据库
extDb.readDwgFile("D:\\test.dwg");
AcDbDatabase *ptempdb;
extDb.wblock(ptempdb);
AcDbObjectIdblockid;
acdbCurDwg()->insert(blockid,"kkk",ptempdb);
delete ptempdb;
AcDbBlockTable *pBlkTbl;
acdbHostApplicationServices()->workingDatabase()
->getBlockTable(pBlkTbl, AcDb::kForWrite);
AcGePoint3d ptInsert(100,100,0);
AcDbBlockReference *pBlkRef = new AcDbBlockReference(ptInsert,blockid);
AcDbBlockTableRecord *pBlkTblRcd;
pBlkTbl->getAt(ACDB_MODEL_SPACE, pBlkTblRcd, AcDb::kForWrite);
pBlkTblRcd->appendAcDbEntity(pBlkRef);
pBlkTbl->close();
pBlkRef->close();
pBlkTblRcd->close();
}
出现什么样的错误啊
AcDbDatabase *ptempdb;
改为:
AcDbDatabase *ptempdb=new AcDbDatabase;
即可
页:
[1]