[讨论]VB如何突破CAD的版本问题?
<p> VB如何突破CAD的版本问题?</p><p>请教CAD如何在编程过程中突破CAD的版本问题,我开始以为是引用CAD的类型库,但是不行.只能有一个.请教各位大哥!</p> <p>是不是通过搜索注册表可以选择启动AutoCAD的版本?</p><p>HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD键下列出的系统已经安装的AutoCAD版本.</p> 或者你干脆写一段支持多个版本的代码,我看大家一般都这样写。主要就 GetObject 后面的字符不同嘛! Set AcadApp = GetObject(, "AutoCAD.application")<br/>If Err Then<br/> Err.Clear<br/> Set AcadApp = CreateObject("AutoCAD.application")<br/> If Err Then<br/> Err.Clear<br/> MsgBox "不能运行AutoCAD,请检查是否安装!", vbOKOnly<br/> Exit Sub<br/> End If<br/>End If<br/>AcadApp.Visible = True<br/>AcadApp.WindowState = AutoCAD.AcWindowState.acMax<br/>Set AcadDoc = AcadApp.ActiveDocument<br/>AppActivate (AcadApp.Caption) 好强~~~~ <p>好像不行呀,</p><p>我以前试过,这种方法有问题</p> <p>不要引用CAD的类型库</p><p>直接定义程序变量为Object</p><p>同4楼的调用方法,此种方法是调用当前运行的CAD,如果没有运行,就会启动最后一次运行的CAD版本</p> <p>最好人CAD里面运行此程序,运行时,将CAD的版本发给VB程序,则在vb中,Set AcadApp = GetObject(, "AutoCAD.application." & ver)</p><p>如果CAD是16.0,则ver=16</p><p>如果从外部启动VB程序,则如果安装有多个CAD的话,可能启动的是最后一个,不过也可能是R14<br/></p>
页:
[1]