乐筑天下

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

[求助]采用VB对CAD选择集遍历操作时速度超级慢?

[复制链接]

6

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
44
发表于 2006-12-20 16:36:00 | 显示全部楼层 |阅读模式
我采用VB对CAD选择集遍历操作,但时速度超级慢。
而在VBA下面直接操作速度很快。
同样的操作,为啥速度差这么多呢?
vb中主要相关代码如下:
    Set SSet = AcadDoc.SelectionSets.Add("Example")
    Dim FilterType(0 To 3) As Integer
    Dim FilterData(0 To 3) As Variant
    FilterType(0) = -4
    FilterData(0) = ""  
    SSet.Select acSelectionSetAll, , , FilterType, FilterData
For Each element In SSet
If (SSet.Item(j).Length =170) Then
      ''''这里是随便处理语句
   End If
Next
在vba中相同的代码(AcadDoc改成ThisDrawing)
当SSET选择集被筛选出来的结果数量达到几百个时,VB中速度慢得让人难以忍受,而VBA中速度相当快。
各位大侠,帮我分析一下,是不是我的思路不对?难道在VB中处理选择集本来就很慢?
真是郁闷啊!!!
回复

使用道具 举报

10

主题

131

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
171
发表于 2006-12-20 17:07:00 | 显示全部楼层
把VB代码封装成DLL
回复

使用道具 举报

6

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
44
发表于 2006-12-20 17:57:00 | 显示全部楼层
封装成dll就能快吗?   封装成dll后在哪里调用?  在VBA中?   我就是不想使用VBA才在VB中编的。
回复

使用道具 举报

8

主题

28

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2006-12-21 12:51:00 | 显示全部楼层
请教一下怎么封装
回复

使用道具 举报

6

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
44
发表于 2006-12-21 17:02:00 | 显示全部楼层
还有一点:是不是封装成dll一定能提高速度?
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2006-12-21 21:37:00 | 显示全部楼层
VBA是与AutoCAD在同一进程中运行,而VB与AutoCAD则非同一进程运行,速度肯定会比VBA中慢。
回复

使用道具 举报

6

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
44
发表于 2006-12-22 10:47:00 | 显示全部楼层
感谢上面兄弟的回答,我现在的想法是干脆使用VBA,或者直接用VB去控制CAD加载并运行VBA宏算了。
这样简单的多。毕竟我以前的程序就是在VBA下开发的,本来想转移到vb中去,看来难度挺大。
当然我不知道还有没有更好的办法?比如采用其他语言实现?
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2006-12-22 10:58:00 | 显示全部楼层
C#的ARX开发,速度最快
回复

使用道具 举报

6

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
44
发表于 2006-12-22 13:33:00 | 显示全部楼层
我试试看看ARX,需要现学一把ARX。唉,命苦阿。从LISP到VBA到VB到ARX都要学一遍,试一遍,真的很无奈阿。
回复

使用道具 举报

hhc

5

主题

118

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
138
发表于 2006-12-25 12:48:00 | 显示全部楼层
用VLisp有什么解决不了的问题,而要转到VBA\ARX?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-7 04:35 , Processed in 1.198111 second(s), 72 queries .

© 2020-2025 乐筑天下

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