@dgorsman I'm not sure what they are called tbh. I'm fairly inexperienced with the Autocad API, but this is how I get them:
using (var transaction = db.TransactionManager.StartTransaction())
{
var layoutEntries = transaction.GetObject(db.LayoutDictionaryId, OpenMode.ForRead) as DBDictionary;
foreach (DBDictionaryEntry layoutEntry in layoutEntries)
{
var layout = transaction.GetObject(layoutEntry.Value, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Layout;
var fileRecords = transaction.GetObject(layout.BlockTableRecordId, OpenMode.ForRead) as BlockTableRecord;
foreach (ObjectId id in fileRecords)
{
var blockRef = transaction.GetObject(id, OpenMode.ForRead) as BlockReference;
var handle = blockRef.Handle.Value,
var name = blockRef.Name,
...
}
}
transaction.Abort();
}
@huiz, that's not a bad guess, but when I look at a couple of other handles I see values like -4066801656856679638, -4066801656856679152, -646675092. So not all are the same.
Running AUDIT on the model, as well as RECOVERALL I get this output "objects auditedAcDbBlockTableRecord: "A$C431C598E", XData Handle Unknown, Null" and then Autocad just hangs...