Отключить регенерацию модели

Автор Тема: Отключить регенерацию модели  (Прочитано 625 раз)

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

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

  • ADN OPEN
  • Сообщений: 2
  • Карма: 0
  • Skype: pandora2023
Добрый день
Есть проблема в долгой работе Revit около 1-1.5 час.
Большая модель (на пример 19 этажный дом), плагин заполняет параметры экземпляров семейств, эта операция занимает около 35-45 минут во время заполнения параметров много раз проходит регенерация модели и это отнимает еще столько же времени. Есть возможность отключить регенерацию и делать ее один раз после завершения записи параметров?

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1084
  • Карма: 319
  • Skype: alexandr.ignatovich.itc
Re: Отключить регенерацию модели
« Ответ #1 : 07-07-2021, 14:02:42 »
и это отнимает еще столько же времени

В рамках одной транзакции повторная регенерация не занимает дополнительного времени.
Код - C# [Выбрать]
  1. transaction.Commit();
и
Код - C# [Выбрать]
  1. document.Regenerate();
  2. transaction.Commit();

будут выполняться примерно одинаковое время.

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

  • ADN OPEN
  • Сообщений: 2
  • Карма: 0
  • Skype: pandora2023
Re: Отключить регенерацию модели
« Ответ #2 : 07-07-2021, 14:24:09 »
я не совсем понял ответ.
в транзакцию добавить принудительную регенерацию?
document.Regenerate();

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1084
  • Карма: 319
  • Skype: alexandr.ignatovich.itc
Re: Отключить регенерацию модели
« Ответ #3 : 07-07-2021, 14:39:17 »
Нет, я говорил только о том, что механизм регенерации достаточно умный и при повторном вызове не обрабатывает уже обновленные данные.

По сути вопроса сказать сложно, не имея кода и модели. Возможно, поможет разбиение одной транзакции на несколько или объединение нескольких в одну. Опять же, зная, что именно меняет в модели код, можно попробовать придумать более оптимальный путь.