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?
Solved! Go to Solution.
Solved by adam.nagy. Go to 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
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