9 - 2011

Открытая интеграция TechnologiCS 6 с CAD-системами

Алексей Бачурин

Интеграция с CAD­системами: постановка задачи

По многочисленным пожеланиям наших клиентов, которые используют разнообразные CAD­системы трехмерного моделирования и хотели бы получить простой, удобный и легко расширяемый инструмент для работы с 3D­моделями в среде TechnologiCS, решено разработать расширение «Интеграция TechnologiCS с CAD­системами».

Расширение должно обеспечивать:

  • поддержку нескольких CAD­систем (Autodesk Inventor, SolidWorks, КОМПАС­3D) с возможностью расширения этого списка как разработчиками, так и самими пользователями;
  • единый легко расширяемый интерфейс для всех CAD­систем;
  • выгрузку документов TechnologiCS, входящих в состав 3D­модели, по правилам TechnologiCS;
  • заимствование 3D­моделей из архива TechnologiCS в разрабатываемую 3D­модель;
  • автоматизированный процесс публикации состава 3D­модели в архиве TechnologiCS с созданием соответствующих связей (входимости/применяемости).

Описание модели хранения данных

Работа с файлами 3D­модели в среде TechnologiCS предполагает следование определенным правилам создания, связывания и выгрузки документов из архива TechnologiCS.

Попробуем разобраться, в чем эти правила заключаются.

Первое: работа со сборкой, чертежом и даже, возможно, с деталью в CAD­системе подразумевает, что это работа одновременно с несколькими файлами, связанными между собой. На рис. 1 приведены пример 3D­модели и структура связей файлов, входящих в ее состав.

Из примера наглядно видно, что для открытия в CAD­системе сборки «СБ0» требуется наличие всех файлов, входящих в ее состав (полная входимость). То же самое можно сказать и о чертеже, который нужно открыть в CAD­системе для редактирования.

Рис. 1. 3D-модель сборки и структура файлов

Рис. 1. 3D-модель сборки и структура файлов

Закономерен вопрос: как хранить файлы 3D­модели в архиве TechnologiCS? Если собрать все их в одном документе, возникнет ряд сложностей:

  • невозможно заблокировать только некоторые файлы;
  • нельзя заимствовать конкретный файл в другую 3D­модель.

Из этого следует, что один документ TechnologiCS должен содержать в своем файловом составе один файл CAD­системы. Пример документов и их файловый состав в архиве TechnologiCS приведены в табл. 1.

Таблица 1. Документы 3D-модели сборки и их файловый состав в архиве TechnologiCS

Документ/
наименование

Документ/
вид

Файловый состав

СБ0

3D­модель

  СБ0.iam; *Structure.bmp

СБ1

3D­модель

  СБ1.iam

СБ3

3D­модель

  СБ3.iam

ДЕ3­1

3D­модель

  ДЕ3­1.ipt

ДЕ4­2

3D­модель

  ДЕ4­2.ipt; *ДЕ4­2.xls

ДЕ3­2

3D­модель

  ДЕ3­2.ipt

ДЕ2000

3D­модель

  ДЕ2000.ipt

ДЕ1­1

3D­модель

  ДЕ1­1.ipt

ДЕ1­2

3D­модель

  ДЕ1­2.ipt

СБ2

3D­модель

  СБ2.iam

СБ4

3D­модель

  СБ4.iam

ДЕ4­1

3D­модель

  ДЕ4­1.ipt

Второе: чтобы повторить структуру связей файлов, входящих в состав 3D­модели, необходимо установить связи между соответствующими документами в архиве TechnologiCS. После этого мы сможем легко и быстро определять, какой список документов необходимо выгрузить для открытия 3D­модели. Пример того, как должны быть установлены такие связи, показан в табл. 2.

Таблица 2. Связи между документами в архиве TechnologiCS

Номер позиции

Файл
CAD­системы

Документ/ наименование

Документ/
вид

Вид связи

Применяемость/
наименование

1.

  СБ0.iam

СБ0

3D­модель

3D­модель

СБ0

1.1.

  СБ1.iam

СБ1

3D­модель

3D­модель

СБ0

1.1.1.

  ДЕ1­1.ipt

ДЕ1­1

3D­модель

3D­модель

СБ1

1.1.2.

  ДЕ1­2.ipt

ДЕ1­2

3D­модель

3D­модель

СБ1

1.1.2.1.

  ДЕ4­2.ipt

ДЕ4­2

3D­модель

3D­модель

ДЕ1­2

1.1.3.

  СБ3.iam

СБ3

3D­модель

3D­модель

СБ1

1.1.3.1.

  ДЕ3­1.ipt

