Почти все знают в какие виды файлов используются для сохранения изображений: PNG, JPG, BMP, TIFF и другие. Но что насчёт объемных моделей? Казалось бы, у нас добавляется третье измерение, но при этом размер файла зачастую меньше, чем даже изображение этой же модели. В этой статье мы расскажем вам всё, что необходимо знать о файлах для хранения моделей и даже больше: способы конвертации, особенности каждого из видов файлов, а также формат файлов для 3D-печати.
Особенности хранения 3D-моделей
В отличие от изображений, в мире 3D-моделей не прижился воксельный (воксель — объемный пиксель) метод хранения. Лишь некоторые умельцы используют его при создании игр или в научных исследованиях. Связано это с историей появления объемной графики: в отличии от появлении фотографии, объемная графика изначально создавалась на компьютере, причем использовалась для анимации. Воксели намного сложнее анимировать, поэтому вместо них начали использовать полигональный метод хранения: вся модель состоит из множества полигонов — треугольников, имеющих три точки. Это похоже на создание скульптур из бумаги — соединяя множество плоских кусочков можно получить что-то объемное и даже гладкое.
Как подготовить 3d модель для стока: сцена, сетка, превью и архив
Полигональная модель дельфина
Хоть данный метод сохранения в виде полигонов нельзя назвать растровым, данные методы имеют много общего: невозможность увеличить качество, прямая зависимость между качеством и весом файла, простота в редактировании. Это наиболее практичный формат для сохранения и использования моделей в 3D-печати, но не единственный. Далее мы рассмотрим наиболее популярные форматы для хранения 3D-моделей.
Универсальные форматы файлов 3D-моделей
На самом деле существует столь же много различных методов хранения 3D-моделей, сколь много их существует для хранения фото и видео. Но существуют и универсальные форматы, которые, хоть и с некоторыми ограничениями, можно открывать почти в любой программе.
STL
Вопреки заблуждениям, STL изначально предназначался не для художественного моделирования. Его разработала компания Albert Consulting Group и предназначался он для раннего метода 3D-печати — стереолитографии. Отсюда и возникло название файла — STereoLithography. Через некоторое время компания открыто опубликовала формат и с тех пор он получил огромную популярность.
Формат STL широко используется благодаря простоте своей структуры: полигоны (фасеты) и их нормали. Первые нужны для задания поверхности, а вторые для указания где находится внешняя сторона полигона. Поэтому данный формат можно считать самым универсальным.
Сравнение CAD модели и STL модели
Сохранение моделей из Компас-3D в формат 3D PDF
Из-за того, что модель задается с помощью множества треугольников, то нельзя точно задать криволинейные поверхности, ведь для этого понадобится бесконечное количество треугольников, а следовательно и бесконечное хранилище данных. Но при использовании в 3D-печати данный минус не столь важен, так как точность, задаваемая с помощью треугольников, выше точности печати.
OBJ
Этот формат очень похож на STL, но отличается возможностью наложения текстур, заданием материала и хранением иной информации. Поэтому OBJ можно назвать расширенной версией STL и предназначен он по большей части для программ художественного моделирования, таких как Blender, Autodesk Maya, 3Ds Max, Meshlab и другие.
Обработка модели формата OBJ в программе Blender
STEP
Т еперь мы переходим на инженерную сторону 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 в инженерных программах может вызвать трудности как в обработке, так и в простом просмотре модели. Связано это с принципами работы САПР: он выполняет обработку каждой поверхности в отдельности, а чем больше поверхностей, тем больше необходимо выполнить расчетов для одной операции.
Совет: если при переносе модели из программы художественного моделирования в САПР качество модели не столь важно, то лучше как можно больше уменьшить количество полигонов. Таким образом уменьшается нагрузка на компьютер и увеличивается быстродействие при обработке модели в САПР.
Эксперт по 3D-оборудованию
Эксперт в области аддитивных и субтрактивных технологий, 3D-оборудования и ЧПУ станков с опытом работы более 10 лет.
Источник: cvetmir3d.ru
STL против OBJ: что лучше использовать?
За последние пару лет мир 3D-печати значительно вырос, и профессионалы, и любители открывают для себя все новые и новые возможности. Наряду с эволюцией, технология 3D-печати также претерпела некоторую диверсификацию. В настоящее время существует огромное количество разнообразных 3D-принтеров, различных материалов, а также различных технологий и аксессуаров, которые расширяют возможности 3D-печати.
В последние годы форматы файлов, используемые для 3D-печати, также претерпели изменения. разнообразие. Однако существуют два формата файлов: STL и OBJ. В чем разница между ними? Читайте дальше, пока мы подробно рассмотрим тонкости форматов файлов STL и OBJ и определим, какой формат лучше всего подойдет вам.
Что такое формат файла 3D?
Формат файла 3D аналогичен любому формату файла тем, что он хранит информацию таким образом, чтобы можно читать и изменять с помощью программного обеспечения для 3D-обработки. Информация в каждом 3D-файле хранится в текстовом или двоичном формате и обычно включает подробные сведения о внешнем виде модели. Уровень полноты или детализации информации зависит от конкретного формата файла. Некоторые типы файлов просто описывают форму модели, в то время как другие могут содержать информацию о цветах и текстурах, а также информацию, связанную со сценой, такую как направление источников света.
Прямо сейчас есть сотни форматов файлов, используемых в индустрии 3D-моделирования. У каждого производителя программного обеспечения САПР, такого как AutoCAD или Blender, есть собственный формат. Существуют также стандартные отраслевые форматы, которые можно конвертировать между различными проприетарными форматами и открывать на разных программных платформах САПР. Эти типы файлов, получившие название «нейтральные» или «открытые» форматы файлов, решают проблему ограничений взаимодействия, которые возникают из-за проприетарных форматов файлов.
Использование нейтральных типов файлов значительно упрощает работу. профессионалам в области 3D-печати будет проще сотрудничать, какую бы программную платформу они ни использовали. STL и OBJ – два самых популярных нейтральных типа файлов 3D-моделирования, используемых сегодня, хотя их гораздо больше, например COLLADA, IGS и STEP.
Что такое STL?
Давайте начнем обсуждение с STL, поскольку он, несомненно, является более простым из двух. STL также гораздо более популярен в 3D-печати, по причинам, которые мы увидим позже. STL означает «стереолитография» и является собственным форматом файлов программной платформы CAD для стереолитографии, разработанной компанией 3D Systems. Будучи одним из старейших форматов файлов 3D, STL был разработан в 1980-х годах как способ быстрой и простой передачи данных из 3D-моделей САПР на 3D-принтер.
Одна из основных характеристик STL файла заключается в том, что он кодирует поверхность 3D-объекта в треугольную сетку. Представьте себе, что это аппроксимация гладкой поверхности с помощью серии очень маленьких и неперекрывающихся треугольников.. Этот метод кодирования гладкой поверхности, известный как мозаичный формат, наиболее часто используется в области трехмерного моделирования из-за его простоты и универсальности.
Разрешение файла STL можно улучшить, уменьшив размер треугольника кодировки поверхности. Однако это также означает, что для аппроксимации поверхности потребуется большее количество треугольников. Как и ожидалось, модель с более высоким разрешением достигается за счет большего размера файла. Даже при максимально возможном разрешении форматы файлов, использующие приблизительное кодирование поверхности, по-прежнему имеют более низкую точность воспроизведения, чем форматы, использующие точное кодирование поверхности.
Тесселированные форматы чрезвычайно предпочтительны в областях 3D-печати и быстрого прототипирования, поскольку большинство 3D-принтеров также ограничены в разрешении или точности печати. Являясь одним из самых простых и экономичных доступных форматов 3D-файлов, формат STL широко совместим практически со всеми программными платформами для 3D-печати. Фактически, есть некоторые 3D-слайсеры, которые предназначены только для чтения файлов STL.
Одним из ограничений формата файла STL является то, что он не содержит информации, выходящей за рамки геометрии 3D-модели. Таким образом, кроме размера и формы модели, STL не содержит другой информации. Если вы хотите сохранить информацию о текстуре и цвете вашей 3D-модели, преобразование ее в STL – не лучший вариант.
Еще одним недостатком файлов STL является то, что их может быть очень сложно изменить 3D-модель, которая уже была закодирована в STL. Поскольку файл STL содержит только приблизительную версию реальной поверхности исходной модели, часто проще повторно смоделировать исходный объект, чем пытаться изменить файл STL. Однако это ограничение также является причиной того, что большинство моделей, используемых для 3D-печати в Интернете, имеют формат STL. При кодировании поверхности в тесселированный формат 3D-модель больше не может быть изменена, и только первоначальный разработчик моделей имеет доступ к полностью изменяемой версии.
Однако новое поколение 3D-принтеров может привести к к снижению популярности формата файлов STL. Современные высококачественные и многоцветные принтеры теперь могут использовать увеличенное разрешение и данные текстуры более сложных форматов 3D-файлов. Этот уровень технологии 3D-печати пока не очень популярен, но следующие несколько лет могут оказаться революционными для области 3D-печати.
Что такое OBJ?
Формат файла OBJ был разработан Wavefront Technologies Inc. для их пакета анимации Advanced Visualization. Несмотря на то, что STL является более популярным форматом для 3D-печати, OBJ по-прежнему является универсальным форматом, используемым для более широкой области 3D-моделирования. Помимо слайсеров, различные другие программы моделирования, такие как программное обеспечение САПР и игровые движки, распознают формат файла OBJ.
В отличие от STL, OBJ намного сложнее. Помимо сохранения формы модели, файл OBJ также содержит информацию о ее геометрии, текстуре и исходной сетке, с помощью которой он был создан.. Файл OBJ может поддерживать приблизительное кодирование поверхности, аналогично STL, но также может иметь точную сетку.
Приблизительное поверхностное кодирование в OBJ не ограничивается только треугольными сегментами. В зависимости от пользователя поверхность модели OBJ может быть закодирована с использованием различных многоугольников, таких как четырехугольники или шестиугольники. В результате получается более гладкая сетка, которая лучше имитирует исходную поверхность.
Способность файлов OBJ поддерживать точное кодирование поверхности сетки – одна из ее самых сильных сторон. При наличии точной сетки поверхность модели не нужно определять отдельными фасетами или единицами. Вместо этого поверхность может быть определена заплатами неоднородного рационального B-сплайна (NURBS).
Вместо дискретных форм этот тип поверхности закреплен «узлами» – точками, из которых интерполируются гладкие сплайны. В результате поверхность выглядит гладкой независимо от того, в каком масштабе вы ее просматриваете. Если вы хотите создать 3D-модель с очень точными деталями, вам следует использовать точное кодирование сетки. Обратной стороной, как вы могли ожидать, является то, что файл OBJ с высоким разрешением требует гораздо больше времени для рендеринга и имеет больший размер файла.
Файл OBJ также может поставляться с картой текстуры, которая По сути, это двухмерное изображение, которое можно обернуть вокруг вашего 3D-объекта, чтобы придать ему текстуру или цвет. Информация о цвете и текстуре также может быть сохранена как атрибуты лица. Если вы когда-либо сталкивались с 3D-моделью OBJ, то могли заметить, что она поставляется либо с файлом PNG (карта текстуры), либо с файлом MTL (атрибуты лица).
Хотя OBJ есть гораздо более гибкий формат файла, его размер и сложность ограничили его популярность в области 3D-печати. Однако с появлением полноцветной и высокоточной печати ожидается, что использование формата файла OBJ станет намного шире.
Какой из них вам следует использовать?
Зная сильные стороны и ограничения каждого формата файла, теперь мы можем определить наилучшие варианты использования для каждого из них.
1. Используйте STL для…
- … быстрый обмен моделями исключительно для 3D-печати. Файлы STL намного меньше и менее сложны. Практически все программные платформы слайсеров способны открывать файлы STL, а некоторые версии предназначены для открытия ТОЛЬКО STL.
- … публикации ваших моделей на общедоступной платформе, такой как Thingiverse. С файлом STL любой может загрузить и распечатать вашу модель, но изменить ее будет непрактично сложно. Конечно, это сделано в предположении, что вы не хотите, чтобы ваша модель была изменена кем-либо.
2. Используйте OBJ для:
- … обмен моделями для совместной работы. С файлом OBJ ваша исходная модель может быть изменена или улучшена как для ваших коллег, так и для широкой публики. Лучше всего то, что файл OBJ перекрестно совместим с различными программными платформами САПР.
- … если вам нужно опубликовать модель в формате, сохраняющем исходную сетку и другие данные текстуры. Помимо возможности модификации, сохранение данных текстуры может иметь решающее значение для полноцветной 3D-печати с высоким разрешением.
- … сохранение модели для последующего изменения. Если вы работаете над проектом 3D-моделирования, который, по вашему мнению, вы захотите улучшить позже, вам придется сохранить его в формате файла OBJ.
- … экспорт модели для использования в анимация или игровой движок. Это узкоспециализированные приложения 3D-моделирования. Визуальная привлекательность, которая обычно требуется для игр или анимации, может быть достигнута только путем сохранения наложения текстуры в модели.
Заключительные мысли
Большинство людей, которые в настоящее время занимаются 3D-печатью, вероятно, хорошо знакомы с форматом файлов STL. В конце концов, подавляющее большинство бесплатных 3D-моделей, доступных в Интернете, закодированы в STL. Несмотря на то, что небольшой размер файла и относительная простота отлично подходят для быстрого распространения моделей, файлы STL сильно ограничены по богатству и разрешению информации, которую они могут содержать.
Универсальные форматы для переноса в другую систему CAD-геометрии
Для ПО редакторов трёхмерной графики важен не только широкий выбор инструментов для редактирования моделей или создания электронных версий чертежей. Для эффективной работы, кроме инструментов моделирования, может возникать необходимость передачи данных между разными CAD-программами, такими как AutoCAD, ArchiCAD, MatCAD, NanoCAD и другими. Корректный перенос такого рода данных возможен благодаря использованию стандартных элементов большинством САПР или распознавание конкретной CAD-средой таких элементов.
Реализация такого подхода в той или иной степени актуальна по следующим причинам:
- Все разработчики программного обеспечения не могут сделать универсальный продукт, который бы отвечал требованиям конкретной сферы. В результате создаётся набор программных продуктов, каждый из которых может отвечать запросам пользователя в конкретной проектной деятельности – отдельные специализированные пакеты в отрасли строительства, энергетики или машиностроения. Структура и особенности работы современных САПР это учитывают, разработчики пытаются максимально адаптировать ПО к потребностям клиента;
- Вместе с этим, множество пиратских копий проектного ПО фактически позволяет пользователю самому выбрать наиболее подходящий ему продукт. Возможна и иная ситуация, когда особенности деятельности предприятия требуют нескольких программных продуктов. В результате, даже в пределах одной структуры могут применяться разные САПР, совместимость данных между которыми становится производственной необходимостью.
Эту проблему можно решить использованием общего формата для обмена данными вместе с элементами, которые являются универсальными – таким образом все внутренние приложения интерпретировали бы их одинаково.
Но формат для обмена данными зависит от геометрического ядра САПР. В результате формируется основная библиотека функций CAD для распознавания и хранения трёхмерных форм под контролем пользователя. К этому добавляется API программы, библиотеки которого позволяют оперировать данными в процессе геометрического моделирования. У разных программ набор функций ядра примерно идентичен и алгоритмы работы с данными похожи. Но, перенос информации из одной системы в другую достаточно затруднён трудоёмкостью процедуры и продолжительностью такого процесса.
Для этого, на данный момент, используются промежуточные или универсальные форматы, но каждый из них предоставляет разные опции для пользователя при переносе информации. Некоторые из них мы и опишем ниже.
Parasolid
Формат, взявший за основу STEP/PROSTEP для коммерческого использования. Применяются в большинстве современных CAD/CAM/CAE (в Solid Edge или ANSYS, к примеру). Набор библиотек Parasolid создан, чтобы интегрироваться в системы разных уровней. При этом, через него можно передавать большие по объёму сборки данных с сотнями тысяч элементов;
STEP
Серия стандартов, которая изначально разрабатывалась, чтобы хранить информацию о структуре изделия и этапах сборки, формирую информационную модель на основе нейтрального формата данных. С момента его внедрения прошло много времени. В информацию об изделии входят геометрические данные о модели, информация о составе/конфигурации, административные и специальные данные. Считается международным стандартом и кроме уже упомянутых систем поддерживает перенос в PDM-среду;
IGES
Стандарт обмена данными, разрабатываемый NIST (Национальным институтом стандартов и технологий). Формат, работающий с двухмерными и трёхмерными элементами векторной графики, чаще всего применяется в CAD. Используется для хранения геометрических данных о сложных поверхностях. Полный набор его возможностей многие программы не поддерживают, так что при его использовании могут возникать сложности. Тем не менее, он поддерживает как трёхмерные модели, так и чертежи инженерной специализации и признан международным стандартом ISO.
ACIS
Формат описывает работу с данными на основе одноимённого ядра моделирования. Использование ядра ASIS возможно на основе лицензии, его также применяют различные разработчики, в частности – Autodesk. «На выходе» формируются данные в SAB/SAT. ASIS является геометрической объектно-ориентированной библиотекой C++ с множеством функциональных DLL, которой можно описывать поверхности, работать с твердотельным моделированием или каркасными структурами. С помощью этих библиотек можно манипулировать сложными моделями, производить геометрические и булевы операции. SAT – формат может быть прочитан любой программой на основе ACIS-ядра.
HSF
Открытый компактный формат, основывающийся на XML, поддерживающий обмен визуальными данными между различными инженерными программами. Наиболее часто разработчики применяют его для трёхмерной визуализации (к примеру, в SolidWorks или Catia).
VRML
Основывающийся на формате файлов от Silicon Graphics стандарт (язык), который позволяет моделирование виртуальной реальности. Особенностью его использования является создание «миров» (трёхмерных интерактивных объектов). Пользователь может взаимодействовать с ними с помощью средств Сети, применяя специализированный браузер или дополнение к установленному.
Любой из описанных форматов обладает своими особенностями и преимуществами в той или иной сфере. Общими качествами любого промежуточного формата данных является доступность его для использования не только специалистами инженерного профиля, но и любым другим пользователем. При этом, возможно расширение функций формата, чтобы охватить и возникающие в будущем потребности пользователей.
Каждый из перечисленных форматов обладает своими достоинствами, которые обеспечивают преимущество в одной или нескольких из областей применения.
Основные характеристиками любого промежуточного формата подобного типа – это многофункциональность и возможность использовать данные не только инженером, но и за пределами конструкторских отделов. Расширения функционала формата для охвата будущих потребностей пользователей — другой его несомненный плюс.
Источник: stylingsoft.com