找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 788|回复: 3

[求助]:编程合并多个CAD文件的问题。

[复制链接]
发表于 2005-6-25 16:35:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我想实现用户选择多个DWG文件,我的程序将这几个文件合并成一个文件,但是在插入文件的时候遇到的问题。
方法一:
使用ActiveX的InsertBlock方法:

block = autoCadApp.ActiveDocument.ModelSpace.InsertBlock(insertPoint,cadFileName,1,1,1,0);
block.Explode();
此方法有两个问题:
1.当插入的文件比较大(10M),内存占用达到几百M,运行时间也要十几分钟,感觉就像程序死了,而直接用CAD的命令插入文件则很快,内存占用也不大。
2.在Explode时也会将MText炸开成Text,而且图层变成当前图层。

方法二:
使用SendCommand的方法:
  string command = string.Format("-insert \"*{0}\"\n0 1 0 ",cadFileName);
    autoCadApp.ActiveDocument.SendCommand(command);
此方法也有两个问题:
1.使用SendCommand时,CAD会自动取消隐藏状态,将CAD界面显示出来,用户可以操作CAD,可能导致我程序出现“RPC服务不可用”的错误。
2.用此方法可能会弹出选择字体的对话框,需要人工干预才能继续,所以我想在插入文件前屏蔽选择字体对话框,插入完成后恢复选择字体。

在经人指点后,发现可以使用fontalt 命令指定一个默认字体,但是
此方法不能满足我的需要:
使用“insert”命令,在对话框中选择文件插入,没有弹出选择字体的对话框。
使用“-insert”方法,在命令行中指定插入的文件名,此时还是会弹出选择字体的提示。

不知道有什么比较好的编程实现合并文件的方法?
我用的CAD版本是2002
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-6-26 21:32:28 | 显示全部楼层
10M以上,文件确实太大了,用ObjectDbx试过没?不过可能也会慢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-27 12:48:55 | 显示全部楼层
10M并不大,用CAD的插入命令1,2分钟就可以打开,但是就是会弹出选择字体的对话框,没有办法用SendCommand完成,需要人工选择对话框的取消按钮才能继续。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-1-11 09:50:24 | 显示全部楼层
怎样将多个cad文件合并到一个cad图里面,这是个需要解决的问题,因为,有很多相是的图,几十个,或几百个,不可能一个一个打来看哈.字休可以先不用解决,那样麻烦呀.Potoshop都有自动合并功能,如果能那样多好
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-23 02:56 , Processed in 0.190646 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表