Ошибка при изменении параметров динамического блока

Автор Тема: Ошибка при изменении параметров динамического блока  (Прочитано 5790 раз)

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

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

  • ADN OPEN
  • Сообщений: 12
  • Карма: 0
Добрый день, любители и профессионалы в программировании для AutoCAD! У меня возникла такая проблема с работой программы, которая приведена в спойлере: когда я создаю или вставляю динамические блоки и не меняю их параметры (WIDTH & HEIGHT), тогда программа работает нормально. Но если изменить параметры у какого-нибудь экземпляра блока, тогда уже при выполнении программы именно эти экземпляры блоков не выбираются (((. Не нашёл причин в чем может быть дело. Решил создать новую тему. Подскажите пожалуйста хотя бы путь дальнейших рассуждений (решение будет пределом моих мечтаний  ;D).
Извините, вам запрещён просмотр содержимого спойлеров.

Отмечено как Решение Gurikin 19-06-2016, 19:29:15

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Но если изменить параметры у какого-нибудь экземпляра блока, тогда уже при выполнении программы именно эти экземпляры блоков не выбираются (((
Вы используете фильтр с кодом 2 - название блока (строка 81). Но у динамического блока, если динамические свойства изменялись, под этим кодом название такого вида: "*U123". Поэтому и не выбирает.
И еще, tr.Abort - очень плохое решение, лучше без него.

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

  • ADN OPEN
  • Сообщений: 12
  • Карма: 0
Спасибо большое за информацию. Очень помогли.  :) Для справки тогда хотел бы узнать, есть ли возможность выбрать на данном слое именно блоки с данным именем (может быть какой-нибудь другой код DXF использовать). Ведь в AutoCAD отображается в свойствах имя правильное "ВЭ-модель".

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Я бы вообще отказался от использования метода SelectAll с фильтром. Можно перебрать все объекты базы данных чертежа программно и определить нужные блоки.
Если же использовать SelectAll, то нужного кода для фильтра нет. Можно выбрать все блоки чертежа, а потом уже самостоятельно отсортировать только те, у которых нужное название.

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

  • ADN OPEN
  • Сообщений: 12
  • Карма: 0
Спасибо огромное за помощь.