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

23/09/2013

Создание больших сборок средствами Inventor API. Общие рекомендации.

В данной статье собраны некоторые рекомендации общего характера, которые могут оказаться полезными при генерации сборок большой размерности средствами Inventor API.  Вопросы настройки компьютерного «железа» не затрагиваются.

  1. Разрабатывайте свои программы в виде надстроек AddIn, работающих с Inventor в одном процессе (in-process).  Исполняемые EXE приложения (out-of-process)  и Inventor работают в разных процессах, что порождает очень существенные затраты на межпроцессный обмен данными и неизбежно приводит к серьезному замедлению работы вашего приложения. 
  2. Генерация сборок быстрее выполняется, если документ сборки открыт в невидимом режиме.
  3. Подавляйте видимость элементов рабочей геометрии.
  4. Использование деталей подстановки в качестве замены сборкам позволяет сэкономить ресурсы (прежде всего, память).  Пример:  если мы открываем сборку с сотней уникальных компонентов, в память загружаются 101 документ (сборка и сто файлов деталей).  После замены этой сборки деталью подстановки в памяти остаются загруженными лишь два документа – документ сборки и документ детали подстановки.  Документ сборки дает доступ к BOM и всем иным представлениям этой сборки.
  5. Инвентор при создании новой сборочной зависимости перепроверяет и все предыдущие.  На этом можно сэкономить некоторый ресурс, поэтому в ряде случаев разумна следующая схема. Если сборочные зависимости используются только для статичного позиционирования компонента, удалите эти зависимости после их применения (заменив на Ground).  .
  6. Если сборочные зависимости удалять нельзя, то стоит рассмотреть перегруппировку компонентов в подсборки.  Это существенно сокращает максимальную длину перевычисляемых цепочек сборочных зависимостей.
  7. Везде, где это возможно, выявляйте уникальные и повторяющиеся подсборки.  Очевидно, что тиражирование (повторное использование)  уже имеющейся подсборки эффективнее ее повторной генерации.
  8. Если генерируете большую сборку со многими подсборками, сохраняйте, закрывайте и заново открывайте подсборки.  Это уменьшает проблемы при сохранении большой сборки за один прием.  Нередко наблюдалось, что время сохранения большой сборки оказывалось больше, чем длительность ее генерации.  Если создаваемая подсборка по какой-то причине должна оставаться видимой, перед сохранением уменьшите ее на экране до самого мелкого размера, когда она заливается одним цветом, и текстуры уже не играют никакой роли.
  9. При разработке конфигуратора входные данные нередко поступают из базы данных или таблиц Excel.  В таких случаях рекомендуется на старте загрузить все данные из этих внешних источников в свои переменные.  Это избавит от накладных расходов на повторные подключения к внешним источникам данных.
  10. Размер доступной свободной памяти всегда критичен при генерации больших сборок. Поэтому рекомендуется удалять не требующиеся более объекты, присваивая им значения Null или Nothing..
  11. Если стоит задача создания двумерных IDW чертежей большой сборки, попробуйте следующий сценарий.  Закройте сборку, откройте ее в невидимом режиме и после этого запускайте процесс генерации чертежных видов. 

Источник: http://adndevblog.typepad.com/manufacturing/2013/07/tips-for-creating-large-assemblies-using-inventor-api.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=224

Опубликовано 23.09.2013
Отредактировано 23.09.2013 в 15:15:30