Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Public Class test
Public Sub FindEntInEachLayout()
Dim ZwDoc As Document = Application.DocumentManager.MdiActiveDocument
Dim ZwDB As Database = HostApplicationServices.WorkingDatabase
Using ZcTrans As Transaction = ZwDB.TransactionManager.StartTransaction()
Dim layoutDict As DBDictionary = DirectCast(ZcTrans.GetObject(ZwDB.LayoutDictionaryId, OpenMode.ForRead), DBDictionary)
For Each id As DictionaryEntry In layoutDict
Dim oLayout As Layout = DirectCast(ZcTrans.GetObject(DirectCast(id.Value, ObjectId), OpenMode.ForRead), Layout)
Dim Btr As BlockTableRecord = DirectCast(ZcTrans.GetObject(oLayout.BlockTableRecordId, OpenMode.ForRead), BlockTableRecord)
If Btr.IsLayout = True Then
For Each objID As ObjectId In Btr
Dim Ent As Entity = DirectCast(ZcTrans.GetObject(objID, OpenMode.ForRead), Entity)
'...
'...
'...
Next
End If
Next
End Using
End Sub
End Class
Imports ZwSoft.ZwCAD.DatabaseServices
Public Class test
Public Sub FindEntInEachLayout()
Dim ZwDoc As Document = Application.DocumentManager.MdiActiveDocument
Dim ZwDB As Database = HostApplicationServices.WorkingDatabase
Using ZcTrans As Transaction = ZwDB.TransactionManager.StartTransaction()
Dim layoutDict As DBDictionary = DirectCast(ZcTrans.GetObject(ZwDB.LayoutDictionaryId, OpenMode.ForRead), DBDictionary)
For Each id As DictionaryEntry In layoutDict
Dim oLayout As Layout = DirectCast(ZcTrans.GetObject(DirectCast(id.Value, ObjectId), OpenMode.ForRead), Layout)
Dim Btr As BlockTableRecord = DirectCast(ZcTrans.GetObject(oLayout.BlockTableRecordId, OpenMode.ForRead), BlockTableRecord)
If Btr.IsLayout = True Then
For Each objID As ObjectId In Btr
Dim Ent As Entity = DirectCast(ZcTrans.GetObject(objID, OpenMode.ForRead), Entity)
'...
'...
'...
Next
End If
Next
End Using
End Sub
End Class