乐筑天下

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

用VB操作同时启动的两个版本的CAD

[复制链接]

37

主题

151

帖子

1

银币

后起之秀

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

铜币
299
发表于 2007-3-14 01:31:00 | 显示全部楼层 |阅读模式
用VB操作CAD,如象CAD发送SendCommand。
连接CAD用以下代码:VB程序中没有引用针对版本的Object Library。
    Dim AcadApp As Object
    On Error Resume Next
    Set AcadApp = GetObject(, ".Application")
    If Err Then
        End
    End If
    Set ThisDrawing = AcadApp.ActiveDocument
如:先启动CAD2006,这时程序可正常操作CAD2006,此时在不关闭CAD2006情况下启动CAD2002,这时的VB程序操作将会自动转向CAD2002,再想回头操作CAD2006就不行了,无论再是否关闭CAD2002,除非把CAD2002和2006都关掉,然后再单独启动CAD2006,
如何解决这种情况,使同时启动两个版本的CAD时对两个版本的CAD 操作同时好用?
回复

使用道具 举报

55

主题

282

帖子

5

银币

中流砥柱

Rank: 25

铜币
502
发表于 2007-3-14 21:44:00 | 显示全部楼层
Set AcadApp = GetObject(, "AutoCAD.Application")这句加上版本号看看,试试!例如AutoCAD.Application.15.0或AutoCAD.Application.16.2
也不知道行不行,楼主想干甚么啊?同时操作两个版本的cad,闹着玩啊?呵呵!
回复

使用道具 举报

37

主题

151

帖子

1

银币

后起之秀

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

铜币
299
发表于 2007-3-15 00:47:00 | 显示全部楼层
呵呵,就是不想加入版本号的,工作上经常会打开两个版本的CAD同时操作,一些工作软件需要低的CAD版本,一些图纸又会需要用高的CAD版本,自己又会有自己的选择,所以。。。有时同时打开三个版本的CAD操作,哎,也没办法。所以我特别需要各个版本间互相转换引用的问题。说的明白些,就是当前操作哪个版本的CAD,程序就能随时对哪个进行操作。
CAD很气人啊,启动两个版本的CAD,当后启动的CAD关了以后,在程序一直驻留的情况下,再GetObject竟然无法获取还没关闭的CAD版本的引用。
回复

使用道具 举报

37

主题

151

帖子

1

银币

后起之秀

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

铜币
299
发表于 2007-3-16 00:05:00 | 显示全部楼层
刚刚想到了一个思路,也不知能否行得通,有时间再试试。
就是启动程序时首先获取CAD目标,获取当前CAD版本号,在CAD的退出响应事件中,清空目前获得的CAD目标,引用除当前CAD版本的带另外几个CAD版本号的方法重新获取CAD目标,看能否获取另外的哪个版本的CAD(就是这步不知是否能行),然后重新获取CAD对象,就可在程序一直驻留的情况下对现存的新的CAD目标进行操作。不知这样是否可行。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-7 14:07 , Processed in 1.767526 second(s), 61 queries .

© 2020-2025 乐筑天下

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