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

Looping Thru all objects (Blocks) in drawing

304 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: 322
Registered: ‎05-12-2009
Message 2 of 2 (295 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

You are not logged in.

Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register

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 to get help installing your software.

Ask the Community