明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2503|回复: 10

小妹在向各们请教一个小东东

[复制链接]
发表于 2003-11-13 13:26:00 | 显示全部楼层 |阅读模式
我已经可以用OLE打开图了
现在有个新的问题,你们一定有感受过用OLE打开已绘好的图时打开的时间很长,但在CAD打开图时速度很快,现在我有个想法如何调用AutoCAD本身的打开文件的命令,请指教
我的意思:如果AUTOCAD已经打开,我用VB或PB直接就可以像ACAD一样快速打开指定的文件,如打开文件为c:\大家好.dwg .
发表于 2003-11-13 14:28:00 | 显示全部楼层
OLE原本就是很慢的。你为什么一定要用OLE呢?
 楼主| 发表于 2003-11-13 17:11:00 | 显示全部楼层
有什么高招请指教
发表于 2003-11-13 17:55:00 | 显示全部楼层
thisdrawing.application.document.open "c:\大家好.dwg "
发表于 2003-11-13 18:49:00 | 显示全部楼层
下面是简单的打开文件程序,没有错误处理的代码

Public Sub openfile()
on error resume next
Dim acadapp As AcadApplication
Set acadapp = GetObject(, "acad.application")
If Err Then
   Err.Clear
   Set acadapp = CreateObject(, "acad.application")
End If
acadapp.Visible = True
Dim myFilename As String
myFilename = "C:\123.dwg"
acadapp.Documents.Open myFilename

End Sub
发表于 2003-11-14 09:42:00 | 显示全部楼层
对楼上的再补充一点!
在createobject过程中,是否要加入版本信息呢?
引一段cad2004的帮助:
如果 CreateObject 或 GetObject 函数使用的是独立于版本的 ProgID,则将函数更改为使用依赖于版本的 ProgID。对于 AutoCAD 2004,请使用依赖于版本的 ProgID。
例如,如果在 AutoCAD 2004 中使用 CreateObject,请将 CreateObject ("AutoCAD.Application") 替换为 CreateObject ("AutoCAD.Application.16")。

此外,如果 GetInterfaceObject 方法使用的是独立于版本的 ProgID,则必须将该方法更改成使用依赖于版本的 ProgID。

注意  如果在以前版本的 AutoCAD 中使用 CreateObject、GetObject 或 GetInterfaceObject,则需要使用对应版本的 ProgID。例如,对于 AutoCAD 2002,需要将 CreateObject ("AutoCAD.Application") 替换为 CreateObject ("AutoCAD.Application.15")。
 楼主| 发表于 2003-11-14 12:06:00 | 显示全部楼层
在VB上如何用fileopen 命令打开c:\123.dwg
在AUTOCAD上用fileopen 命令打开c:\123.dwg速度很快
发表于 2003-11-14 12:19:00 | 显示全部楼层
6楼的说得对。代码应该改改。
我一直用的是vba,不需要考虑cad是否已经打开的问题。
楼主重复一遍是什么意思?
 楼主| 发表于 2003-11-14 17:31:00 | 显示全部楼层
用VB如何速度打开指定的DWG文件,如打开c:\123.dwg ,不能用OLE太慢了,
在AUTOCAD上用fileopen 命令打开c:\123.dwg速度很快
发表于 2003-11-14 21:10:00 | 显示全部楼层
已经解释的非常清楚了呀!
注意在vb工程里面,要引用cad版本对应的tlb
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 13:51 , Processed in 0.222390 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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