johansen 发表于 2011-5-20 14:12:54

VB效率的问题,请解惑。

       为什么同样一个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+秒以上,请高手解解惑~
不胜感激

johansen 发表于 2011-5-24 15:57:45

无人回答。。。。。。杯具

qjcpj 发表于 2011-5-31 23:37:43

VB要使用COM与AutoCAD通信,速度当然慢了,要快就用VC吧。

lennie 发表于 2011-6-1 09:42:23

有可能是图形本身就有问题 像这么短的代码 VB和VC的区别 人眼应该感觉不到的

fjfhgdwfn 发表于 2011-6-2 17:09:00

很正常的。

johansen 发表于 2011-6-10 10:28:54

看来是无解了,有时候速度又稍微能快点。
我做的是一个地图拼接的程序,速度太慢,哎。
以前有一个R14版本的用着速度很快,我没源码,但肯定不是VBA或VB。。。。
然道非要转到VC或者.net。可惜我不是专业的编程。学一门新语言不容易啊,光个VS都找不到。

johansen 发表于 2011-6-27 20:55:29

找到原因了,我在里面加了一个文档级响应事件:
Public Sub InitializeEvents()
Set X.Doc = acadapp.ActiveDocument
End Sub
每次call InitializeEvents()以后,就会导致速度超慢,不调用又影响我的双击响应功能,搞得现在只能把程序转成VBA,现在很快了。
谢谢关注本帖的朋友们
页: [1]
查看完整版本: VB效率的问题,请解惑。