Рекламодатель: АО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557

Рекламодатель:
ООО «С3Д Лабс»

ИНН 7715938849 ОГРН 1127747049209

9 - 2023

Невозможное — возможно!

Дмитрий Керницкий, ведущий разработчик ИНТЕРМЕХ
Дмитрий Керницкий, ведущий разработчик ИНТЕРМЕХ

Каждое время ставит перед разработчиками свои актуальные задачи, особенно теперь, во время перехода отечественных предприятий с импортных CAD­систем на российские САПР. Одна из таких важных задач — как полноценно использовать модели деталей и сборок, а также чертежи, разработанные ранее в импортных CAD­системах? Количество таких моделей огромно, ведь нарабатывались они в течение десятков лет и содержат в себе большое количество знаний и нюансов проектирования.

Понимая важность этой проблемы, компания ИНТЕРМЕХ (используя преимущества технологического партнерства с компанией АСКОН) разработала решение, позволяющее осуществлять конвертацию моделей и чертежей из иностранных CAD­систем в отечественную САПР КОМПАС­3D. О том, что может делать этот конвертер, какие задачи он решает и как с ними справляется, и пойдет речь в этой статье.

Варианты решения проблемы

Вначале давайте поговорим о том, есть ли какие­нибудь существующие решения, которые позволяют перенести свои разработки в российский САПР и продолжить проектирование в нем? В настоящее время в системе КОМПАС­3D есть встроенные конвертеры форматов файлов, которые позволяют сразу открывать родные файлы других CAD­систем. Но у этого решения очень много недостатков, основной из которых — это то, что в результате конструктор получает в КОМПАС просто твердотельную модель без истории построения. В этой модели отсутствует вспомогательная геометрия, не отображается резьба, в большинстве случаев не передаются свойства документа (Обозначение, Наименование, Материал и т.д.). В сборке отсутствуют связи (сопряжения) между компонентами, а геометрия операций в контексте сборки вообще никак не конвертируется. Если импортировать в КОМПАС деталь или сборку с исполнениями, то пользователь получает только геометрию активного исполнения. А если последовательно конвертировать все исполнения, то на выходе получится просто набор отдельных файлов КОМПАС, никак не связанных между собой. Листовые детали в процессе такой конвертации преобразуются просто в твердотельные с потерей информации о развертке. Ну а ассоциативные чертежи, созданные в других CAD­системах, вообще никак не открываются в КОМПАС­3D.

Рис. 1. Диалоговое окно IMCADConverter

Рис. 1. Диалоговое окно IMCADConverter

По большому счету, такой вариант конвертации возможен только при проектировании абсолютно новых изделий в КОМПАС с использованием некоторых импортированных из других CAD­систем узлов. А если стоит задача именно полноценно перенести все свои разработки в КОМПАС с возможностью их дальнейшего редактирования, то, по сути, нужно все создавать в КОМПАС заново. То есть воссоздать все дерево построения детали или сборки, а также перерисовать все чертежи. Понятно, что делать это вручную — неподъемная задача. И специалисты компании ИНТЕРМЕХ задумались о возможности создания такого автоматизированного инструмента, который сможет получить информацию о дереве построения модели в исходной иностранной CAD­системе, а затем воссоздать такую же модель в системе КОМПАС­3D.

Решение от компании ИНТЕРМЕХ

Изначально казалось, что задача создания такого конвертера выглядит очень сложной и разработка подобного решения труднореализуема. Но многолетний опыт компании ИНТЕРМЕХ по разработке приложений под различные CAD­системы сыграл нам на руку, и мы смогли в достаточно короткие сроки разработать такой продукт — IMCADConverter. В настоящее время это приложение позволяет осуществлять конвертацию деталей, сборок и чертежей из Autodesk Inventor в КОМПАС­3D с полной историей построения (рис. 1).

Приложение IMCADConverter состоит из трех модулей: модуль получения данных, который работает внутри исходной иностранной CAD­системы, модуль импорта, который работает в системе КОМПАС­3D, и диалоговый модуль взаимодействия с пользователем.

Опции конвертации

В основном окне приложения IMCADConverter есть различные опции, которые позволяют пользователю управлять процессом конвертации моделей. В первую очередь он может указать модель или чертеж для конвертации либо использовать тот документ, который сейчас активен в исходной CAD­системе. Есть возможность групповой обработки всех деталей, сборок и чертежей в указанной папке.

Для конвертации связанных между собой документов есть возможность включить опцию Обрабатывать зависимые документы. Если эта опция включена, то IMCADConverter будет рекурсивно обрабатывать все зависимые документы. При этом для сборки сначала будут конвертированы все ее компоненты (детали и подсборки), начиная с самого нижнего уровня. А для чертежа сначала будут сконвертированы все связанные с ним 3D­модели.

