How to Get Block Name from Current drawing using vb.net?
Dim objEditor As Editor = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor
Dim objDocument As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
Dim objDatabase As Database = objEditor.Document.Database
Dim symbolNames As String
Using objTransaction As Transaction = objDatabase.TransactionManager.StartTransaction()
Dim objBlockTable As BlockTable
objBlockTable = TryCast(objTransaction.GetObject(objDatabase.BlockTableId, OpenMode.ForRead), BlockTable)
Dim objBlockTableRecord As BlockTableRecord
objBlockTableRecord = TryCast(objTransaction.GetObject(objBlockTable(BlockTableRecord.ModelSpace), OpenMode.ForRead), BlockTableRecord)
For Each acObjId As ObjectId In objBlockTableRecord
symbolNames = acObjId.ObjectClass.DxfName
Next
End Using
when Iam using the above code,I get all object name...but i did not get block name,instead of that i got "INSERT" as a Block name...I want to get Block name correctly...How to get it?
Using this code, you are asking for the DXFNAME og the object class, wich is INSERT (i.e. a Block Reference).
You will have to check the Name-property of this block refrence for what you are looking for.
Can't find what you're looking for? Ask the community or share your knowledge.