Jump to content

Формат файла аддитивного производства

Формат аддитивного производства
Значок АМФ
Расширение имени файла
.amf
Тип интернет-СМИ
приложение/x-amf
Разработано АСТМ / ИСО
Первоначальный выпуск 2 мая 2011 г. ( 2011-05-02 )
Последний выпуск
1.2
Стандартный ИСО/АСТМ52915-16 [1]

Формат файлов аддитивного производства ( AMF ) — это открытый стандарт для описания объектов для процессов аддитивного производства, таких как 3D-печать . Официальный стандарт ISO / ASTM 52915:2016. [1] [2] Стандарт — это формат на основе XML , предназначенный для того, чтобы любое программное обеспечение для автоматизированного проектирования могло описывать форму и состав любого 3D- объекта, который будет изготовлен на любом 3D-принтере с помощью программного обеспечения для автоматизированного производства . В отличие от своего предшественника формата STL , AMF имеет встроенную поддержку цвета, материалов, решеток и созвездий.

Структура [ править ]

AMF может представлять один объект или несколько объектов, расположенных в созвездии. Каждый объект описывается как набор непересекающихся объемов. Каждый объем описывается треугольной сеткой, которая ссылается на набор точек (вершин). Эти вершины могут быть общими для томов, принадлежащих одному и тому же объекту. В файле AMF также можно указать материал и цвет каждого объема, а также цвет каждого треугольника в сетке. Файл AMF сжимается в формате zip, но расширение файла «.amf» сохраняется. Минимальная реализация чтения AMF должна иметь возможность распаковывать файл AMF и импортировать как минимум информацию о геометрии (игнорируя кривизну).

Базовая структура файла [ править ]

Файл AMF начинается со строки объявления XML, определяющей версию и кодировку XML. Оставшаяся часть файла заключена между отверстием <amf> элемент и закрывающий </amf> элемент. Также можно указать систему единиц измерения (миллиметр, дюйм, фут, метр или микрометр). При отсутствии указания единиц измерения принимаются миллиметры.

В скобках AMF есть пять элементов высшего уровня. Для полнофункционального файла AMF требуется только один объектный элемент.

  1. <object> Элемент объекта определяет объем или объемы материала, каждый из которых связан с идентификатором материала для печати. В файле должен присутствовать хотя бы один объектный элемент. Дополнительные объекты не являются обязательными.
  2. <material> Необязательный элемент материала определяет один или несколько материалов для печати со связанным идентификатором материала. Если ни один элемент материала не включен, предполагается один материал по умолчанию.
  3. <texture> Необязательный элемент текстуры определяет одно или несколько изображений или текстур для отображения цвета или текстуры, каждое из которых имеет связанный идентификатор текстуры.
  4. <constellation> Необязательный элемент совокупности иерархически объединяет объекты и другие совокупности в относительный шаблон для печати.
  5. <metadata> Необязательный элемент метаданных указывает дополнительную информацию об объекте(ах) и элементах, содержащихся в файле.

Спецификация геометрии [ править ]

В формате используется макет полигональной сетки Face-vertex . Каждый верхний уровень <object> элемент указывает уникальный id. <object> элемент также может опционально указывать материал. Вся геометрия сетки содержится в одном <mesh> элемент. Сетка определяется с использованием одного <vertices> элемент и один или несколько <volume> элементы. Требуемый <vertices> Элемент перечисляет все вершины, которые используются в этом объекте. Каждой вершине неявно присваивается номер в том порядке, в котором она была объявлена, начиная с нуля. Обязательный дочерний элемент <coordinates> дает положение точки в трехмерном пространстве с помощью <x>, <y> и <z> элементы. После информации о вершине по крайней мере один <volume> элемент должен быть включен. Каждый том инкапсулирует закрытый том объекта. В одном объекте можно указать несколько томов. Тома могут иметь общие вершины на интерфейсах, но не могут иметь перекрывающихся объемов. Внутри каждого тома дочерний элемент <triangle> используется для определения треугольников, которые мозаично образуют поверхность объема. Каждый <triangle> элемент будет перечислять три вершины из набора индексов ранее определенных вершин, заданных в <vertices> элемент. Индексы трех вершин треугольников задаются с помощью <v1>, <v2> и <v3> элементы. Порядок вершин должен соответствовать правилу правой руки, то есть вершины перечисляются в порядке против часовой стрелки, если смотреть снаружи. Каждому треугольнику неявно присваивается номер в том порядке, в котором он был объявлен, начиная с нуля.

