如何在arx中打开一个dwg文件,使此文件成为autocad当前文档
hi,如何在arx中打开一个dwg文件,并在autocad中显示出来,我试过readdwg,但是这个函数只是读取dwg文件的database,而没有显示出来。有谁知道这个该怎么处理的,麻烦告知小弟。 以文档模式打开。dwg文件 AcDbDatabase *pDb = new AcDbDatabase(Adesk::kFalse);pDb->readDwgFile("test1.dwg"); to: hantaojian
您好,谢谢你的回复,您的方法我试过,它只是把dwg文件的database数据读入到我们定义的变量中,我想要的是还要把此dwg文件成为autocad当前的文档。类似与autocad命令中的open。
to: apple06
您好,能说的具体的吗?我是个新手。谢谢! ......
AcDbDatabase* pCurDb;
Acad::ErrorStatus es;
AcDbDatabase* pDb = new AcDbDatabase(Adesk::kFalse);
es=pDb->readDwgFile(fullfileName);
if(es!=Acad::eOk)
{
acutPrintf("\n The %c file was not found. ",fullfileName);
delete pDb;
return es;
}
if(pCurDb->insert(AcGeMatrix3d::kIdentity,pDb) != Acad::eOk)
{
delete pCurDb;
}
delete pDb;
return es;
......
// 这是一个例子(insert还有其它方法) 谢谢muzi的回复。 这样插入后,怎么关它呀? 又如果保存所作的改动?就是直接SAVE命令,好像DB类没有函数完成这个操作哦。 AcDbDatabase *db=new AcDbDatabase(Adesk::kFalse);
Acad::ErrorStatus es;
es=db->readDwgFile(file);
AcDbDatabase* pCurDb=new AcDbDatabase;
if(pCurDb->insert(AcGeMatrix3d::kIdentity,db) != Acad::eOk)
{
delete pCurDb;
}
int status=ads_getstring(1,"/n请输入路径:", path);//这试了一下,执行到这里没有看到那张图呀! 我试了下面的方法,可以把要打开的dwg文档打开,但是autocad把它作为一个新的图档打开了(文件名变成Drawing1.dwg),而不是原来的图档。如:我如果原来的图名为a1.dwg,这样打开后,就与原来的a1.dwg没有关系了,这样的话图上有什么更改的,也反映不到原来那张图上了。我的想法是能不能象autocad的open命令一样打开一张以及存在的图,而不是生成一个新的图档。
AcDbDatabase* pCurDb;
Acad::ErrorStatus es;
AcDbDatabase* pDb = new AcDbDatabase(Adesk::kFalse);
es=pDb->readDwgFile(fullfileName);
if(es!=Acad::eOk)
{
acutPrintf("\n The %c file was not found. ",fullfileName);
delete pDb;
return es;
}
if(pCurDb->insert(AcGeMatrix3d::kIdentity,pDb) != Acad::eOk)
{
delete pCurDb;
}
delete pDb;
return es;
页:
[1]
2