Distinguished Contributor
Posts: 136
Registered: ‎07-24-2009
Message 1 of 2 (314 Views)
Accepted Solution

Looping Thru all objects (Blocks) in drawing

314 Views, 1 Replies
01-17-2012 08:01 AM

I want to loop through all blockreferences and entities in Model Space and Layout space... 

Can I do that in one loop? 


Can I do something like for each object in Drawing database? 

What's the object set I'm looking for here? 


Here's the beginning of my current code. 


        Using myTrans As Transaction = DatabaseIn.TransactionManager.StartTransaction

            Dim myBT As BlockTable = DatabaseIn.BlockTableId.GetObject(OpenMode.ForRead)
            Dim myModelSpace As BlockTableRecord = myBT(BlockTableRecord.ModelSpace).GetObject(OpenMode.ForRead)

            'For Each Object in ModelSpace
            For Each myObjID As ObjectId In myModelSpace
                Dim myEnt As Entity = myObjID.GetObject(OpenMode.ForRead)

                If TypeOf myEnt Is Autodesk.AutoCAD.DatabaseServices.Line Then


Valued Mentor
Posts: 328
Registered: ‎05-12-2009
Message 2 of 2 (305 Views)

Re: Looping Thru all objects (Blocks) in drawing

01-17-2012 09:55 AM in reply to: VB_Autocad_guy

One thing you could do is loop through the blocktable then get the entites in blocktablerecords that are layouts(IsLayout = true).

or get modelspace then get the blocktablerecords through the LayoutDictionary.


You can also find your answers @ TheSwamp
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.