好心人帮帮小弟吧 关于ObjectDBX
在窗体初始化的时候Private Sub Form_Initialize()
If Left(Version, 2) = "15" Then
Set objDBX = CreateObject("ObjectDBX.AxDbDocument.1")
ElseIf Left(Version, 2) = "16" Then
Set objDBX = CreateObject("ObjectDBX.AxDbDocument.16")
End If
End Sub
为什么以上代码创建不了ObjectDBX.啊?
好心人帮帮我吧
Dim objDBX As AxDbDocument
On Error Resume Next
Set objDBX = CreateObject("ObjectDBX.AxDbDocument.1")
If err Then
err.Clear
Set objDBX = CreateObject("ObjectDBX.AxDbDocument.15")
If err Then
err.Clear
Set objDBX = CreateObject("ObjectDBX.AxDbDocument.16")
If err Then
err.Clear
Set objDBX = CreateObject("ObjectDBX.AxDbDocument.17")
If err Then
err.Clear
Set objDBX = CreateObject("ObjectDBX.AxDbDocument.18")
End If
End If
End If
End If
On Error GoTo 0
我一般是这样用的,因为我也分不清"."后面到底要多少才好! 用Create方法好像不能成功,不知道楼上的完整代码是怎样的,但通过acadobject对象可以
前提是要事先打开了CAD
Set AcadObj = GetObject(, "autocad.application.16")
If Err Then
MsgBox "没有打开AutoCAD 2004"
Unload Me
Else
' SetParent Me.hwnd, AcadObj.hwnd
End If
Set DbxObj = AcadObj.GetInterfaceObject("ObjectDBX.AxDbDocument.16")
谢谢大家的帮助 后面的数字好像是指CAD的版本号吧? 怎么知道那个版本的CAD对应那个数字啊?
这恐怕要读取注册表了,不同的CAD版本号在注册表中都有的,如果你是自己用,在CAD中输入acadver就可以看到版本号,如果要做通用软件,那你就必须去研究注册表了。 Set AcadObj = GetObject(, "autocad.application")
....................
............
不要带版本号,得到系统默认的autocad版本
页:
[1]