Интеграция с CAD-системами . Постановка задачи
По многочисленным пожеланиям наших клиентов, которые используют разнообразные
Расширение должно обеспечивать:
- поддержку нескольких
CAD-систем (Autodesk Inventor, SOLIDWORKS, КОМПАС-3D) с возможностью расширения этого списка как разработчиками, так и самими пользователями; - единый легко расширяемый интерфейс для всех CAD-систем;
- выгрузку документов TechnologiCS, входящих в состав
3D-модели , по правилам TechnologiCS; - заимствование
3D-моделей из архива TechnologiCS в разрабатываемую 3D-модель; - автоматизированный процесс публикации состава
3D-модели в архиве TechnologiCS с созданием соответствующих связей (входимости/применяемости).
Описание модели хранения данных
Работа с файлами
Попробуем разобраться, в чем эти правила заключаются.
Первое: работа со сборкой, чертежом и даже, возможно, деталью
Из примера наглядно видно, что для открытия
Возникает вопрос, как хранить файлы
- невозможно заблокировать только некоторые файлы;
- нельзя заимствовать конкретный файл в другую
3D-модель .
Из этого следует, что один документ TechnologiCS должен содержать в своем файловом составе один файл CAD-системы. Пример документов и их файловый состав в архиве TechnologiCS приведен в таблице 1.
|
Документ/ наименование |
Документ/ вид |
Файловый состав |
|---|---|---|
| СБ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 |
Второе: чтобы повторить структуру связей файлов, входящих в состав
| Номер позиции |
Файл |
Документ/ наименование |
Документ/ вид |
Вид связи |
Применяемость/ наименование |
|---|---|---|---|---|---|
| 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 |
Третье: следует отметить, что если при выгрузке на просмотр или редактирование каждого отдельного документа использовать стандартные команды Просмотр или Редактирование, файловый состав будет помещаться в свою уникальную папку. Это приведет к тому, что при открытии
Для одновременной выгрузки всех документов, входящих
Режим позволяет выгружать набор связанных документов в контексте одного (головного) документа. Файловый состав всех выгруженных документов попадет в папку выгрузки головного документа, а это в свою очередь позволит открыть
Из сказанного следует, что совпадение имен файлов в связанных документах недопустимо.
Интеграция с CAD-системами: способ реализации
Исходя из поставленных задач и особенностей работы с файлами
Такой способ реализации позволяет оптимизировать или доработать скриптовые модули под требования пользователя, тем самым давая возможность в простом и понятном виде открывать на редактирование из среды TechnologiCS сложные
Более того, в TechnologiCS 6 появилась возможность выполнять пользовательские функции в команде над типом файла (рис. 3). Это позволяет реализовать управление процессом загрузки/выгрузки документа и проводить пред- и постобработку измененных документов в требуемом виде.
Выгрузка документов 3D-модели из архива TechnologiCS
Для выгрузки документов (головного и всех входящих в него с видом связи «3D-модель») необходимо выполнить команду Редактировать с вложениями применительно к головному документу (рис. 4). Скриптовый модуль запустится, минуя стандартную процедуру выгрузки.
В появившемся окне пользователь может выбрать документы, файловый состав которых требуется выгрузить, и, соответственно, те документы, которые необходимо заблокировать (рис. 5). Файловый состав заблокированных документов в дальнейшем можно будет обновить.
Все файлы выгруженных документов попадают в папку выгрузки головного документа. Далее автоматически запускается соответствующая
Заимствование документов в 3D-модель
Часто бывает, что в процессе разработки
Для этого, используя базовый функционал команды Операции со связанными документами (рис. 6), следует добавить необходимые документы
Файловый состав добавленных документов попадет в папку выгрузки головного документа. Теперь эти файлы можно использовать в разрабатываемой
Создание/обновление документов на основе файлов 3D-модели
Для обновления файлового состава заблокированных документов, а также формирования новых документов TechnologiCS на основе созданных компонентов (файлов CAD-системы), входящих в состав разрабатываемой
В появившемся окне (рис. 9) отображаются:
- в левой части — структура
3D-модели в виде привычного дерева; папка, отображающая список измененных документов TechnologiCS, и папка с неопознанными файлами; - в правой части — список, состоящий из головного документа и входящих в него выгруженных документов.
Остановимся подробнее на дереве файлов
Для создания документов необходимо выбрать из контекстного меню команду Создать вложенные документы/связи. После этого форма будет разделена на три части (рис. 10):
- левая часть остается без изменений;
- в правой верхней части отображается список файлов, на основе которых будут созданы новые документы. Если документ уже существует, устанавливается связь;
- в правой нижней части выводится список применяемости текущего файла: в какие именно файлы
3D-модели данный файл входит.
На основе этого списка будут установлены связи между документами.
Для создания документов/связей используется соответствующая кнопка Создать документы/связи. При ее нажатии появляется стандартная форма создания документа (рис. 11).
Используя настройки видов документов, можно свести к минимуму рутинные операции по заполнению полей. При этом скриптовый модуль настроен так, чтобы поле Наименование автоматически заполнялось в соответствии с именем файла.
Заключение
Хотелось бы отметить, что представленное расширение является базой для дальнейшей разработки и развития интеграции
Расширение поставляется на дистрибутивном диске TechnologiCS, содержит инструкцию по настройке и эксплуатации.
В перспективе планируется реализация следующих функций:
- интеграция с другими CAD-системами;
- разработка автоматизированного процесса создания состава изделия (спецификация) на основе состава 3D-модели;
- передача конструкторских свойств
3D-модели в TechnologiCS и обратно.