Форматы файлов 3d моделей

Обновлено: 07.07.2024

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

Лучшие форматы файлов САПР для совместного использования 3D и 2D файлов Павел Самута

Например, документ Microsoft Word или файл .docx будут содержать информацию о содержимом и его форматировании. Формат файла обычно относится к тому, какая программа использовалась для создания документа; например, файл .xls является родным для Microsoft Excel.

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

Если вы используете САПР на регулярной основе, вы, вероятно, знаете о связанных типах файлов - это даст вам гибкость при отправке проектов другим сотрудникам и клиентам. Я собрал список лучших форматов файлов для совместного использования как 3D, так и 2D CAD проектов.

Прежде чем мы рассмотрим фактические типы файлов, важно понять их различные свойства. Различные типы файлов могут позволять вам просматривать чертеж САПР по-разному. Более того, некоторые типы файлов САПР могут быть ограничены только 2D-дисплеями, подходящими для демонстрации дизайна конечному пользователю. Ниже приведены некоторые основные функции форматов файлов 3D и 2D CAD:

Фирменный или нейтральный

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

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

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

Это наиболее широко используемый формат файла CAD. STEP напрямую связан с ISO 10303. Это стандарт компьютерного представления информации о производстве продукции. STEP является одним из наиболее широко используемых форматов файлов CAD. ISO 10303 является стандартом для компьютерного представления информации о производстве продукции. Из-за своего статуса он общепризнан в качестве отраслевого стандарта. Большинство современных программ САПР поддерживает этот формат файлов. STEP может поддерживать как отдельные файлы, так и форматы сборок, а также может содержать спецификацию.

AP203 - конфигурируемые управляемые трехмерные конструкции механических деталей и сборок - применяется к механическим САПР в целом.

В версии 2 AP203 обеспечивает лучшую совместимость с AP214, издание добавляет, по модульному принципу:

  • Цвета и слои.
  • Текстовые аннотации, связанные с геометрией.
  • Геометрические размеры и допуски (GD & T), с графическим представлением.
  • Свойства проверки (глобальные, как объем, площадь, центр; локальные, как облака точек).
  • История строительства в 3D.
  • Определения для PDM также добавлены (особенно, управление конфигурацией).

AP214 - основные данные для процесса проектирования автомобильной механики - больше ориентирован на автомобильную промышленность.

Вся сфера включенной информации AP214 охватывает:

  • Изделия как механические детали, узлы, инструменты, используемые при производстве.
  • Информация для плана процесса, контроля конфигурации, применяемая на этапе проектирования.
  • Данные, связанные с документацией процесса изменения дизайна, утверждения, безопасности.
  • Геометрические данные как: каркас, поверхностные модели, граненые модели, поверхности коллектора и твердые тела (BREP), конструктивная геометрия твердого тела, гибридные модели.
  • Ссылки на данные продукта, представленные в другом формате, чем STEP.
  • Кинематические структуры.
  • Данные о состоянии поверхности.

В отношении этого объема применяются ограничения. На практике не охватываются:

  • Параметрическое представление форм,
  • Непрерывное моделирование кинематики с течением времени,
  • Данные, относящиеся к анализу методом конечных элементов (см. AP209),
  • Данные, относящиеся к конкретным технологиям, таким как пневматические, гидравлические, электрические или электронные.

Второе издание AP214 было выпущено в 2003 году, оно вносит различные исправления, но не меняет сферу применения.

Большинство современных программ САПР будет поддерживать формат файла STEP. Он совместим и не привязан к одной проприетарной программе. STEP используется для трехмерных чертежей CAD.

Eye-jess (как он произносится) - еще один популярный формат САПР, не зависящий от производителя. Этот формат файла был впервые опубликован в 1980 году и до сих пор широко используется в индустрии САПР.

Первоначально он использовался военно-воздушными силами США, но теперь перешел во владение ANSI. Из-за отсутствия цветопередачи и текстур его, как правило, не следует использовать для обмена проектами со сторонними организациями. Этот формат файла относится конкретно к каркасным схемам и схемам - его следует использовать только для проектных работ, не делясь дизайном с посторонними людьми за пределами вашей компании.

Формат файла STL является универсальным форматом. Это формат для чистой информации 3D, который был специально создан программами 3D. STL касается геометрии поверхности и форм - ее нельзя использовать для представления цвета или текстур.

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

X3D (файлы *.x3d) язык моделирования виртуальной реальности

