wweien 发表于 2002-9-8 20:42:00

请问怎样才能实现多文档之间的转换?

小弟我用arx做了一个管线的平面图,我想点击任意一段管线的端点就可生成管线的截面图。
但是现在我不太清楚怎样可以做到从平面图直接切换到截面图去,两个图为不同的文件名。
前面leeyeafue指点了一下,我还是没做出来,不知那位大侠可不可以给我一个例子,或者给我一些找什么资料的建议?

leeyeafu 发表于 2002-9-9 08:54:00

ObjectARX 2000帮助中有相关内容,但未见实例

首先,我应该说声抱歉,前面我把问题想得过于简单,以致使你走入歧途。
acdbCurDwg()宏本身就是ObjectARX For R14的东东,ARX For 2000已经升级这个宏,只是保留了acdbCurDwg()的调用方式(其实acdbCurDwg在R14中是函数,到了2000中变成了宏,我直到看到你的例子才知道ADESK为什么这样做),不过习惯了这样使用,一时改不过来,这个宏在多文档界面中已经不管用了。应该用ARX2000的AcApDocument类库来实现转换。
在ACAD2000中,每一个打开的图形文件都有一个AcApDocument类实例,这些AcApDocument对象由AcApDocManager对象统一管理。为实现多文档间的转换,你还要使用一个AcApDocumentIterator浏览器对象(用virtual AcApDocumentIterator*newAcApDocumentIterator() = 0;成员函数声明,然后用AcApDocumentIterator->step();浏览,AcApDocumentIterator->done()函数判断浏览结束)。你可以看看ARX 2000帮助中关于AcApDocument和AcApDocManager这两个类及其成员函数的说明。
谢谢你的问题,它让我又学到了很多。

goldenshin 发表于 2002-9-9 10:25:00

耐心.细心.

首先要了解各种概念之间的区别,"文档"和"数据库","当前文档"和"活动文档","文档锁定"等.
1、"文档"和"数据库"不是一个概念,比如我们在CAD2000中用open命令打开一个图形文件test.dwg,此时,有一个文档test.dwg,这个文档打开了一个数据库test.dwg;
同时,我们可以用arx来写一个程序,在这个文档状态下读取其它的DWG数据库。如test1.dwg,test2.dwg,test3.dwg...;也就是说,我们打开了一个文档,但是可以同时操作许多的数据库.事实上,一个文档包括了数据库、命令处理器、VLisp环境、等等东西。

前面我写过一个ARX四例问答,里边有点这方面的内容,不妨看看。

wweien 发表于 2002-9-10 16:03:00

十分感谢

页: [1]
查看完整版本: 请问怎样才能实现多文档之间的转换?