Спецификация цвета [ править ]

Цвета вводятся с помощью <color> элемент, указав красный, зеленый, синий и альфа-каналы ( прозрачность ) в sRGB цветовом пространстве как числа в диапазоне от 0 до 1. <color> Элемент может быть вставлен на уровне материала, объекта, объема, вершины или треугольника и имеет приоритет в обратном порядке (цвет треугольника имеет наивысший приоритет). Канал прозрачности определяет, в какой степени смешивается цвет нижнего уровня. По умолчанию все значения установлены на ноль.

Цвет также можно указать, обратившись к формуле, которая может использовать различные функции, зависящие от координат.

Карты текстур [ править ]

Карты текстур позволяют назначать цвет или материал поверхности или объему, заимствовав идею отображения текстур в графике. <texture> элемент сначала используется для связи texture-id с конкретными данными текстуры. Данные могут быть представлены как 2D- или 3D-массив, в зависимости от того, цвет или материал необходимо сопоставить с поверхностью или объемом. Данные представлены в виде строки байтов в кодировке Base64 , по одному байту на пиксель, определяющему уровень оттенков серого в диапазоне 0–255.

После присвоения идентификатора текстуры на данные текстуры можно ссылаться в формуле цвета, как в примере ниже.

Однако обычно координаты не используются напрямую, как показано выше, а сначала преобразуются, чтобы преобразовать их из координат объекта в координаты текстуры. Например, tex(1,f1(x,y,z),f2(x,y,z),f3(x,y,z)) где f1(), f2(), f3() некоторые функции, обычно линейные.

Спецификация материала [ править ]

Материалы представлены с помощью элемента <material>. Каждому материалу присвоен уникальный идентификатор. Геометрические объемы связаны с материалами путем указания идентификатора материала в элементе <volume>.

, градуированные, решетчатые и случайные материалы Смешанные

Новые материалы можно определить как композиции других материалов. Элемент <composite> используется для указания пропорций композиции в виде константы или формулы, зависящей от координат x, y и z. Постоянная пропорция смешивания приведет к получению однородного материала. Композиция, зависящая от координат, может привести к получению градуированного материала. Более сложные пропорции, зависящие от координат, могут привести к нелинейным градиентам материала, а также к периодической и непериодической субструктуре. Формула пропорции также может ссылаться на карту текстуры, используя tex(textureid,x,y,z) функция. Ссылка на идентификатор материала «0» (void) зарезервирована и может использоваться для указания пористых структур. Ссылка на rand(x,y,z) Функция может использоваться для указания псевдослучайных материалов. rand(x,y,z) функция возвращает случайное число от 0 до 1, постоянное для этой координаты.

Распечатать созвездия [ править ]

Несколько объектов можно объединить вместе с помощью <constellation> элемент. Созвездие может указывать положение и ориентацию объектов для повышения эффективности упаковки и описания больших массивов идентичных объектов. <instance> Элемент определяет смещение и вращение, которым должен подвергнуться существующий объект, чтобы занять свою позицию в созвездии. Смещение и вращение всегда определяются относительно исходного положения и ориентации, в которых был определен объект. Созвездие может ссылаться на другое созвездие, если избегать циклических ссылок.