ДЕ3­1

3D­модель

3D­модель

СБ3

1.1.3.1.1.

  ДЕ4­2.ipt

ДЕ4­2

3D­модель

3D­модель

ДЕ3­1

1.1.3.2.

  ДЕ3­2.ipt

ДЕ3­2

3D­модель

3D­модель

СБ3

1.1.3.2.1.

  ДЕ2000.ipt

ДЕ2000

3D­модель

3D­модель

ДЕ3­2

1.2.

  СБ2.iam

СБ2

3D­модель

3D­модель

СБ0

1.2.1.

  ДЕ1­2.ipt

ДЕ1­2

3D­модель

3D­модель

СБ2

1.2.1.1.

  ДЕ4­2.ipt

ДЕ4­2

3D­модель

3D­модель

ДЕ1­2

1.2.2.

  СБ3.iam

СБ3

3D­модель

3D­модель

СБ2

1.2.2.1.

  ДЕ3­1.ipt

ДЕ3­1

3D­модель

3D­модель

СБ3

1.2.2.1.1.

  ДЕ4­2.ipt

ДЕ4­2

3D­модель

3D­модель

ДЕ3­1

1.2.2.2.

  ДЕ3­2.ipt

ДЕ3­2

3D­модель

3D­модель

СБ3

1.2.2.2.1.

  ДЕ2000.ipt

ДЕ2000

3D­модель

3D­модель

ДЕ3­2

1.2.3.

  СБ4.iam

СБ4

3D­модель

3D­модель

СБ2

1.2.3.1.

  ДЕ4­1.ipt

ДЕ4­1

3D­модель

3D­модель

СБ4

1.2.3.1.1.

  ДЕ2000.ipt

ДЕ2000

3D­модель

3D­модель

ДЕ4­1

1.2.3.2.

  ДЕ4­2.ipt

ДЕ4­2

3D­модель

3D­модель

СБ4

Третье: следует отметить, что если при выгрузке на просмотр или редактирование каждого отдельного документа использовать стандартные команды Просмотр или Редактирование, файловый состав будет помещаться в свою уникальную папку. Это приведет к тому, что при открытии 3D­модели CAD­система не найдет нужных файлов и попросит указать к ним путь. Такой способ открытия становится слишком медленным и сложным.

Для одновременной выгрузки всех документов, входящих в 3D­модель, целесообразно использовать режим Связанные документы (полная входимость) в архиве TechnologiCS (рис. 2).

Рис. 2. Режим Связанные документы (полная входимость)

Рис. 2. Режим Связанные документы (полная входимость)

Режим позволяет выгружать набор связанных документов в контексте одного (головного) документа. Файловый состав всех выгруженных документов попадет в папку выгрузки головного документа, а это, в свою очередь, позволит открыть 3D­модель в CAD­системе без дополнительного указания пути к каждому отдельному файлу.

Из сказанного следует, что совпадение имен файлов в связанных документах недопустимо.

Интеграция с CAD­системами: способ реализации

Исходя из поставленных задач и особенностей работы с файлами 3D­модели, расширение решено разработать в виде набора скриптовых модулей TechnologiCS, которые дополняли бы возможности нового режима Связанные документы (полная входимость) и позволяли удобно работать с файлами трехмерных моделей.

Такой способ реализации позволяет оптимизировать или доработать скриптовые модули под требования пользователя, тем самым давая возможность в простом и понятном виде открывать на редактирование из среды TechnologiCS сложные 3D­модели, а также создавать новые документы на основе файлов в соответствии с составом 3D­модели.

Более того, в TechnologiCS 6 появилась возможность выполнять пользовательские функции в команде над типом файла (рис. 3). Это позволяет реализовать управление процессом загрузки/выгрузки документа и проводить пред­ и постобработку измененных документов в требуемом виде.

Рис. 3. Настройки команды над типом файла

Рис. 3. Настройки команды над типом файла

Выгрузка документов 3D­модели из архива TechnologiCS

Для выгрузки документов (головного и всех входящих в него с видом связи «3D­модель») необходимо выполнить команду Редактировать с вложениями применительно к головному документу (рис. 4). Скриптовый модуль запустится, минуя стандартную процедуру выгрузки.

Рис. 4. Запуск команды Редактировать с вложениями

Рис. 4. Запуск команды Редактировать с вложениями

В появившемся окне пользователь может выбрать документы, файловый состав которых требуется выгрузить, и те документы, которые необходимо заблокировать (рис. 5). Файловый состав заблокированных документов в дальнейшем можно будет обновить.

