if (btr.IsFromExternalReference) // btr - BlockTableRecord
{
Database db = null; // у btr база данных - основной чертеж. что-то я не придумал как получить из btr базу данных внешней ссылки. приходится извлекать объект из нее
foreach (ObjectId subId in btr) // нужен только первый элемент чтоб получить его DB
{
db = subId.Database;
if (db != null) break;
}
using XrefFileLock Filelock = XrefFileLock.LockFile(btr.Id);
db.RestoreOriginalXrefSymbols();
using Transaction extTr = db.TransactionManager.StartTransaction();
foreach (ObjectId id in btr)
if (!id.IsNull && !id.IsErased && id.ObjectClass == dbBlockRef)
Do(id, extTr); // тут я удаляю и создаю новые объекты во внешней ссылке
extTr.Commit();
db.RestoreForwardingXrefSymbols();
return;
}