Статьи

Уникальный конвертер ИНТЕРМЕХ из иностранных CAD в КОМПАС-3D

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

Дмитрий Керницкий


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

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

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

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

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

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

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

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

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

Диалоговое окно IMCADConverter

Диалоговое окно IMCADConverter

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

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

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

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

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

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

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

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

    Что же делать, если по какой-то причине IMCADConverter не смог создать полноценную модель в КОМПАС-3D?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Реклама. ОДО «ИНТЕРМЕХ». erid: Kra23hSKN