I have a block: “Block_A”. I am trying to determine if a block reference of the block exist.
Currently I would iterate every block Reference in the Block Table, and then dig deep into each block ref . . . . .
I was wondering if I could just take “Block_A” and see if it has reference and where the references are. Perhaps this is just wishful thinking but I was hoping for a faster way to obtain the references then to iterate thousands of blocks in each table record.
So you want to find all the BlockReferences associated with a particular BlockTableRecord? If so, BlockTableRecord.GetBlockReferenceIds() is the function you're looking for.
Autodesk Developer Network
It is true only for "non-dynamic" block's. Other words if blockreference of dynamic block was modified then its ObjectID was not returned with BlockTableRecord.GetBlockReferenceIds().
It is possible get all ObjectID of anonymous BlockTableRecord's which corresponds to main BlockTableRecord with help of method BlockTableRecord.GetAnonymousBlockIds(), and then for each anonymous BlockTableRecord method BlockTableRecord.GetBlockReferenceIds() return all BlockReference: http://forums.autodesk.com/t5/NET/Keeping-track-of