Если указано несколько созвездий верхнего уровня или указано несколько объектов без созвездий, каждый из них будет импортирован без данных об относительном положении. Программа импорта может затем свободно определять относительное расположение.

Метаданные [ править ]

The <metadata> Элемент может опционально использоваться для указания дополнительной информации об определяемых объектах, геометрии и материалах. Например, в этой информации могут быть указаны имя, текстовое описание, авторство, информация об авторских правах и специальные инструкции. <metadata> Элемент может быть включен на верхний уровень для указания атрибутов всего файла или в объекты, объемы и материалы для указания атрибутов, локальных для этого объекта.

Дополнительные изогнутые треугольники [ править ]

Нашивка изогнутого треугольника. Нормали в вершинах используются для рекурсивного разделения треугольника на четыре подтреугольника.

Чтобы улучшить геометрическую точность, формат позволяет изгибать треугольные участки. По умолчанию все треугольники считаются плоскими, а все ребра треугольников представляют собой прямые линии, соединяющие две их вершины. Однако при желании можно указать изогнутые треугольники и изогнутые края, чтобы уменьшить количество элементов сетки, необходимых для описания изогнутой поверхности. Было показано, что информация о кривизне уменьшает ошибку сферической поверхности в 1000 раз по сравнению с поверхностью, описываемой таким же количеством плоских треугольников. [1] Кривизна не должна создавать отклонения от плоскости плоского треугольника, превышающего 50 % наибольшего размера треугольника.

Чтобы указать кривизну, вершина может содержать дочерний элемент. <normal> чтобы указать желаемую нормаль к поверхности в месте вершины. Нормаль должна быть единичной длины и направлена ​​наружу. Если эта нормаль указана, все ребра треугольника, встречающиеся в этой вершине, изогнуты так, что они перпендикулярны этой нормали и лежат в плоскости, определяемой нормалью и исходным прямым краем. Когда кривизна поверхности в вершине не определена (например, на вершине, углу или ребре), <edge> Элемент можно использовать для указания кривизны одного нелинейного ребра, соединяющего две вершины. Кривизна задается с помощью векторов направления касательных в начале и конце этой кромки. <edge> элемент будет иметь приоритет в случае конфликта с кривизной, подразумеваемой <normal> элемент.

Если задана кривизна, треугольник рекурсивно разбивается на четыре подтреугольника. Рекурсия должна быть выполнена на пять уровней глубины, чтобы исходный изогнутый треугольник в конечном итоге был заменен 1024 плоскими треугольниками. Эти 1024 треугольника генерируются «на лету» и временно сохраняются только до тех пор, пока слои, пересекающие этот треугольник, обрабатываются для производства.

Формулы [ править ]

В обоих <color> и <composite> элементов, вместо констант можно использовать формулы, зависящие от координат. В этих формулах могут использоваться различные стандартные алгебраические и математические операторы и выражения.

Сжатие [ править ]

AMF может храниться либо в виде обычного текста, либо в виде сжатого текста. В сжатом виде сжатие осуществляется в формате ZIP-архива . Размер сжатого файла AMF обычно составляет примерно половину размера эквивалентного сжатого двоичного файла STL. [3] : 275  Сжатие может выполняться вручную с помощью программного обеспечения сжатия или автоматически с помощью программного обеспечения экспорта во время записи. Как сжатые, так и несжатые файлы имеют .amf расширение, и программа синтаксического анализа должна определить, сжат ли файл, и если да, то выполнить распаковку во время импорта.

Аспекты дизайна [ править ]