X3D фактически заменяет предыдущий стандартный формат файлов VRML (файлы .vrml). VRML был популярен, но ограничивался только несколькими различными программными пакетами, этот стандартный формат файла фактически используется для представления трехмерной графики и интерактивной векторной графики. Этот непатентованный формат файлов был разработан совместно с Консорциумом Web3D. X3D - это нейтральный формат файла - он используется для представления трехмерной компьютерной графики в формате XML. Благодаря помощи консорциума Web3D VRML и его преемник X3D стали международными стандартами (ISO). VRML был впервые указан в 1994 году, а X3D был утвержден в 2005 году. Оба формата файлов не являются собственностью и могут быть открыты в различных программах.

Формат файла X3D (VRML) обычно используется для веб-графики - он может указывать цвет поверхности, текстуры, прозрачность и другие важные графические понятия.

X3D можно использовать для кодирования графических сцен с помощью синтаксиса XML. Кроме того, это позволяет интегрировать с рядом различных API.

DXF (a.k.a. Drawing eXchange Format) - это двухмерный формат файла, используемый службами разработки и проектирования AutoCAD. На самом деле это собственный проприетарный тип файла AutoCAD для 2D-представлений. Несмотря на то, что он считается проприетарным, он используется огромным количеством различных программ и систем. В связи с этим он обычно считается универсальным форматом файлов для просмотра документов 2D CAD.

​DXF (.dxf файлы) формат обмена чертежами Павел Самута

Формат файла DWG постоянно заменяет использование DXF из-за его ограничений, но на данный момент DXF по-прежнему является основным.

Формат файла PDF (Portable Document Format) является собственностью Adobe, но имеет широкий спектр применения. PDF-файлы могут быть преобразованы в файлы AutoCAD. Файлы CAD также можно экспортировать в PDF-файлы для удобства просмотра.

Если вы хотите просто продемонстрировать 3D или 2D дизайн клиенту или кому-то без знаний CAD, подойдет файл PDF. Многие программы САПР позволяют вам экспортировать вашу работу в PDF.

Надеюсь, что вы нашли эту подборку полезной. Формат файла, который вы выберете, будет зависеть от типа используемой вами программы САПР. Возможно, вам придется использовать собственный формат файла - просто знайте, что его можно экспортировать как файл другого типа. Теперь у вас должно быть четкое представление об основных универсальных доступных форматах файлов - это может улучшить ваши знания в области САПР и расширить кругозор.

image

Еще одна статья о разборе форматов, для летнего воскресного вечера, небольшая и развлекательная. На этот раз речь пойдёт о 3d-моделях. Принципы хранения данных для любых моделей одинаковы, но форматы файлов весьма разнообразны. Даже в условиях одного и того же движка разработчики норовят всё модифицировать и впихнуть что-нибудь своё, ведь в коммерческих версиях у них есть возможность менять код движка, и они ей обычно пользуются.

Основной объём любого файла с моделью составляют несколько больших таблиц с данными о вершинах, о том, как они соединяются и как на них натягиваются текстуры. Начнём с вершин. Простой список с координатами x,y,z может выглядеть например так:


Так как чаще всего координаты лежат в виде 32-битных плавающих чисел, их легко распознать внутри файла по повторяющимся через 4 байта цифрам в диапазоне 40-45, или для отрицательных чисел C0-C5. Конечно встречаются и другие байты, но эти чаще всего. Так происходит потому, что диапазон координат 3d-модели небольшой с точки зрения порядка, а порядок как раз хранится в старшем байте.

Далее, нужна таблица, где указано, в каком порядке вершины соединяются в треугольники. Чаще всего она выглядит так:


Это 16-битные номера вершин, группами по три. Так как в моделях обычно не более нескольких сотен вершин, числа эти маленькие, и такую таблицу тоже легко видно визуально. В данном примере выделен один из треугольников, состоящий из вершин с номерами 50,51 и 52.

И третья — таблица текстурных координат, чтобы привязать вершины к плоской текстуре, которую нужно на них натянуть.


Координаты x и y в пределах текстуры приводятся к диапазону от 0 до 1, и если текстура имеет размер 2048x2048 или 4096x4096, нет смысла в высокой точности. Поэтому они чаще всего хранятся как плавающие числа с половинной точностью, 16 битные. Старший байт у них получается чуть больше 0x30, изредка доходя до 0x40 или чуть больше. Здесь красным и оранжевым выделены текстурные координаты, зеленым и светло-зеленым — координаты на карте освещения.

После того, как найдены эти таблицы, можно посчитать количество элементов, найти, где это количество хранится и как описывается вся структура. Но кроме этих таблиц в файле обязательно найдутся много мелких непонятных чисел, которые неизвестно к чему относятся и что означают. Вот например, в середине файла с моделью человека имеются три плавающих единицы (выделены зеленым):


Как узнать, что они обозначают? Да просто поменять их и посмотреть, что получится. Запишем вместо них 1,5 и запустим игру

