yxr_MJTD 发表于 2009-3-5 10:01:00

[讨论]VB如何突破CAD的版本问题?

VB如何突破CAD的版本问题?
请教CAD如何在编程过程中突破CAD的版本问题,我开始以为是引用CAD的类型库,但是不行.只能有一个.请教各位大哥!

王咣生 发表于 2009-3-8 20:40:00

是不是通过搜索注册表可以选择启动AutoCAD的版本?
HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD键下列出的系统已经安装的AutoCAD版本.

事后诸葛 发表于 2009-3-9 23:41:00

或者你干脆写一段支持多个版本的代码,我看大家一般都这样写。主要就 GetObject 后面的字符不同嘛!

dxhy 发表于 2009-4-18 08:39:00

Set AcadApp = GetObject(, "AutoCAD.application")
If Err Then
   Err.Clear
   Set AcadApp = CreateObject("AutoCAD.application")
   If Err Then
      Err.Clear
      MsgBox "不能运行AutoCAD,请检查是否安装!", vbOKOnly
      Exit Sub
      End If
End If
AcadApp.Visible = True
AcadApp.WindowState = AutoCAD.AcWindowState.acMax
Set AcadDoc = AcadApp.ActiveDocument
AppActivate (AcadApp.Caption)

ddg 发表于 2009-4-25 19:52:00

好强~~~~

xwjljh 发表于 2009-4-26 22:09:00

好像不行呀,
我以前试过,这种方法有问题

gdzhou 发表于 2009-4-30 11:23:00

不要引用CAD的类型库
直接定义程序变量为Object
同4楼的调用方法,此种方法是调用当前运行的CAD,如果没有运行,就会启动最后一次运行的CAD版本

英雄无敌 发表于 2009-5-8 09:59:00

最好人CAD里面运行此程序,运行时,将CAD的版本发给VB程序,则在vb中,Set AcadApp = GetObject(, "AutoCAD.application." & ver)
如果CAD是16.0,则ver=16
如果从外部启动VB程序,则如果安装有多个CAD的话,可能启动的是最后一个,不过也可能是R14
页: [1]
查看完整版本: [讨论]VB如何突破CAD的版本问题?