Статьи

Почему в САПР используют проприетарные форматы?

Мнение Ральфа Грабовски при участии Сергея Вишневецкого

От редакции isicad.ru: Предлагаем сокращённый перевод статьи Ральфа Грабовски «Why CAD Has Proprietary Formats?» (Opinion by Ralph Grabowski, with Sergey Vishnevetsky), которая содержит отредактированный текст расшифровки вебинара директора по разработке Open Design Alliance Сергея Вишневецкого, перемежающийся комментариями Ральфа.

Портал isicad.ru всегда уделял большое внимание тематике геометрических ядер: ниже приводим часть обширного списка соответствующих публикаций. Также мы сочли полезным добавить здесь, что существует множество неупомянутых в статье ядер от меньших компаний, например SMLib от Solid Modeling Solutions, открытое ядро Open CASCADE и C3D Modeler от C3D Labs. C3D Modeler очень хорошо известен на российском рынке, ведь он является основой популярнейшего САПР КОМПАС-3D, BIM-системы Renga, а также десятков других инженерных систем и приложений. Кроме него, в России в начале 10-ых годов было разработано ядро RGK, о чем на нашем портале было несколько публикаций, см. ниже в списке.

Каждый крупный формат САПР существует в своем собственном мире — со своим ядром, моделью данных и лицензированием. Это результат истории и особенностей каждой системы проектирования. Некоторым из основных САПР почти 50 лет, и каждая разрабатывалась изолированно, как правило, производственными компаниями (такими как Boeing, HP и GM) для собственных нужд проектирования. Их форматы остаются проприетарными и по сей день.

В результате проектные организации вынуждены либо платить за несколько САПР, либо обеспечивать отсутствие потерь данных при конвертации проектов в другие форматы. С каждым новым форматом приходят новая интеграция, новые SDK и постоянное сопровождение. Это превращается в бизнес-проблему.

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

Ассоциация Open Design Alliance провела вебинар, чтобы объяснить описанные выше различия и — кого это удивит? — представить свое решение проблемы. Запись вебинара Сергея Вишневецкого доступна по ссылке MCAD SDK - DevConnect'26. Ниже расшифровка с комментариями.

Проприетарные форматы имеют дополнительный бонус — они «привязывают» пользователей. Некоторые из них были настолько возмущены этим, что в начале 1990-х запустили программы для получения доступа к своим же данным. Первым пал DWG — двоичный формат, структуру которого Autodesk отказывалась публиковать (считая, что ASCII-формата DXF достаточно). Неважно. DWG настолько распространен, так хорошо расширяем и имеет так много конвертеров, что сейчас около трех десятков не-Autodesk САПР используют DWG как родной формат.

Проприетарные форматы создают проблемы и внутри самих вендоров САПР, так что даже им нужны конвертеры. Например, PTC приобрела Onshape, который использует ядро Parasolid, поэтому его модели требуют конвертации в Creo, использующее собственное ядро Granite; Creo включил в себя прямой моделировщик CoCreate (от HP), работавший на ACIS. Когда Autodesk создавала Inventor, он получил новый формат файлов, несовместимый с DWG от AutoCAD, и компании пришлось много лет разрабатывать конвертер. После того как Dassault (с CGM) приобрела Solidworks (на Parasolid), она призывала пользователей переходить на 3DEXPERIENCE, но отсутствие двусторонней совместимости помогло убедить тысячи пользователей Solidworks не переходить.

Четыре основных проприетарных геометрических ядра, используемых в САПР

Четыре основных ядра

Каждая крупная САПР построена на собственном геометрическом ядре, и эти ядра фундаментально различаются. Вот краткий обзор каждого:

Granite от PTC использует моделирование на основе допусков, тесно интегрировано в Creo (и ранее Pro/Engineer) и не является отдельным продуктом.

Элементы ядра Granite, разработанного PTC

Parasolid в NX и SolidEdge от Siemens имеет строгий контроль допусков. Из четырех ядер Parasolid — одно из самых распространенных ядер в индустрии. Оно используется в NX, SolidWorks, SolidEdge, Onshape и многих других САПР. Это означает, что конвертация между этими системами относительно проста, поскольку у них общее геометрическое основание.

Элементы ядра Parasolid, широко лицензируемого Siemens

CGM в CATIA и 3DEXPERIENCE от Dassault Systemes — это совершенно отдельный мир с немногообразной топологией и многопредставленческой геометрией. Закрытый мир CGM (Convergence Geometric Modeler) полностью проприетарен, без внешнего SDK и публичной документации. Некоторые его части лицензируются дочерней компанией Dassault — Spatial. Топологическая модель поддерживает немногообразную геометрию и многопредставленческие кривые. Тем не менее, методом обратной разработки было обнаружено, что он содержит 103 типа сущностей, определяемых двоичными потоками, и иногда храненит нескольких кривых на одно ребро.

