乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 127|回复: 7

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

[复制链接]

21

主题

97

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
181
发表于 2009-3-5 10:01:00 | 显示全部楼层 |阅读模式
VB如何突破CAD的版本问题?
请教CAD如何在编程过程中突破CAD的版本问题,我开始以为是引用CAD的类型库,但是不行.只能有一个.请教各位大哥!
回复

使用道具 举报

124

主题

837

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1333
发表于 2009-3-8 20:40:00 | 显示全部楼层
是不是通过搜索注册表可以选择启动AutoCAD的版本?
HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD键下列出的系统已经安装的AutoCAD版本.
回复

使用道具 举报

0

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
4
发表于 2009-3-9 23:41:00 | 显示全部楼层
或者你干脆写一段支持多个版本的代码,我看大家一般都这样写。主要就 GetObject 后面的字符不同嘛!
回复

使用道具 举报

6

主题

22

帖子

3

银币

初来乍到

Rank: 1

铜币
46
发表于 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

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2009-4-25 19:52:00 | 显示全部楼层
好强~~~~
回复

使用道具 举报

4

主题

11

帖子

3

银币

初来乍到

Rank: 1

铜币
27
发表于 2009-4-26 22:09:00 | 显示全部楼层
好像不行呀,
我以前试过,这种方法有问题
回复

使用道具 举报

0

主题

46

帖子

4

银币

初来乍到

Rank: 1

铜币
46
发表于 2009-4-30 11:23:00 | 显示全部楼层
不要引用CAD的类型库
直接定义程序变量为Object
同4楼的调用方法,此种方法是调用当前运行的CAD,如果没有运行,就会启动最后一次运行的CAD版本
回复

使用道具 举报

11

主题

326

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
370
发表于 2009-5-8 09:59:00 | 显示全部楼层
最好人CAD里面运行此程序,运行时,将CAD的版本发给VB程序,则在vb中,Set AcadApp = GetObject(, "AutoCAD.application." & ver)
如果CAD是16.0,则ver=16
如果从外部启动VB程序,则如果安装有多个CAD的话,可能启动的是最后一个,不过也可能是R14
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-2 06:52 , Processed in 1.339542 second(s), 79 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表