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

ADN Club => AutoCAD .NET API => Тема начата: Gurikin от 19-06-2016, 18:48:53

Название: Ошибка при изменении параметров динамического блока
Отправлено: Gurikin от 19-06-2016, 18:48:53
Добрый день, любители и профессионалы в программировании для AutoCAD! У меня возникла такая проблема с работой программы, которая приведена в спойлере: когда я создаю или вставляю динамические блоки и не меняю их параметры (WIDTH & HEIGHT), тогда программа работает нормально. Но если изменить параметры у какого-нибудь экземпляра блока, тогда уже при выполнении программы именно эти экземпляры блоков не выбираются (((. Не нашёл причин в чем может быть дело. Решил создать новую тему. Подскажите пожалуйста хотя бы путь дальнейших рассуждений (решение будет пределом моих мечтаний  ;D).
Извините, вам запрещён просмотр содержимого спойлеров.
Название: Re: Ошибка при изменении параметров динамического блока
Отправлено: Дмитрий Загорулькин от 19-06-2016, 19:01:24
Но если изменить параметры у какого-нибудь экземпляра блока, тогда уже при выполнении программы именно эти экземпляры блоков не выбираются (((
Вы используете фильтр с кодом 2 - название блока (строка 81). Но у динамического блока, если динамические свойства изменялись, под этим кодом название такого вида: "*U123". Поэтому и не выбирает.
И еще, tr.Abort - очень плохое решение, лучше без него.
Название: Re: Ошибка при изменении параметров динамического блока
Отправлено: Gurikin от 19-06-2016, 19:21:38
Спасибо большое за информацию. Очень помогли.  :) Для справки тогда хотел бы узнать, есть ли возможность выбрать на данном слое именно блоки с данным именем (может быть какой-нибудь другой код DXF использовать). Ведь в AutoCAD отображается в свойствах имя правильное "ВЭ-модель".
Название: Re: Ошибка при изменении параметров динамического блока
Отправлено: Дмитрий Загорулькин от 19-06-2016, 19:29:06
Я бы вообще отказался от использования метода SelectAll с фильтром. Можно перебрать все объекты базы данных чертежа программно и определить нужные блоки.
Если же использовать SelectAll, то нужного кода для фильтра нет. Можно выбрать все блоки чертежа, а потом уже самостоятельно отсортировать только те, у которых нужное название.
Название: Re: Ошибка при изменении параметров динамического блока
Отправлено: Gurikin от 19-06-2016, 19:30:22
Спасибо огромное за помощь.