Ну конечно, это масштаб. Интересный эффект получается от того, что анимация записана в других файлах отдельно, и она завязана на координаты в моделях, поэтому возникают такие причудливые уродцы. У мужчины на площади на плечах сидит ребенок. Теперь он оказался у него внутри грудной клетки. Человек перед шлагбаумом, совершающий непонятные движения, на самом деле аплодирует.

Теперь попробуем определить, где здесь ширина, а где высота. Изменим только одно число, первое: уменьшим его в 10 раз.

Таким образом, экспериментируя, можно определить значение оставшихся чисел. Если же при изменении каких-то из них ничего не происходит, просто оставим их в покое. Может быть мы никогда не узнаем, зачем они нужны. А если вдруг однажды они дадут о себе знать — тогда и будем разбираться.

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

Почти все знают в какие виды файлов используются для сохранения изображений: PNG, JPG, BMP, TIFF и другие. Но что насчёт объемных моделей? Казалось бы, у нас добавляется третье измерение, но при этом размер файла зачастую меньше, чем даже изображение этой же модели. В этой статье мы расскажем вам всё, что необходимо знать о файлах для хранения моделей и даже больше: способы конвертации, особенности каждого из видов файлов, а также формат файлов для 3D-печати.

Особенности хранения 3D-моделей

В отличие от изображений, в мире 3D-моделей не прижился воксельный (воксель - объемный пиксель) метод хранения. Лишь некоторые умельцы используют его при создании игр или в научных исследованиях. Связано это с историей появления объемной графики: в отличии от появлении фотографии, объемная графика изначально создавалась на компьютере, причем использовалась для анимации. Воксели намного сложнее анимировать, поэтому вместо них начали использовать полигональный метод хранения: вся модель состоит из множества полигонов - треугольников, имеющих три точки. Это похоже на создание скульптур из бумаги - соединяя множество плоских кусочков можно получить что-то объемное и даже гладкое.

Полигональная модель дельфина

Хоть данный метод сохранения в виде полигонов нельзя назвать растровым, данные методы имеют много общего: невозможность увеличить качество, прямая зависимость между качеством и весом файла, простота в редактировании. Это наиболее практичный формат для сохранения и использования моделей в 3D-печати, но не единственный. Далее мы рассмотрим наиболее популярные форматы для хранения 3D-моделей.

Универсальные форматы файлов 3D-моделей

На самом деле существует столь же много различных методов хранения 3D-моделей, сколь много их существует для хранения фото и видео. Но существуют и универсальные форматы, которые, хоть и с некоторыми ограничениями, можно открывать почти в любой программе.

Вопреки заблуждениям, STL изначально предназначался не для художественного моделирования. Его разработала компания Albert Consulting Group и предназначался он для раннего метода 3D-печати - стереолитографии. Отсюда и возникло название файла - STereoLithography. Через некоторое время компания открыто опубликовала формат и с тех пор он получил огромную популярность.

Формат STL широко используется благодаря простоте своей структуры: полигоны (фасеты) и их нормали. Первые нужны для задания поверхности, а вторые для указания где находится внешняя сторона полигона. Поэтому данный формат можно считать самым универсальным.

Сравнение CAD модели и STL модели

Из-за того, что модель задается с помощью множества треугольников, то нельзя точно задать криволинейные поверхности, ведь для этого понадобится бесконечное количество треугольников, а следовательно и бесконечное хранилище данных. Но при использовании в 3D-печати данный минус не столь важен, так как точность, задаваемая с помощью треугольников, выше точности печати.

Этот формат очень похож на STL, но отличается возможностью наложения текстур, заданием материала и хранением иной информации. Поэтому OBJ можно назвать расширенной версией STL и предназначен он по большей части для программ художественного моделирования, таких как Blender, Autodesk Maya, 3Ds Max, Meshlab и другие.

Обработка модели формата OBJ в программе Blender

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

Создание модели в САПР SolidWorks

Для создания моделей в формате STEP используются САПР (Система Автоматизированного ПРоектирования). Благодаря стандарту ISO, все САПР программы могут работать в данном формате. Но не все данные свободно передаются из одной программы в другую через STEP. Для нас самое главное - перенос геометрии модели, а симуляции, материал и прочие данные, которые формат STEP не хранит, носят второстепенный характер.

Собственные форматы

В данную категорию относятся форматы файлов, которые можно открыть только в одной программе - в которой файлы и были созданы. Они предназначены только для хранения проектов, зачастую их невозможно применить в 3D-печати. Исключением является слайсер Ultimaker Cura, в котором есть возможность добавлять плагины, позволяющие открывать напрямую из слайсера файлы таких программ как Inventor, Siemens NX, Solidworks и других.

Инженерные программы

