请问在VB中能否使用OBJECTDBX技术?
<DIV>请问在VB中能否使用OBJECTDBX技术?</DIV><DIV>我试了好久总是提示,ACTIVEX 无法创建对象。</DIV> 要先打开AutoCad 我把CAD已经启动了,在Createobject("objectdbx.axdocument")时出错提示"无法创建ActiveX对象".我已经引用了Axdb15.tlb和Autocad库了啊。帮主帮帮我吧 本帖最后由 作者 于 2005-6-28 12:14:18 编辑 <br /><br /> <DIV>已经可以了,谢谢</DIV> <P><STRONG>我也遇到了同样的问题,请问楼主你是怎么解决的?</STRONG></P>
<P><STRONG>我开始出错是</STRONG>ACTIVEX 无法创建对象。后来是变成了“自动化出错”</P>
<P>我的源码如下:</P>
<P> </P>
<P>希望楼主帮忙看一下,很简单,就是打开一图形,取出叫111的图块插入当前文件中</P>
<P> </P>
<P>Private Sub Command1_Click()</P>
<P><BR> On Error Resume Next<BR> <BR> ' 连接至 AutoCAD 应用程序<BR> Dim acadApp As Object<BR> <BR> <BR> Set acadApp = GetObject(, "AutoCAD.Application.15")<BR> If Err Then<BR> Err.Clear<BR> Set acadApp = CreateObject("AutoCAD.Application.15")<BR> If Err Then<BR> MsgBox Err.Description<BR> Exit Sub<BR> End If<BR> End If<BR> <BR> ' 连接至 AutoCAD 图形<BR> Dim acadDoc As Object<BR> Set acadDoc = acadApp.ActiveDocument<BR> <BR> <BR> <BR> Dim blkname As String '图块名<BR> Dim dwgname As String ‘要打开的dwg文件名字<BR> <BR> Dim blkobj(0) As Object<BR> Dim pnt(2) As Double<BR> Dim objdbx<BR> <BR> <BR> '根据AutoCAD的版本来确定使用ObjectDBX的版本<BR> '我的是cad2002</P>
<P> '此句出错</P>
<P> Set objdbx = CreateObject("ObjectDBX.AxDbDocument") <BR> <BR> If Err Then<BR> Set objdbx = CreateObject("ObjectDBX.AxDbDocument.16")<BR> End If</P>
<P><BR> blkname = "111" <BR> <BR> dwgname = "d:\111.dwg"<BR> <BR> objdbx.Open dwgname<BR> <BR> pnt(0) = 0<BR> pnt(1) = 0<BR> pnt(2) = 0<BR> <BR> Set blkobj(0) = objdbx.Blocks(blkname)<BR> <BR> objdbx.CopyObjects blkobj, acadDoc.ModelSpace<BR> <BR> acadDoc.ModelSpace.InsertBlock pnt, blkname, 1, 1, 1, 0<BR> <BR> <BR> ZoomAll<BR> <BR> acadApp.Visible = True<BR> <BR> acadApp.ZoomAll<BR> <BR> <BR>End Sub</P>
页:
[1]