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

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 23-02-2017, 13:50:33

Название: Расчленение повернутого объекта BlockReference
Отправлено: Алексей (IdeaSoft) от 23-02-2017, 13:50:33
Поздравляю всех участников форма (мужской половины) с 23 февраля!!!

Подскажите. У меня к примеру есть объект BlockReference blk;
Важно то, что объект blk может быть повернут на какой-то угол.
Если я к нему применю функцию
Код - C# [Выбрать]
  1. blk.Explode(..);
то получу набор id элементов.
Если я буду добавлять эту коллекцию элементов, в модель,
то скорее будет так, что элементы вставятся без учета угла поворота.

Значит получается, то что я должен каждый дочерний
примитив блока повернуть на угол относительно точки вставки блока.

Есть возможность повернуть разом все коллекцию объектов?                                 
Название: Re: Расчленение повернутого объекта BlockReference
Отправлено: Александр Ривилис от 23-02-2017, 14:38:23
то получу набор id элементов.
Нет. Ты получишь не id объектов, а сами объекты.
Если я буду добавлять эту коллекцию элементов, в модель,
то скорее будет так, что элементы вставятся без учета угла поворота.
Должны быть с учетом поворота.
Есть возможность повернуть разом все коллекцию объектов?     
Если это и понадобится, то для всех элементов коллекции выполнишь метод TransformBy с матрицей поворота.
Вообще-то если тебе нужен аналог команды _EXPLODE для вставки блока, то посмотри в сторону BlockReference.ExplodeToOwnerSpace
Название: Re: Расчленение повернутого объекта BlockReference
Отправлено: Алексей (IdeaSoft) от 23-02-2017, 14:59:56
Ясно!
Спасибо.