提取CAD图形中所有图块名称

Dim doc As ApplicationServices.Document = ApplicationServices.Application.DocumentManager.MdiActiveDocument

        Using Tr As DatabaseServices.Transaction = doc.Database.TransactionManager.StartTransaction()
            Using bt As DatabaseServices.BlockTable = CType(Tr.GetObject(doc.Database.BlockTableId, DatabaseServices.OpenMode.ForRead), DatabaseServices.BlockTable)
                For Each id As ObjectId In bt
                    Dim btr As BlockTableRecord = CType(Tr.GetObject(id, DatabaseServices.OpenMode.ForRead), DatabaseServices.BlockTableRecord)
                    If Not btr.IsAnonymous AndAlso Not btr.IsLayout Then
                        ComboBox1.Items.Add(btr.Name)
                    End If
                Next
            End Using
        End Using

 

posted @ 2021-08-20 10:50  rf8862  阅读(423)  评论(0编辑  收藏  举报