VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END Attribute VB_Name = "ThisDrawing" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = True Option Explicit Public Sub DBX_Demonstration() DBXWrapMainForm.Show End Sub Private Sub GetXrefs() Dim myDBX As ObjectDBXDocument Set myDBX = New ObjectDBXDocument myDBX.OpenDoc "C:\Program Files\ABS2004\Sample\ADT Sample Project\Sheets\CDs\Structural\S102 Second Floor Framing.dwg" Dim myXrefs As Collection Dim myXref As AXDBLib.AcadExternalReference Dim msg As String Set myXrefs = myDBX.Xrefs If Not myXrefs.Count < 1 Then For Each myXref In myXrefs msg = msg & vbCrLf & "Xref Name: " & myXref.Name & vbCrLf & "Found at This Location: " & vbCrLf & myXref.Path Next myXref End If MsgBox msg, vbInformation, "Xrefs From ObjectDBX" Set myDBX = Nothing End Sub Public Sub GetDoors() Dim myDBX As ObjectDBXAECDocument Set myDBX = New ObjectDBXAECDocument Dim myAcObj As AXDBLib.ACADObject Dim i As Integer Dim myArr myDBX.OpenDoc "C:\Program Files\ABS2004\Sample\ADT Sample Project\Constructs\Architectural\Partitions\01 Floor Partitions.dwg" Dim myDoors As Scripting.Dictionary Dim myDoor As AecXArchBase.AecDoor Dim msg As String Dim myPropItem As AecScheduleProperty Set myDoors = myDBX.AecByType("AecDoor") If Not myDoors.Count < 1 Then myArr = myDoors.Items For i = LBound(myArr) To UBound(myArr) Set myAcObj = myArr(i) Set myPropItem = GetScheduleDataItem(myAcObj, "DoorObjects", "Number") msg = msg & vbCrLf & "Door Name: " & myArr(i).ObjectName & " Door Num: " & myPropItem.Value & vbCrLf Next i 'For Each myDoor In myDoors 'msg = msg & vbCrLf & "Door Name: " & myDoor.ObjectName ' .Name & vbCrLf & "Found at This Location: " & vbCrLf & myXref.Path 'Next myDoor End If MsgBox msg, vbInformation, "Doors From ObjectDBX" Set myDBX = Nothing End Sub