Все файлы выгруженных документов попадают в папку выгрузки головного документа. Далее автоматически запускается соответствующая CAD­система и открываются выгруженные файлы 3D­модели.

Рис. 5. Выбор документов для выгрузки и блокирования

Рис. 5. Выбор документов для выгрузки и блокирования

Заимствование документов в 3D­модель

Часто бывает, что в процессе разработки 3D­модели возникает необходимость заимствовать другую, уже разработанную и опубликованную в архиве TechnologiCS 3D­модель или ее компонент (один или несколько документов).

Для этого, используя базовый функционал команды Операции со связанными документами (рис. 6), следует добавить необходимые документы 3D­моделей в список связанных документов (рис. 7).

Рис. 6. Запуск стандартной команды Операции со связанными документами

Рис. 6. Запуск стандартной команды Операции со связанными документами

Рис. 7. Добавление документа из архива TechnologiCS в состав документов 3D-модели

Рис. 7. Добавление документа из архива TechnologiCS в состав документов 3D-модели

Файловый состав добавленных документов попадет в папку выгрузки головного документа. Теперь эти файлы можно использовать в разрабатываемой 3D­модели.

Создание/обновление документов на основе файлов 3D­модели

Для обновления файлового состава заблокированных документов, а также формирования новых документов TechnologiCS на основе созданных компонентов (файлов CAD­системы), входящих в состав разрабатываемой 3D­модели, необходимо выполнить над головным документом команду Обновить документ (рис. 8). В результате, минуя стандартную процедуру обновления документа, запустится скриптовый модуль.

Рис. 8. Запуск стандартной команды Обновить документ

Рис. 8. Запуск стандартной команды Обновить документ

Рис. 9. Интерфейс модуля обновления документа 3D-модели

Рис. 9. Интерфейс модуля обновления документа 3D-модели

Рис. 10. Интерфейс модуля обновления документа 3D-модели

Рис. 10. Интерфейс модуля обновления документа 3D-модели (после выполнения команды Создать вложенные документы/связи)

В появившемся окне (рис. 9) отображаются:

  • в левой части — структура 3D­модели в виде привычного дерева; папка, отображающая список измененных документов TechnologiCS, и папка с неопознанными файлами;
  • в правой части — список, состоящий из головного документа и входящих в него выгруженных документов.

Остановимся подробнее на дереве файлов 3D­модели. Это дерево строится на основе связей (входимостей), прочитанных через API CAD­системы, что дает возможность автоматически устанавливать связи между создаваемыми документами на основе файлов 3D­модели.

Для создания документов необходимо выбрать из контекстного меню команду Создать вложенные документы/связи. После этого форма будет разделена на три части (рис. 10):

  • левая часть остается без изменений;
  • в правой верхней части отображается список файлов, на основе которых будут созданы новые документы. Если документ уже существует, устанавливается связь;
  • в правой нижней части выводится список применяемости текущего файла: в какие именно файлы 3D­модели данный файл входит.

На основе этого списка будут установлены связи между документами.

Для создания документов/связей используется соответствующая кнопка Создать документы/связи. При ее нажатии появляется стандартная форма создания документа (рис. 11).

Рис. 11. Стандартная форма создания документа в архиве TechnologiCS

Рис. 11. Стандартная форма создания документа в архиве TechnologiCS

Используя настройки видов документов, можно свести к минимуму рутинные операции по заполнению полей. При этом скриптовый модуль настроен так, чтобы поле Наименование автоматически заполнялось в соответствии с именем файла.

Таким образом последовательно, один за другим создаются новые документы или устанавливаются связи для существующих. Как результат, в архиве TechnologiCS будут созданы выбранные документы, в файловом составе будут содержаться соответствующие файлы 3D­модели, а связи между документами будут установлены в соответствии со структурой 3D­модели (рис. 12).

Рис. 12. Документы, созданные на основе файлов 3D-модели

Рис. 12. Документы, созданные на основе файлов 3D-модели

Заключение

Хотелось бы отметить, что представленное расширение является базой для дальнейшей разработки и развития интеграции с CAD­системами. Очень важно, что всё это пользователи могут осуществлять самостоятельно, не прибегая к услугам разработчика.

Расширение поставляется на дистрибутивном диске TechnologiCS, содержит инструкцию по настройке и эксплуатации.

В перспективе планируется реализация следующих функций:

  • интеграция с другими CAD­системами;
  • разработка автоматизированного процесса создания состава изделия (спецификация) на основе состава 3D­модели;
  • передача конструкторских свойств 3D­модели в TechnologiCS и обратно. 

САПР и графика 9`2011