Как уже упоминалось ранее, данные программы называют САПР. Так как это ПО зачастую предназначено для производств, то и общий формат файлов у них имеется (STEP). Некоторые программы, зачастую производимые одной компанией, позволяют работать в общей экосистеме. Например, во многих инженерных программах компании Autodesk можно встретить совместимость форматов: Fusion 360 может открыть файл созданный в Inventor. Но при таком способе открытия всё же будет теряться часть информации об изделии, например информация о произведенных физических симуляциях. Поэтому если деталь не разработана до конца, не следует перемещать её между разными программами.

Художественные программы

К данной категории можно отнести программы, созданные для визуализации: мультипликация, спецэффекты, создание фигурок и моделей для видеоигр. В отличии от предыдущего случая, в программах художественного моделирования царит хаос. У каждой программы есть свой собственный формат, а общий формат STL ограничивает функционал каждой из программ до простейших инструментов. Но этого хватит для создания моделей, которые в дальнейшем будут напечатаны на 3D-принтере, так как важна лишь геометрия модели.

Gcode - формат для 3D-печати

На самом деле Gcode является больше, чем просто форматом файла. Это отдельный язык программирования. Но вместо исполнения команд компьютером, команды на данном языке исполняет 3D-принтер. Изначально данный язык разрабатывался для сложных ЧПУ станков, а 3D-принтер и является одним из простейших представителей данного вида устройств. В отличии от предыдущих форматов, gcode можно легко редактировать вручную, тем самым отдавая команды принтеру напрямую, в обход компьютера. С помощью этого можно создавать макросы, позволяющие облегчить работу с 3D-принтером. Подробнее о работе с языком gcode и о создании макросов можете прочитать в статье на нашем сайте.

Конвертация форматов файлов 3D-моделей

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

Совет: если при переносе модели из программы художественного моделирования в САПР качество модели не столь важно, то лучше как можно больше уменьшить количество полигонов. Таким образом уменьшается нагрузка на компьютер и увеличивается быстродействие при обработке модели в САПР.

Assimp поддерживает множество форматов 3D моделей. В статье перечислены их особенности и собран список сайтов, где можно скачать модели.

Содержание

Библиотека Assimp поддерживает множество распространённых форматов моделей со следующими ограничениями:

  • анимированные модели успешно загружаются из форматов MD5, DAE
  • статичные модели успешно загружаются из форматов MD5, DAE, MD3, MD2, BLEND, 3DS, OBJ, PLY

Анимированная модель отличается от статичной:

  • Всегда есть данные о костях (для скелетной анимации)
  • Возможно, есть данные об анимациях. Анимации представляют движения в разных состояниях — прогулка, атака, гибель, охрана позиции. Одна анимация является набором трансформаций в разных точках времени для разных костей.

Так выглядят визуализированные кости в Blender (серые кости под поверхностью модели):

Иллюстрация

Форматы MD5, MD3, MD2 ( *.md5mesh , *.md5anim , *.md2 и т.д.)

Формат моделей MD5 был разработан компанией idSoftware для Doom III, игры жанра шутер от первого лица. В этом формате данные о поверхностях модели и об анимациях хранятся в разных файлах:

  • геометрические данные (включая скелет модели) хранятся в файлах *.md5mesh
  • файлы анимации хранятся в файлах *.md5anim

Формат полностью поддерживает скелетную анимацию и скиннинг вершин. Формат является текстовым, информация о моделях хранится в кодировке ASCII в виде, похожем на YAML. Текстуры хранятся в отдельных файлах (обычно TGA, DDS).

Форматы моделей MD2 и MD3 считаются старыми, но их до сих пор можно встретить в сети. Они разрабатывались для ранних игр компании Id Software, таких как Quake и Doom / Doom II.

Экспорт из Blender

  • Обратите внимание, что работоспособность скрипта может быть нарушена в новых либо слишком старых версиях Blender, следует внимательно выбирать версию скрипта и версию Blender.

Где скачать

Формат Collada ( *.dae )

Основанный на XML формат Collada задуман как универсальный открытый стандарт для обмена данными между разными средами 3D-моделирования. Assimp умеет обрабатывать данный формат, в том числе он умеет загружать кости и анимации.

Экспорт из Blender

Формат Blender ( *.blend )

Данный формат используется для сохранения и загрузки моделей в Blender (открытом редакторе 3D-моделей). К сожалению, формат представляет из себя бинарный снимок памяти внутренних структур данных Blender, и поэтому сторонним программам и библиотекам трудно его разбирать. В результате Assimp не поддерживает загрузку костей и анимаций из моделей Blender.

Формат 3D Studio Max ( *.3ds )

Формат Wavefront OBJ ( *.obj )

Формат Stanford University PLY ( *.ply )

Данный формат используется во многих университетах как стандарт представления различных учебных моделей. Assimp умеет загружать статичные модели в данном формате.

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