Тормоза при обработке динамических блоков

Автор Тема: Тормоза при обработке динамических блоков  (Прочитано 7050 раз)

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

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

  • ADN OPEN
  • **
  • Сообщений: 62
  • Карма: 3
  • Skype: ant_nkh
На поле чертежа есть много динамических блоков (больше 100) с 15 динамическими параметрами каждый.
При выполнении цикла по каждому блоку по изменению каждого параметра
Код - Visual Basic [Выбрать]
  1. dps = dblk.GetDynamicBlockProperties
  2. ...
  3. Set dynblprop = dps(j)
  4. dynblprop.Value = xx
начинает расти время на обработку.
Растет время выполнения выражения
Код - Visual Basic [Выбрать]
  1. dynblprop.Value = xx

Первые 50 блоков выполняются за 2мин, 100 за 7, 150 за 15, 200 за 27 и т.д.
Т.е. рост времени по экспоненте.
Есть ли какие-либо варианты?

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Т.е. рост времени по экспоненте.
И по экспоненте растет количество блоков (Block - описаний блоков). Так что этого и следовало ожидать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • **
  • Сообщений: 62
  • Карма: 3
  • Skype: ant_nkh
Описание блока одно. Растет количество BlockReference.
Просто на одну и ту же операцию (изменение динамических параметров текущего вхождения блока),
в начале, когда их мало, тратится доли секунды, а потом доходит до минут (на один BlockReference).
Похоже у Autocad при работе с динамическими блоками что-то переполняется и начинаются тормоза.

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Описание блока одно.
Это тебе кажется. Изменение какого-либо из динамических параметров динамического блока приводит к созданию нового (анонимного) описания блока.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Можешь проверить при помощи ARXDBG или MGDDBG: https://adn-cis.org/forum/index.php?topic=7274.0
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • **
  • Сообщений: 62
  • Карма: 3
  • Skype: ant_nkh
Спасибо, я так и думал, что не получиться ускорить.