Когда подкомитет по проектированию ASTM приступил к разработке спецификаций AMF [ когда? ] , опрос заинтересованных сторон [4] выяснилось, что ключевым приоритетом нового стандарта является требование непатентованного формата. Проблемы с юнитами и сборкой вызывали беспокойство, вызванное проблемами с форматом STL. Другими ключевыми требованиями были возможность задавать геометрию с высокой точностью и небольшими размерами файлов, различные материалы, цвета и микроструктуры. Чтобы добиться успеха в области аддитивного производства, этот формат файла был разработан для решения следующих проблем:

  1. Технологическая независимость : формат файла должен описывать объект в общем виде, чтобы любая машина могла построить его в меру своих возможностей. Он не зависит от разрешения и толщины слоя и не содержит информации, специфичной для какого-либо производственного процесса или технологии. Это не отменяет включения свойств, которые поддерживаются только некоторыми продвинутыми машинами (например, цвет, несколько материалов и т. д.), но они определены таким образом, чтобы избежать эксклюзивности.
  2. Простота : формат файла должен быть простым для реализации и понимания. Формат должен быть читаемым и редактируемым в простой программе просмотра текста, чтобы способствовать пониманию и принятию. Никакая идентичная информация не должна храниться в нескольких местах.
  3. Масштабируемость : формат файла должен хорошо масштабироваться с увеличением сложности и размера детали, а также с повышением разрешения и точности производственного оборудования. Это включает в себя возможность обрабатывать большие массивы одинаковых объектов, сложные повторяющиеся внутренние элементы (например, сетки), гладкие изогнутые поверхности с высоким разрешением печати и множество компонентов, расположенных в оптимальной для печати упаковке.
  4. Производительность : формат файла должен обеспечивать разумную продолжительность (интерактивное время) операций чтения и записи и разумные размеры файлов для типичного большого объекта.
  5. Обратная совместимость : любой существующий файл STL должен быть конвертирован непосредственно в действительный файл AMF без потери информации и без необходимости какой-либо дополнительной информации. Файлы AMF также легко конвертируются обратно в STL для использования в устаревших системах, хотя расширенные функции будут потеряны.
  6. Совместимость в будущем : чтобы оставаться полезным в быстро меняющейся отрасли, этот формат файла должен легко расширяться, оставаясь при этом совместимым с более ранними версиями и технологиями. Это позволяет добавлять новые функции по мере развития технологий, при этом безупречно работая с простой однородной геометрией на самом старом оборудовании.

История [ править ]

С середины 1980-х годов формат файлов STL стал де-факто отраслевым стандартом для передачи информации между программами проектирования и оборудованием для аддитивного производства. Формат STL содержал только информацию о поверхностной сетке и не содержал средств для представления цвета, текстуры, материала, подструктуры и других свойств изготовленного целевого объекта. По мере того как технология аддитивного производства развивалась от производства однородных форм в основном из одного материала к созданию полноцветных геометрических фигур из нескольких материалов с функционально градуированными материалами и микроструктурами, росла потребность в стандартном формате файлов обмена, который мог бы поддерживать эти функции. Вторым фактором, поспособствовавшим разработке стандарта, стало повышение разрешения технологий аддитивного производства. Поскольку точность процессов печати приблизилась к микронному разрешению, количество треугольников, необходимых для описания гладких изогнутых поверхностей, привело к неприемлемо большому размеру файла. [4]

В 1990-е и 2000-е годы различные компании использовали ряд проприетарных форматов файлов для поддержки определенных функций своего производственного оборудования, но отсутствие общеотраслевого соглашения препятствовало широкому распространению какого-либо одного формата. В 2006 году Джонатан Д. Хиллер и Ход Липсон представили первоначальную версию AMF, получившую название «STL 2.0». [3] В январе 2009 года был создан новый комитет ASTM F42 по технологиям аддитивного производства, а также сформирован подкомитет по проектированию для разработки нового стандарта. Опрос проводился в конце 2009 года. [4] что привело к более чем году обсуждений нового стандарта. Итоговая первая редакция стандарта AMF стала официальной 2 мая 2011 года. [5]

Во время встреч ASTM F42 и ISO TC261 в июле 2013 года в Ноттингеме (Великобритания) был одобрен совместный план разработки стандартов аддитивного производства. С тех пор стандарт AMF контролируется совместно ISO и ASTM.

