用VB操作同时启动的两个版本的CAD
<p>用VB操作CAD,如象CAD发送SendCommand。</p><p>连接CAD用以下代码:VB程序中没有引用针对版本的Object Library。</p><p> Dim AcadApp As Object<br/> On Error Resume Next<br/> Set AcadApp = GetObject(, "AutoCAD.Application")<br/> If Err Then<br/> End<br/> End If<br/> Set ThisDrawing = AcadApp.ActiveDocument</p><p>如:先启动CAD2006,这时程序可正常操作CAD2006,此时在不关闭CAD2006情况下启动CAD2002,这时的VB程序操作将会自动转向CAD2002,再想回头操作CAD2006就不行了,无论再是否关闭CAD2002,除非把CAD2002和2006都关掉,然后再单独启动CAD2006,</p><p>如何解决这种情况,使同时启动两个版本的CAD时对两个版本的CAD 操作同时好用?</p> <p>Set AcadApp = GetObject(, "AutoCAD.Application")这句加上版本号看看,试试!例如AutoCAD.Application.15.0或AutoCAD.Application.16.2</p><p>也不知道行不行,楼主想干甚么啊?同时操作两个版本的cad,闹着玩啊?呵呵!</p> <p>呵呵,就是不想加入版本号的,工作上经常会打开两个版本的CAD同时操作,一些工作软件需要低的CAD版本,一些图纸又会需要用高的CAD版本,自己又会有自己的选择,所以。。。有时同时打开三个版本的CAD操作,哎,也没办法。所以我特别需要各个版本间互相转换引用的问题。说的明白些,就是当前操作哪个版本的CAD,程序就能随时对哪个进行操作。</p><p>CAD很气人啊,启动两个版本的CAD,当后启动的CAD关了以后,在程序一直驻留的情况下,再GetObject竟然无法获取还没关闭的CAD版本的引用。</p> <p>刚刚想到了一个思路,也不知能否行得通,有时间再试试。</p><p>就是启动程序时首先获取CAD目标,获取当前CAD版本号,在CAD的退出响应事件中,清空目前获得的CAD目标,引用除当前CAD版本的带另外几个CAD版本号的方法重新获取CAD目标,看能否获取另外的哪个版本的CAD(就是这步不知是否能行),然后重新获取CAD对象,就可在程序一直驻留的情况下对现存的新的CAD目标进行操作。不知这样是否可行。</p>
页:
[1]