明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1604|回复: 6

VB效率的问题,请解惑。

[复制链接]
发表于 2011-5-20 14:12:54 | 显示全部楼层 |阅读模式
       为什么同样一个DWG文件(大小150K),在CAD中直接使用命令【insert】或【i】可以很快速的插入,但是通过VB插入的话就特别慢,不知道什么原因,以下是我的代码
Dim insert As AcadBlockReference
Dim inpt(0 to 2) As Double
Dim filepath As String
...
Private Sub Command1_Click()
.....
inpt(0)=0
inpt(1)=0
inpt(2)=0
filepath="****/*.dwg"
Set insert = acadapp.ActiveDocument.ModelSpace.InsertBlock(inpt, filepath, 1, 1, 1, 0)
......
end sub

实在是太慢了,基本上都在10+秒以上,请高手解解惑~
不胜感激
 楼主| 发表于 2011-5-24 15:57:45 | 显示全部楼层
无人回答。。。。。。杯具
发表于 2011-5-31 23:37:43 | 显示全部楼层
VB要使用COM与AutoCAD通信,速度当然慢了,要快就用VC吧。
发表于 2011-6-1 09:42:23 | 显示全部楼层
有可能是图形本身就有问题 像这么短的代码 VB和VC的区别 人眼应该感觉不到的
发表于 2011-6-2 17:09:00 | 显示全部楼层
很正常的。
 楼主| 发表于 2011-6-10 10:28:54 | 显示全部楼层
看来是无解了,有时候速度又稍微能快点。
我做的是一个地图拼接的程序,速度太慢,哎。
以前有一个R14版本的用着速度很快,我没源码,但肯定不是VBA或VB。。。。
然道非要转到VC或者.net。可惜我不是专业的编程。学一门新语言不容易啊,光个VS都找不到。
 楼主| 发表于 2011-6-27 20:55:29 | 显示全部楼层
找到原因了,我在里面加了一个文档级响应事件:
Public Sub InitializeEvents()
Set X.Doc = acadapp.ActiveDocument
End Sub
每次call InitializeEvents()以后,就会导致速度超慢,不调用又影响我的双击响应功能,搞得现在只能把程序转成VBA,现在很快了。
谢谢关注本帖的朋友们
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 19:54 , Processed in 0.155039 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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