BlockTableRecord vs DynamicBlockTableRecord

BlockTableRecord vs DynamicBlockTableRecord

Anonymous
Not applicable
2,082 Views
3 Replies
Message 1 of 4

BlockTableRecord vs DynamicBlockTableRecord

Anonymous
Not applicable
   For Each myEntID As ObjectId In myBTR
                        Dim myEnt As Entity = myEntID.GetObject(OpenMode.ForRead) 'Read Entity

                        If TypeOf myEnt Is BlockReference Then
                            'If Block Reference
                            Dim myBRef As BlockReference = CType(myEnt, BlockReference)
                            Dim myBlockDef As BlockTableRecord =  myBRef.BlockTableRecord.GetObject(OpenMode.ForRead)
                            'myBRef.DynamicBlockTableRecord.GetObject(OpenMode.ForRead)
                    

 

What's the differencebetween blocktablerecord and dynamicblocktablerecord? 

When I'm trying to access the blocktablerecord what's the difference?

 

Will blocktablerecord work on dynamic blocks are they somewhat interchangeable?

0 Likes
Accepted solutions (1)
2,083 Views
3 Replies
Replies (3)
Message 2 of 4

adam.nagy
Autodesk Support
Autodesk Support
Accepted solution

HI there,

 

BlockTableRecord is the actual block record that is being used (i.e. shown) by the block reference.

The DynamicBlockTableRecord is the block (if the block reference is referencing a dynamic block) that the BlockTableRecord instance is based on (it's a specific variation of the dynamic block)

 

If you are already familiar with the concept of dynamic blocks from a user interface point of view, then the best thing, as always :), is to use a utility like ArxDbg/MgdDbg and look into the database and see for yourself the relation between the various objects.

 

I hope this helps. 

 

Cheers,

Adam Nagy

Autodesk Developer Network



Adam Nagy
Autodesk Platform Services
0 Likes
Message 3 of 4

Anonymous
Not applicable
Yah thanks that does help. I'm familiar with arxdbg. I'll fiddle around with it. I believe our site doesn't use many dynamic block.

What's the property or method to see if a block record is dynamic?
0 Likes
Message 4 of 4

adam.nagy
Autodesk Support
Autodesk Support

Both BlockTableRecord and BlockReference classes have an IsDynamicBlock property that can be used to tell if the object is (or is referencing) a dynamic block.

 

Cheers,

Adam 



Adam Nagy
Autodesk Platform Services
0 Likes