Также среди опций экспорта есть возможность сохранения промежуточного файла с данными об исходной модели. Этот файл можно использовать для анализа в случае возникновения каких­либо проблем конвертации, а также если получение данных из исходной CAD­системы и создание документов в КОМПАС­3D разорваны во времени или выполняются на разных компьютерах.

Вторая группа опций относится к процессу воссоздания документа в системе КОМПАС­3D. Пользователь может указать место создания сконвертированных документов КОМПАС: либо рядом с исходными файлами, либо в отдельной папке, если это необходимо.

Если опция Пропускать существующие документы включена, то в процессе работы IMCADConverter проверяет, существует ли уже такой файл КОМПАС, а если существует, то пропускает его. Это нужно, во­первых, потому, что какие­то модели могли быть сконвертированы ранее (например, часть подсборок большой сборки). Они уже проверены, с ними все хорошо, и нам не нужно заново их конвертировать и терять на этом время. Во­вторых, обратная ситуация: предположим, что конструктор конвертировал большую сборку, а несколько деталей из нее не получилось воссоздать в КОМПАС­3D по той или иной причине. Пользователь может предпринять какие­то действия, что­то поправить в исходной модели и заново запустить конвертацию. При этом будут сконвертированы только те документы, которых еще не было.

Таким образом, мы плавно подходим к пониманию, что не все 100% деталей и сборок можно автоматически воссоздать в КОМПАС. Понятно, что сами CAD­системы разные и есть различия в их функциональности и принципах проектирования. Не все операции или их особенности пользователь может построить напрямую в КОМПАС­3D, поэтому следующий набор опций как раз и отвечает за обработку ошибок в процессе конвертации. Что же делать, если по какой­то причине IMCADConverter не смог создать полноценную модель в КОМПАС­3D? Первый вариант — это включить опцию Использовать нейтральный формат. В таком случае эту модель мы можем экспортировать в КОМПАС через нейтральный формат STEP. Понятно, что при этом мы получим просто твердотельную модель без истории построения, но зато в вышестоящей сборке будет правильный состав, и мы будем видеть правильную геометрию компонента в сборке. Кроме того, для этого компонента будут созданы необходимые сопряжения и даже операции обработки в сборке, если они были. Вторым вариантом является просто создание пустых компонентов вообще без геометрии. В этом случае вышестоящая сборка будет иметь правильный состав с точки зрения спецификации, а пользователь в дальнейшем может создать геометрию этой детали вручную в КОМПАС­3D.

Конвертация деталей и сборок

Что же происходит непосредственно в процессе конвертации модели после нажатия на кнопку Конвертировать? IMCADConverter получает информацию об истории построения в исходной CAD­системе, преобразует эту информацию в специально разработанный нами нейтральный формат, а затем воссоздает такое же дерево построения в новом документе системы КОМПАС­3D. При этом конвертируются не только сами операции построения, но и вся внутренняя параметризация модели.

Основой большинства операций во всех CAD­системах являются эскизы. В процессе их конвертации IMCADConverter умеет создавать все типы примитивов (отрезки, окружности, дуги, эллипсы, сплайны), конвертирует все ограничения между ними (параллельность, перпендикулярность, касательность, симметричность и т.д.), а также обрабатывает все типы размеров между примитивами (линейные, диаметральные, угловые и т.д.). Реализована полноценная работа с математическими выражениями и формулами. Кроме того, поддерживается механизм проецирования внешних геометрических объектов в эскиз — то есть после конвертации он становится полностью параметрическим, а следовательно, это не просто нарисованная геометрия (рис. 2).

Рис. 2. Результат конвертации эскиза

Рис. 2. Результат конвертации эскиза

Что касается непосредственно операций построения, то IMCADConverter умеет конвертировать большинство операций, которые использует конструктор в повседневной работе. Это операции выдавливания, вращения, выдавливания по траектории и по сечениям, фаски, скругления, самые разные отверстия и резьбы, операции создания оболочки и уклонов. Реализована также конвертация всех типов массивов (линейные, круговые, зеркальные, по точкам эскиза). Поддерживается конвертация вспомогательной геометрии (плоскости, оси, точки). Все созданные конвертером операции также являются полностью параметрическими. Если в исходной модели было создано выдавливание до указанной поверхности, то и в модели КОМПАС это будет такое же выдавливание (рис. 3).

Рис. 3. Результат конвертации трехмерной модели

Рис. 3. Результат конвертации трехмерной модели

Если речь идет о конвертации сборок, то IMCADConverter анализирует состав сборки, находит необходимые, ранее сконвертированные компоненты и вставляет их в новую сборку сразу в правильное место. Затем создаются все сопряжения между компонентами (параллельность, концентричность, расположение на расстоянии и т.д.). Если в исходной модели присутствовали операции обработки в контексте сборки, то они также конвертируются аналогично операциям в деталях. В случае если в исходной сборке были созданы массивы компонентов, аналогичные параметрические массивы создаются и в КОМПАС­3D. Если была включена опция Обрабатывать зависимые документы, то IMCADConverter вначале сконвертирует все компоненты, а только потом вернется к головной сборке.