Образец файла [ править ]

Объект, созданный примером кода AMF

Ниже приведен простой файл AMF, описывающий пирамиду, сделанную из двух материалов, адаптированный из руководства AMF. [6] (548 байт сжато). Чтобы создать этот файл AMF, скопируйте и вставьте текст под текстом в текстовый редактор или редактор XML и сохраните файл как «pyramid.amf». Затем сожмите файл с помощью ZIP и переименуйте расширение файла с «.zip» на «.zip.amf».

<?xml version="1.0" encoding="utf-8"?>
<amf unit="inch" version="1.1">
  <metadata type="name">Split Pyramid</metadata>
  <metadata type="author">John Smith</metadata> 
  <object id="1">
    <mesh>
      <vertices>
        <vertex><coordinates><x>0</x><y>0</y><z>0</z></coordinates></vertex>
        <vertex><coordinates><x>1</x><y>0</y><z>0</z></coordinates></vertex>
        <vertex><coordinates><x>0</x><y>1</y><z>0</z></coordinates></vertex>
        <vertex><coordinates><x>1</x><y>1</y><z>0</z></coordinates></vertex>
        <vertex><coordinates><x>0.5</x><y>0.5</y><z>1</z></coordinates></vertex>
      </vertices>
      <volume materialid="2">
        <metadata type="name">Hard side</metadata> 
        <triangle><v1>2</v1><v2>1</v2><v3>0</v3></triangle>
        <triangle><v1>0</v1><v2>1</v2><v3>4</v3></triangle>
        <triangle><v1>4</v1><v2>1</v2><v3>2</v3></triangle>
        <triangle><v1>0</v1><v2>4</v2><v3>2</v3></triangle>
      </volume>
      <volume materialid="3">
        <metadata type="name">Soft side</metadata> 
        <triangle><v1>2</v1><v2>3</v2><v3>1</v3></triangle>
        <triangle><v1>1</v1><v2>3</v2><v3>4</v3></triangle>
        <triangle><v1>4</v1><v2>3</v2><v3>2</v3></triangle>
        <triangle><v1>4</v1><v2>2</v2><v3>1</v3></triangle>
      </volume>
    </mesh>
  </object>
  <material id="2">
    <metadata type="name">Hard material</metadata>
    <color><r>0.1</r><g>0.1</g><b>0.1</b></color>
  </material>
  <material id="3">
    <metadata type="name">Soft material</metadata>
    <color><r>0</r><g>0.9</g><b>0.9</b><a>0.5</a></color>
  </material>
</amf>

См. также [ править ]

Примечания [ править ]

  1. ^ Jump up to: Перейти обратно: а б с Спецификация формата обмена данными для аддитивного производства
  2. ^ Спецификация AMF на веб-странице ISO.
  3. ^ Jump up to: Перейти обратно: а б Хиллер, Джонатан Д.; Липсон, Ход (2009). STL 2.0: предложение по универсальному формату файлов аддитивного производства из нескольких материалов (PDF) . Симпозиум по изготовлению твердых тел произвольной формы (SFF'09). Остин, Техас, США: Корнельский университет. Архивировано из оригинала (PDF) 11 июня 2020 г. Проверено 5 мая 2017 г.
  4. ^ Jump up to: Перейти обратно: а б с STL 2.0 может заменить старый ограниченный формат файлов Rapid Today, октябрь 2009 г.
  5. ^ Новая спецификация ASTM по аддитивному производству отвечает на необходимость стандартного формата файла обмена ASTM, 20 июля 2011 г.
  6. ^ Учебное пособие AMF: основы (часть 1)

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fb1def70b95e7de5995422ae3cf404be__1674850620
URL1:https://arc.ask3.ru/arc/aa/fb/be/fb1def70b95e7de5995422ae3cf404be.html
Заголовок, (Title) документа по адресу, URL1:
Additive manufacturing file format - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)