Элементы ядра CGM, разработанного Dassault Systemes

ACIS — еще одно ядро со своими особенностями, которые не переносимы в частности, поскольку больше не документируются. Используется в Alibre Design, BricsCAD, SpaceClaim, TurboCAD и других. ACIS имеет статус первого лицензируемого ядра твердотельного моделирования, разработан в Англии в 1989 году, сейчас продается подразделением Spatial компании Dassault.

IronCAD необычен тем, что лицензирует оба ядра Parasolid и ACIS в своем ПО для 3D-моделирования. А ядро Shape Manager от Autodesk — это форк ACIS. Оно используется в Inventor, AutoCAD и других.

Существует множество неупомянутых в статье ядер от меньших компаний, например SMLib от Solid Modeling Solutions, открытое ядро Open CASCADE и C3D Modeler от C3D Labs.

Степени открытости

Подход «просто конвертировать всё в STEP» неизбежно приводит к потере данных. Форматы САПР различаются не столько структурой файлов, сколько геометрическими ядрами и моделями признаков. Это главный фактор, определяющий сложность взаимодействия, поэтому прямая конвертация предпочтительна, если возможна.

ODA группирует MCAD-форматы по степени их открытости. Эта классификация помогает понять проблемы и подходы для каждой группы:

  • Наименее открытые: проприетарные форматы
  • Управляемые вендором открытые форматы
  • Наиболее открытые: открытые стандарты

Проприетарные форматы, такие как SolidWorks, CATIA, NX, Creo и SolidEdge — закрытые двоичные форматы без публичной спецификации. Они содержат наиболее богатые данные, сборки и параметрические связи. Но для их поддержки нужен доступ к API от вендора (если есть).

Управляемые вендором открытые форматы, например JT, 3DM и QIF — это промежуточная категория. JT — открытая спецификация, опубликованная как стандарт ISO, но управляемая Siemens. 3DM имеет полностью открытый SDK, поддерживаемый McNeel & Associates. QIF — стандарт информации о качестве, поддерживаемый Digital Metrology Standards Organization. Эти открытые форматы обеспечивают геометрию и метаданные, но обычно не полные параметрические модели.

Открытые стандарты, такие как STEP и IGES, имеют спецификации, опубликованные ISO. Они обеспечивают универсальные возможности обмена, но неизбежно теряют данные, специфичные для формата (деревья свойств, параметрические связи, ...).

IGES — довольно стабильный формат с надежной реализацией, несмотря на возраст. Это был первый нейтральный формат, он последний раз обновлялся в 1996 году, но до сих пор используется в крупных САПР именно по той причине, что формат не менялся более трёх десятилетий. Реализация стабильна и не зависит от изменений в правах на интеллектуальную собственность.

Как работает API ODA

ODA охватывает три группы форматов САПР — проприетарные, управляемые вендором открытые и открытые стандарты — через единый унифицированный API. Parasolid, CGM и Granite — это три разных мира с разной массой, разными допусками и разными моделями данных. В 2026 году ODA добавляет поддержку трех экосистем ядер. CATIA, NX и Creo находятся в активной разработке, плюс полный набор открытых стандартов и управляемых вендором форматов.

Возможности API от Open Design Alliance

ODA имеет два уровня API. Общий API (Common API) предоставляет единый интерфейс, где один и тот же код работает для SolidWorks, Inventor, STEP и других форматов. Он не конвертирует данные в промежуточное представление. Каждый формат живет в своей собственной родной базе данных, поэтому файл SolidWorks остается базой данных SolidWorks, а файл Inventor — базой данных Inventor.

Интеграция нового формата не требует переписывания приложения. Вы добавляете модуль, и ваш существующий код работает. Но если вам нужен только один конкретный формат, каждый SDK предоставляет свой собственный API для этого формата с полным доступом к нативным возможностям. Например, для SolidWorks доступны его конфигурации, листовой металл, таблицы конструкций и всё остальное, специфичное для этого формата.

Схема, показывающая, как интегрировать API в программу САПР

MCAD Common API — это унифицированный API для поддерживаемых форматов, включающих SolidWorks, Inventor, STEP, IGES, PRC, KE, OBG, STL и даже внешние форматы, такие как 3DM.

opendesign.com/products/mcad-sdk


Некоторые из ранее опубликованных статей о ядрах

На портале isicad опубликованы сотни статей о ядрах, часть из них доступны в результатах поиска здесь и здесь.


Насколько мы понимаем, по причинам, зависящим от Disqus, отображение и добавление комментариев для некоторых регионов временно функционирует не очень стабильно. Мы работаем над восстановлением.

Читайте также: