Формат 3MF — описание¶
3MF (3D Manufacturing Format) — открытый файловый формат для хранения и обмена данными трёхмерных моделей, предназначенный преимущественно для аддитивного производства. Формат разработан консорциумом 3MF Consortium при участии ведущих производителей 3D-принтеров и программного обеспечения; спецификация основана на технологии XML и ZIP-архивации и призвана заменить устаревший формат STL, ставший стандартом де-факто в индустрии 3D-печати.
¶История создания
Формат 3MF был анонсирован в 2013 году. Инициаторами выступили Microsoft, Autodesk, Dassault Systèmes, HP, Siemens и ряд других компаний, недовольных ограничениями STL — формата, разработанного ещё в 1987 году для системы Stereolithography Apparatus компании 3D Systems. STL хранит только геометрию поверхности в виде триангуляции, не поддерживает цвета, материалы, метаданные и внутреннюю структуру объектов, а также использует текстовое или простое двоичное представление без сжатия.
К 2015 году спецификация 3MF была опубликована в открытом доступе, а для управления форматом был создан некоммерческий консорциум 3MF Consortium. В разработке участвовали компании, производящие как принтеры, так и CAD-системы, что обеспечило формату широкую отраслевую поддержку. В частности, формат был включён в Windows 10 как часть подсистемы 3D-печати Microsoft, а поддержка 3MF появилась в таких системах, как SolidWorks, Fusion 360, Blender, PrusaSlicer, Cura и многих других.
¶Техническая структура
Файл с расширением .3mf представляет собой ZIP-архив, внутри которого размещены XML-документы, описывающие модель, её компоненты и свойства. Такой подход позволяет сжимать данные и хранить в одном файле разнородную информацию.
Основные компоненты архива:
[Content_Types].xml— обязательный файл, описывающий типы содержимого (аналогичен структуре OOXML, используемого в документах Microsoft Office);_rels/.rels— файл связей, определяющий корневые объекты пакета;3D/3dmodel.model— главный XML-файл с геометрией модели;3D/_rels/3dmodel.model.rels— связи внутри модели (текстуры, материалы);- каталоги
Metadata/,Textures/,Materials/— метаданные, текстуры и материалы.
Геометрия в 3dmodel.model задаётся в виде треугольных сеток (mesh): вершины (vertices) и треугольники (triangles), связанные с ними посредством индексов. В отличие от STL, координаты хранятся в XML с указанием единиц измерения (миллиметры по умолчанию), что исключает проблему масштаба, типичную для STL.
¶Возможности формата
3MF поддерживает ряд функций, недоступных в STL:
- Цвета и материалы — можно задавать цвета граней, вершин, использовать PBR-материалы (физически корректные) по спецификации 3MF Core и 3MF Materials and Properties;
- Текстуры — поддержка JPEG и PNG, привязка к UV-координатам;
- Метаданные — автор, название, описание, лицензия, дата создания;
- Иерархия и компоненты — модели могут состоять из вложенных объектов с трансформациями (сдвиг, поворот, масштаб), что позволяет собирать сборочные единицы;
- Многообъектные сцены — несколько моделей с размещением на столе принтера в одном файле;
- Поддержка гибридных технологий — спецификация Additive Manufacturing Extension (AMF) и расширения для поддержки путей инструмента (toolpaths) в будущих версиях.
¶Применение
Основная область применения 3MF — аддитивное производство. Формат используется в программах подготовки к печати (слайсерах) как PrusaSlicer, Cura, Bambu Studio, Simplify3D, а также в промышленных системах управления печатью. Ряд производителей принтеров (Bambu Lab, Prusa Research, Microsoft Print 3D) используют 3MF в качестве основного или предпочтительного формата.
В CAD-системах 3MF применяется для экспорта моделей с сохранением цвета и материалов — например, из Fusion 360, SolidWorks, Rhino, Blender. В России формат поддерживается в российских CAD-системах, таких как КОМПАС-3D, и в слайсерах, доступных для российских пользователей.
¶Сравнение с STL
| Параметр | STL | 3MF |
|---|---|---|
| Год выпуска | 1987 | 2013 |
| Структура | плоский список треугольников | ZIP + XML |
| Цвет | нет | да |
| Материалы | нет | да |
| Текстуры | нет | да |
| Метаданные | нет | да |
| Единицы измерения | не определены | явно заданы |
| Сжатие | нет | ZIP |
| Размер файла | крупный | существенно меньше |
¶Ограничения
Несмотря на открытость, 3MF не получил повсеместного распространения в промышленности: часть устаревших систем поддерживает только STL или AMF. Некоторые производители ПО реализуют 3MF частично, поддерживая только базовый профиль без материалов и текстур. Кроме того, формат не предназначен для хранения твёрдотельных (B-rep) моделей в полном объёме — хотя спецификация допускает расширения для NURBS-поверхностей, реализация остаётся ограниченной.
¶Источники
- Спецификация 3MF Core Specification, 3MF Consortium
- Справка Microsoft по формату 3MF (Microsoft Learn)
- Статья «3D Manufacturing Format» в журнале IEEE Computer Graphics and Applications
- Документация PrusaSlicer и Cura по поддержке форматов
