乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 121|回复: 9

如何在arx中打开一个dwg文件,使此文件成为autocad当前文档

[复制链接]

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2003-10-22 14:37:00 | 显示全部楼层 |阅读模式
hi,如何在arx中打开一个dwg文件,并在中显示出来,我试过readdwg,但是这个函数只是读取dwg文件的database,而没有显示出来。有谁知道这个该怎么处理的,麻烦告知小弟。
回复

使用道具 举报

9

主题

22

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
58
发表于 2003-10-23 12:02:00 | 显示全部楼层
以文档模式打开。dwg文件
回复

使用道具 举报

1

主题

10

帖子

1

银币

初来乍到

Rank: 1

铜币
14
发表于 2003-10-23 14:58:00 | 显示全部楼层
AcDbDatabase *pDb = new AcDbDatabase(Adesk::kFalse);
        pDb->readDwgFile("test1.dwg");
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2003-10-23 16:15:00 | 显示全部楼层
to: hantaojian
您好,谢谢你的回复,您的方法我试过,它只是把dwg文件的database数据读入到我们定义的变量中,我想要的是还要把此dwg文件成为autocad当前的文档。类似与autocad命令中的open。
to: apple06
您好,能说的具体的吗?我是个新手。谢谢!
回复

使用道具 举报

21

主题

47

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
131
发表于 2003-10-24 09:01:00 | 显示全部楼层
......
        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还有其它方法)
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2003-10-27 10:30:00 | 显示全部楼层
谢谢muzi的回复。
回复

使用道具 举报

15

主题

66

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
126
发表于 2003-10-28 17:41:00 | 显示全部楼层
这样插入后,怎么关它呀?
回复

使用道具 举报

15

主题

66

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
126
发表于 2003-10-28 17:50:00 | 显示全部楼层
又如果保存所作的改动?就是直接SAVE命令,好像DB类没有函数完成这个操作哦。
回复

使用道具 举报

15

主题

66

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
126
发表于 2003-10-28 18:19:00 | 显示全部楼层
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);//这试了一下,执行到这里没有看到那张图呀!
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2003-10-31 11:45:00 | 显示全部楼层
我试了下面的方法,可以把要打开的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;
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 14:51 , Processed in 0.180595 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表