找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: god

[VBA程序]:vb控制acad

[复制链接]

已领礼包: 181个

财富等级: 日进斗金

发表于 2004-6-25 20:15:07 | 显示全部楼层
使用选择集过滤啊,全部遍历对于实体多的情况肯定慢。
过滤时组码设为0,值设为Text,MText就可以只选择文字了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-27 15:08:12 | 显示全部楼层
不过每秒不到100实体的遍历速度还是太慢了。没有更好的方法吗?
http://www.xdcad.net/forum/showthre...1299#post551299 说的浏览数据库方式简直快得不得了了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-28 12:50:54 | 显示全部楼层
最初由 lzh741206 发布
[B]Arx的方法和VBA有很大差别,直接浏览数据库在VBA来说是底层操作,不可见,反而用选择集+过滤器还快一些 [/B]

用objectdbx怎样实现呢?又没有选择集,我想过滤出一些实体,操作起来实在太难了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-28 13:15:00 | 显示全部楼层
objectdbx就没办法了,只有像15楼的程序一样历遍了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2004-6-28 14:06:12 | 显示全部楼层
最初由 god 发布
[B]不过每秒不到100实体的遍历速度还是太慢了。没有更好的方法吗?
http://www.xdcad.net/forum/showthre...1299#post551299 说的浏览数据库方式简直快得不得了了。 [/B]


这个贴子里的用法也是遍历模型空间,判断实体是否是文字,虽然它是使用ARX,性能上比较好,但速度也不可能很快的。

还有一种是使用OpenDWG的读写DWG格式的组件来做吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-28 14:54:01 | 显示全部楼层
http://www.xdcad.net/forum/showt ... d=656463#post656463
这个帖子说的软件,速度应该是相当快了。
原话说的:演示的图约2.9km路线长,在ACAD2002上不要十秒钟,因直接对实体进行处理(不用CAD剪裁),命令,速度比较快!
这可能用的什么方法?
我的P4 2G的电脑,遍历速度只能达到约每秒100个。另外要得到实体数据,
是不是只能用Set retObj = .Item(i)
a = retObj.EntityType的方式?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-28 15:07:37 | 显示全部楼层
必须直接用Arx,速度才会快,VBA不行,VBA的历遍会要人命的!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-28 15:22:34 | 显示全部楼层
那如果局部加载图形,是不是会快些?是不是也会浏览图中的所有的实体呢?用ObjectDbx怎么局部加载?上次lzh741206 说了一下,能不能再详细一点?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-28 15:27:19 | 显示全部楼层
最初由 darkblue 发布
[B]那如果局部加载图形,是不是会快些?是不是也会浏览图中的所有的实体呢?用ObjectDbx怎么局部加载?上次lzh741206 说了一下,能不能再详细一点? [/B]

明经上有个“利用ObjectDbx技术在当前图形中插入其它未打开的图形中的图块”的帖子你可以看看
http://www.vba.cn/bbs/dispbbs.as ... ;ID=8884&page=1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-4 16:49:09 | 显示全部楼层
好好学学,不过用API是有点高深了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 03:30 , Processed in 0.442711 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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