Не выбирается блок

Автор Тема: Не выбирается блок  (Прочитано 5140 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн i00liiАвтор темы

  • ADN OPEN
  • Сообщений: 2
  • Карма: 0
Не выбирается блок
« : 19-03-2015, 17:27:47 »
Добрый день! К сожалению, в данный момент нет возможности выложить исходные файлы для полного описания проблемы, поэтому постараюсь как можно более подробно здесь ее описать.
 
Я делаю свою маленькую программку для AutoCAD, используя AutoCAD .NET Api из C#. Столкнулся с совершенно непонятной мне штукой.

Есть динамический блок по имени "i00lii_point", состоящий из точки, атрибута и точечного параметра за который этот атрибут можно перемещать. Все это прекрасно работает.

Возникла необходимость из кода запрашивать у пользователя вхождения таких блоков.

Я делаю это так:
Код - C# [Выбрать]
  1. TypedValue[] filter = new TypedValue[] { new TypedValue((int)DxfCode.BlockName, "i00lii_point") };
  2.             PromptSelectionResult result = _aDocumentEditor.GetSelection(new SelectionFilter(filter));

Тут все тоже прекрасно работает до того момента, как только я пытаюсь выбрать блок с перемещенным параметром.
Данный код, хоть убей, не дает мне выделить нужный мне блок. А самое ужасное, что я понятия не имею, почему.




На картинке у P2 не смещен параметр, у P1 параметр смещен.

Спасибо за внимание.
« Последнее редактирование: 19-03-2015, 22:32:30 от i00lii »

Отмечено как Решение i00lii 19-03-2015, 22:30:40

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Не выбирается блок
« Ответ #1 : 19-03-2015, 18:40:08 »
i00lii
Приветствую на форуме! Сразу несколько поучений.
1. В большинстве случаев нужен сам dwg-файл (в данном случае обойдемся)
2. Код следует форматировать. Читай мою подпись.
Теперь по существу. У тебя динамический блок. Поэтому при изменении вхождения (BlockReference) этого блока меняется его имя - он становится анонимным.
При помощи фильтра ты не можешь получить все вхождения этого блока. Почитай: http://adn-cis.org/kak-najti-vse-vstavki-dinamicheskogo-bloka.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн i00liiАвтор темы

  • ADN OPEN
  • Сообщений: 2
  • Карма: 0
Re: Не выбирается блок
« Ответ #2 : 19-03-2015, 22:55:22 »
Спасибо за ответ.

Если вдруг у кого-то возникнет похожая проблема, то вот статья  с вариантом ее решения.