Интеграция с 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-модели и структура связей файлов, входящих в ее состав.

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

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

Возникает вопрос, как хранить файлы 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.

Номер позиции Файл
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). Файловый состав заблокированных документов в дальнейшем можно будет обновить.

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

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

Заимствование документов в 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-модели в виде привычного дерева; папка, отображающая список измененных документов TechnologiCS, и папка с неопознанными файлами;
  • в правой части — список, состоящий из головного документа и входящих в него выгруженных документов.

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

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

Рис. 10. Интерфейс модуля обновления документа 3D-модели (после выполнения команды Создать вложенные документы/связи) Рис. 10. Интерфейс модуля обновления документа 3D-модели (после выполнения команды Создать вложенные документы/связи)
  • левая часть остается без изменений;
  • в правой верхней части отображается список файлов, на основе которых будут созданы новые документы. Если документ уже существует, устанавливается связь;
  • в правой нижней части выводится список применяемости текущего файла: в какие именно файлы 3D-модели данный файл входит.

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

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

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

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

Заключение

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

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

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

  • интеграция с другими CAD-системами;
  • разработка автоматизированного процесса создания состава изделия (спецификация) на основе состава 3D-модели;
  • передача конструкторских свойств 3D-модели в TechnologiCS и обратно.
Алексей Бачурин
CSoft Development Новосибирск
Тел.: (383) 346−0633
E-mail: a.bachurin@nsk.csoft.ru