Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: valtur1983 от 21-11-2021, 11:12:33

Название: Имя оригинального имени динамического блока
Отправлено: valtur1983 от 21-11-2021, 11:12:33
Доброго дня!

Вставляю в чертеж элементы из другого чертежа, при вставке динамических блоков им присваивается имя "*U", подскажите как добраться до оригинального имени, чтобы подсчитать кол-во вставок нужных блоков
Название: Re: Имя оригинального имени динамического блока
Отправлено: Владимир Шу от 21-11-2021, 11:50:30
Как то так...
Код - C# [Выбрать]
  1.     public static string GetEffectiveName(this Db.BlockReference br)
  2.     {
  3.       string result = "NAN";
  4.       Db.ObjectId id = br.BlockTableRecord;
  5.       if (br.IsDynamicBlock)
  6.         id = br.DynamicBlockTableRecord;
  7.  
  8.       using (Db.BlockTableRecord btr = id.Open(Db.OpenMode.ForRead, true) as Db.BlockTableRecord)
  9.         result = btr.Name;
  10.  
  11.       return result;
  12.     }

А вообще эта тема регулярно всплывает на форуме...
Ну и классика: https://adn-cis.org/kak-najti-vse-vstavki-dinamicheskogo-bloka.html
Название: Re: Имя оригинального имени динамического блока
Отправлено: valtur1983 от 21-11-2021, 18:11:23
Спасибо!