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

ADN Club => AutoCAD .NET API => Тема начата: Olchik от 18-04-2016, 01:39:24

Название: Поиск ручек в блоке
Отправлено: Olchik от 18-04-2016, 01:39:24
Добрый день, подскажите пожалуйста, как в динамическом блоке на чертеже найти список всех ручек и их текущее значение? Нашла у объекта BlockReference метод GetGripPoints(), но не могу уловить как с его помощью получить список ручек. Или может надо взрывать блок и там искать?? Подскажите как действовать.
Название: Re: Поиск ручек в блоке
Отправлено: Olchik от 18-04-2016, 01:58:39
Частично разобралась, ручки получила:
Код - C# [Выбрать]
  1. var grips = new GripDataCollection();
  2. GripDataCollection updateGrip = new GripDataCollection();
  3. double curViewUnitSize = 0;
  4. int gripSize = 0;
  5. Vector3d curViewDir = acEditor.GetCurrentView().ViewDirection;
  6. GetGripPointsFlags bitFlags = GetGripPointsFlags.GripPointsOnly;
  7.  
  8. blockReference.GetGripPoints(grips, curViewUnitSize, gripSize, curViewDir, bitFlags);
  9.  
  10. foreach (var item in grips)
  11. {
  12. }
  13.  

Но похоже отсюда не вытащить ни название, ни значения, которые задал пользователь в готовом блоке, только координата начальной точки размещения ручки, если правильно поняла. Или я ошибаюсь и все таки как-то можно вытащить параметры ручки?
Название: Re: Поиск ручек в блоке
Отправлено: Дима_ от 18-04-2016, 02:58:55
Не туда роете - см. св-ва IsDynamicBlock и DynamicBlockReferencePropertyCollection, ну еще на всякий случай - чтоб определить имя блока понадобится - DynamicBlockTableRecord.
Название: Re: Поиск ручек в блоке
Отправлено: Александр Ривилис от 18-04-2016, 13:08:11
Как получить доступ и изменить свойства динамического блока в ARX и .NET (http://adn-cis.org/kak-poluchit-dostup-i-izmenit-svojstva-dinamicheskogo-bloka-v-arx-i-.net.html)
Название: Re: Поиск ручек в блоке
Отправлено: Olchik от 18-04-2016, 22:58:33
Благодарю  :)