Кроме обычных моделей IMCADConverter также умеет конвертировать детали и сборки с исполнениями. Исполнения могут иметь различные свойства, отличаться значениями размеров, в них могут включаться и выключаться операции и сопряжения компонентов, может изменяться состав сборки. Вся эта информация передается в таблицу исполнений в документе КОМПАС­3D. А так как наш конвертер поддерживает полноценную параметризацию, то при переключении исполнений в КОМПАС модель абсолютно корректно перестраивается. Еще одним преимуществом такого подхода является то, что в дальнейшем можно легко добавить новое исполнение, отредактировать существующее либо удалить неиспользуемое (рис. 4).

Рис. 4. Таблица исполнений конвертированной модели

Рис. 4. Таблица исполнений конвертированной модели

Результаты конвертации

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

В самом диалоге мы видим результаты обработки модели: ошибки, предупреждения и результаты проверки. Ошибки говорят о том, что мы не смогли сконвертировать ту или иную операцию либо модель в КОМПАС построена некорректно. Предупреждения, как правило, возникают из­за каких­то нюансов построения исходной модели или когда результирующая модель КОМПАС геометрически правильная, но потеряна какая­то часть параметризации. Например, мы не смогли создать какое­то ограничение, размер или сопряжение в сборке. Проверка модели подразумевает сравнение массо­центровочных характеристик (габаритные размеры, положение центра масс, моменты инерции, площадь и объем) моделей (рис. 5).

Рис. 5. Окно проверки результатов конвертации

Рис. 5. Окно проверки результатов конвертации

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

Листовое проектирование

Есть еще один тип документов, которые умеет обрабатывать IMCADConverter, — это листовые детали. В общем случае их конвертация осуществляется аналогично обычным деталям через создание операций в дереве построения. К сожалению, методология и функциональность листового проектирования в разных CAD­системах сильно различаются, и поэтому очень часто воссоздать листовую деталь через операции проектирования не представляется возможным. Чтобы как­то помочь пользователям в такой ситуации, мы придумали следующий механизм: IMCADConverter берет развертку этой листовой детали в исходной CAD­системе, создает плоское листовое тело в КОМПАС, а затем сгибает эту развертку в правильных местах. В результате мы получаем листовую деталь в КОМПАС с гарантированно правильной разверткой и с правильной геометрией согнутой модели. Да, редактировать такую деталь сложно, потому что она построена в «обратную сторону», и у нее нет тех операций и размеров, которые были в исходной модели. Но все равно это решение лучше, чем просто получение твердотельной модели. Чтобы использовать эту функциональность, необходимо при конвертации указать опцию Создавать листовую деталь из развертки.

Конвертация чертежей

Процесс конвертации чертежей в IMCADConverter происходит похожим способом. Из исходной CAD­системы мы получаем сведения о всех чертежных видах, какие 3D­модели и в каком ракурсе на них отображены, и где эти виды расположены на листах. Затем в системе КОМПАС­3D создается новый чертеж и IMCADConverter воссоздает на нем точно такие же виды. Причем в КОМПАС эти виды строятся по ранее сконвертированным моделям деталей и сборок, поэтому являются полностью ассоциативными. Все элементы оформления, включая размеры и технические требования, также переносятся на новый чертеж. В результате конвертации пользователь получает ассоциативный, полностью оформленный чертеж, созданный уже в системе КОМПАС­3D (рис. 6).

Рис. 6. Результат конвертации чертежа

Рис. 6. Результат конвертации чертежа

Выводы и дальнейшие планы

Компания ИНТЕРМЕХ сумела разработать уникальное решение (аналогов которому пока не существует) для конвертации деталей, сборок и чертежей из иностранных CAD­систем в отечественную САПР КОМПАС­3D. В первой версии реализована конвертация из Autodesk Inventor, но уже сейчас мы серьезно работаем над получением данных и из других CAD­систем (Siemens NX, SOLIDWORKS, Creo). И надеемся в ближайшие месяцы предоставить пользователям решение для конвертации из этих систем. Разработанный нами IMCADConverter ускоряет и облегчает процесс перехода отечественных предприятий на КОМПАС­3D,
позволяет легко перенести все свои разработки на отечественное решение и эффективно их использовать для проектирования новых современных изделий.

Мало кто верил в возможность создания такого конвертера, а некоторые не верят до сих пор! Но оказывается, невозможное — возможно! 

Регистрация | Войти

Мы в телеграм:

Рекламодатель:
ООО «Нанософт разработка»

ИНН 7751031421 ОГРН 5167746333838

Рекламодатель: АО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557