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

ADN Club => AutoCAD .NET API => Тема начата: Константин Соков от 26-06-2014, 13:10:06

Название: Копирование вставки блока с атрибутами
Отправлено: Константин Соков от 26-06-2014, 13:10:06
Добрый день. При копировании вставки блока с атрибутами, с атрибутами происходит что-то странное - в  палитре свойств они отображаются, их значение можно менять, а вот в чертеже их не видно. что нужно сделать чтобы атрибуты были видимыми в чертеже?
Код - C# [Выбрать]
  1. BlockReference brNew = br.Clone() as BlockReference;          
  2. brNew.Position = pnt;
  3.  
  4. btr.AppendEntity(brNew);
  5. trans.AddNewlyCreatedDBObject(brNew, true);
  6.  
Название: Re: Копирование вставки блока с атрибутами
Отправлено: Александр Ривилис от 26-06-2014, 13:15:16
Метод Clone не работает со сложными примитивами типа вставки блока с атрибутами. Для этой цели следует использовать метод Database.DeepCloneObjects. Как-то вот так: http://adn-cis.org/poluchenie-kopii-primitiva.html
Название: Re: Копирование вставки блока с атрибутами
Отправлено: Константин Соков от 26-06-2014, 15:09:12
Получается методом DeepCloneObjects копия вставляется в то же место что и оригинал. В моем случае нужно отдельно перемещать вставку блока и каждый атрибут в нужное место?
Название: Re: Копирование вставки блока с атрибутами
Отправлено: Александр Ривилис от 26-06-2014, 15:21:05
В моем случае нужно отдельно перемещать вставку блока и каждый атрибут в нужное место?
Если мне не изменяет память (может изменять), то нет если к вставке блока применить метод TransformBy, а если устанавливать точку вставки, то это нужно делать для каждого из атрибутов.
Название: Re: Копирование вставки блока с атрибутами
Отправлено: Константин Соков от 26-06-2014, 19:51:24
Если мне не изменяет память (может изменять)
Память Вам не изменяет, удалось переместить блок вместе с атрибутами, одним методом:
Код - C# [Выбрать]
  1. acVector3d = pnt.GetVectorTo(basePnt);
  2. br.TransformBy(Matrix3d.Displacement(acVector3d));
Большое спасибо!!!
Название: Re: Копирование вставки блока с атрибутами
Отправлено: Александр Ривилис от 26-06-2014, 19:55:16
Память Вам не изменяет
Приятная новость!  :)