El formato de archivo de fabricación aditiva ( AMF ) es un estándar abierto para describir objetos para procesos de fabricación aditiva como la impresión 3D . El oficial ISO / ASTM 52915: 2016 [1] [2] estándar es un XML formato basado diseñado para permitir a cualquier diseño asistido por ordenador software para describir la forma y la composición de cualquier 3D objeto a ser fabricado en cualquier impresora 3D a través de un ordenador -software de fabricación asistida . A diferencia de su formato STL predecesor, AMF tiene soporte nativo para color, materiales, celosías y constelaciones.
Extensión de nombre de archivo | .amf |
---|---|
Tipo de medio de Internet | aplicación / x-amf |
Desarrollado por | ASTM / ISO |
Versión inicial | 2 de mayo de 2011 |
Último lanzamiento | 1.2 |
Estándar | ISO / ASTM52915 - 16 [1] |
Estructura
Un AMF puede representar un objeto o varios objetos dispuestos en una constelación. Cada objeto se describe como un conjunto de volúmenes que no se superponen. Cada volumen se describe mediante una malla triangular que hace referencia a un conjunto de puntos (vértices). Estos vértices se pueden compartir entre volúmenes pertenecientes al mismo objeto. Un archivo AMF también puede especificar el material y el color de cada volumen, así como el color de cada triángulo en la malla. El archivo AMF se comprime con el formato de compresión zip, pero se conserva la extensión de archivo ".amf". Una implementación mínima de lector AMF debe poder descomprimir un archivo AMF e importar al menos información de geometría (ignorando la curvatura).
Estructura de archivo básica
El archivo AMF comienza con la línea de declaración XML que especifica la versión y codificación XML. El resto del archivo se incluye entre un
elemento de apertura y un elemento de cierre . El sistema de unidades también se puede especificar (milímetro, pulgada, pies, metro o micrómetro). En ausencia de una especificación de unidades, se asumen milímetros.
Dentro de los soportes AMF, hay cinco elementos de nivel superior. Solo se requiere un único elemento de objeto para un archivo AMF completamente funcional.
El elemento de objeto define un volumen o volúmenes de material, cada uno de los cuales está asociado con un ID de material para imprimir. Al menos un elemento de objeto debe estar presente en el archivo. Los objetos adicionales son opcionales.
El elemento de material opcional define uno o más materiales para imprimir con un ID de material asociado. Si no se incluye ningún elemento de material, se asume un único material predeterminado.
El elemento de textura opcional define una o más imágenes o texturas para el mapeo de colores o texturas, cada una con un ID de textura asociado.
El elemento de constelación opcional combina jerárquicamente objetos y otras constelaciones en un patrón relativo para imprimir.
El elemento de metadatos opcional especifica información adicional sobre los objetos y elementos contenidos en el archivo.
Especificación de geometría
El formato utiliza un diseño de malla poligonal de vértice cara . Cada elemento de nivel superior especifica un único
id
. El elemento también puede especificar opcionalmente un material. Toda la geometría de la malla está contenida en un solo
mesh
elemento. La malla se define mediante un
elemento y uno o más
elementos. El
elemento requerido enumera todos los vértices que se utilizan en este objeto. A cada vértice se le asigna implícitamente un número en el orden en que se declaró, comenzando en cero. El elemento hijo requerida
da la posición del punto en el espacio 3D usando los
,
y
elementos. Después de la información del vértice, se
debe incluir al menos un elemento. Cada volumen encapsula un volumen cerrado del objeto. Se pueden especificar varios volúmenes en un solo objeto. Los volúmenes pueden compartir vértices en las interfaces, pero es posible que no tengan ningún volumen superpuesto. Dentro de cada volumen, el elemento hijo
se usa para definir triángulos que teselan la superficie del volumen. Cada
elemento enumerará tres vértices del conjunto de índices de los vértices definidos previamente dados en el
elemento. Los índices de los tres vértices de los triángulos se especifican mediante los elementos
,
y
. El orden de los vértices debe estar de acuerdo con la regla de la mano derecha, de modo que los vértices se enumeren en el sentido contrario a las agujas del reloj, visto desde el exterior. A cada triángulo se le asigna implícitamente un número en el orden en que fue declarado, comenzando en cero.
Especificación de color
Los colores se introducen utilizando el
elemento especificando los canales rojo, verde, azul y alfa ( transparencia ) en el espacio de color sRGB como números en el rango de 0 a 1. El
elemento se puede insertar en el material, objeto, volumen, vértice, o niveles de triángulo, y tiene prioridad en orden inverso (el color del triángulo es la prioridad más alta). El canal de transparencia especifica en qué grado se mezcla el color del nivel inferior. De forma predeterminada, todos los valores se establecen en cero.
También se puede especificar un color haciendo referencia a una fórmula que puede usar una variedad de funciones dependientes de coordenadas.
Mapas de textura
Los mapas de textura permiten asignar color o material a una superficie o volumen, tomando prestada la idea del mapeo de texturas en los gráficos. El
elemento se usa primero para asociar un texture-id
con datos de textura particulares. Los datos se pueden representar como una matriz 2D o 3D, dependiendo de si el color o el material deben mapearse en una superficie o un volumen. Los datos se representan como una cadena de bytes en la codificación Base64 , un byte por píxel que especifica el nivel de escala de grises en el rango 0-255.
Una vez que se asigna el id. De textura, se puede hacer referencia a los datos de textura en una fórmula de color, como en el ejemplo siguiente.
Sin embargo, por lo general, las coordenadas no se utilizarán directamente como se muestra arriba, sino que se transformarán primero para llevarlas de las coordenadas del objeto a las coordenadas de la textura. Por ejemplo, tex(1,f1(x,y,z),f2(x,y,z),f3(x,y,z))
dónde se f1(), f2(), f3()
encuentran algunas funciones, normalmente lineales.
Especificación de material
Los materiales se introducen utilizando el elemento
Materiales mixtos, clasificados, reticulados y aleatorios
Los nuevos materiales se pueden definir como composiciones de otros materiales. El elemento
se utiliza para especificar las proporciones de la composición, como constante o como fórmula dependiente de las coordenadas x, y y z. Una proporción de mezcla constante dará lugar a un material homogéneo. Una composición dependiente de las coordenadas puede conducir a un material graduado. Proporciones dependientes de coordenadas más complejas pueden conducir a gradientes de material no lineales, así como a subestructuras periódicas y no periódicas. La fórmula de proporción también puede referirse a un mapa de textura usando la tex(textureid,x,y,z)
función. La referencia a material-id "0" (vacío) está reservada y puede usarse para especificar estructuras porosas. La referencia a la rand(x,y,z)
función se puede utilizar para especificar materiales pseudoaleatorios. La rand(x,y,z)
función devuelve un número aleatorio entre 0 y 1 que es persistente para esa coordenada.
Imprimir constelaciones
Se pueden organizar varios objetos juntos utilizando el
elemento. Una constelación puede especificar la posición y orientación de los objetos para aumentar la eficiencia de empaquetado y describir grandes conjuntos de objetos idénticos. El
elemento especifica el desplazamiento y la rotación que necesita un objeto existente para llegar a su posición en la constelación. El desplazamiento y la rotación siempre se definen con relación a la posición y orientación originales en las que se definió el objeto. Una constelación puede referirse a otra constelación siempre que se eviten las referencias cíclicas.
Si se especifican varias constelaciones de nivel superior, o si se especifican objetos multicapa sin constelaciones, cada una de ellas se importará sin datos de posición relativa. El programa de importación puede entonces determinar libremente el posicionamiento relativo.
Metadatos
El
elemento se puede utilizar opcionalmente para especificar información adicional sobre los objetos, geometrías y materiales que se definen. Por ejemplo, esta información puede especificar un nombre, descripción textual, autoría, información de derechos de autor e instrucciones especiales. El
elemento se puede incluir en el nivel superior para especificar atributos de todo el archivo, o dentro de objetos, volúmenes y materiales para especificar atributos locales a esa entidad.
Triángulos curvos opcionales
Para mejorar la fidelidad geométrica, el formato permite curvar los parches triangulares. De forma predeterminada, se supone que todos los triángulos son planos y que todos los bordes de los triángulos son líneas rectas que conectan sus dos vértices. Sin embargo, los triángulos curvos y los bordes curvos se pueden especificar opcionalmente para reducir el número de elementos de malla necesarios para describir una superficie curva. Se ha demostrado que la información de curvatura reduce el error de una superficie esférica en un factor de 1000 en comparación con una superficie descrita por el mismo número de triángulos planos. [1] La curvatura no debe crear una desviación del plano del triángulo plano que exceda el 50% de la dimensión más grande del triángulo.
Para especificar la curvatura, un vértice puede contener opcionalmente un elemento hijo
para especificar la superficie normal deseada en la ubicación del vértice. Lo normal debe ser una unidad de longitud y apuntando hacia afuera. Si se especifica esta normal, todas las aristas de los triángulos que se encuentran en ese vértice se curvan de modo que sean perpendiculares a esa normal y en el plano definido por la normal y la arista recta original. Cuando la curvatura de una superficie en un vértice no está definida (por ejemplo, en una cúspide, esquina o borde),
se puede usar un elemento para especificar la curvatura de un solo borde no lineal que une dos vértices. La curvatura se especifica utilizando los vectores de dirección de la tangente al principio y al final de esa arista. El
elemento tendrá prioridad en caso de conflicto con la curvatura que implica un
elemento.
Cuando se especifica la curvatura, el triángulo se descompone de forma recursiva en cuatro sub-triángulos. La recursividad debe ejecutarse a cinco niveles de profundidad, de modo que el triángulo curvo original sea finalmente reemplazado por 1024 triángulos planos. Estos 1024 triángulos se generan "sobre la marcha" y se almacenan temporalmente solo mientras las capas que se cruzan con ese triángulo se procesan para la fabricación.
Fórmulas
En los elementos
y
, se pueden usar fórmulas dependientes de coordenadas en lugar de constantes. Estas fórmulas pueden utilizar varios operadores y expresiones algebraicos y matemáticos estándar.
Compresión
Un AMF se puede almacenar como texto sin formato o como texto comprimido. Si está comprimido, la compresión está en formato de archivo ZIP . Un archivo AMF comprimido suele tener aproximadamente la mitad del tamaño de un archivo STL binario comprimido equivalente. [3] : 275 La compresión se puede realizar manualmente mediante el software de compresión o automáticamente mediante el software de exportación durante la escritura. Tanto los archivos comprimidos como los no comprimidos tienen la .amf
extensión y es responsabilidad del programa de análisis determinar si el archivo está comprimido o no y, de ser así, realizar la descompresión durante la importación.
Consideraciones de diseño
Cuando el subcomité de diseño de ASTM comenzó a desarrollar las especificaciones AMF [ ¿cuándo? ] , una encuesta a las partes interesadas [4] reveló que la prioridad clave para la nueva norma era el requisito de un formato no propietario . Las unidades y los problemas de edificabilidad eran una preocupación persistente debido a los problemas con el formato STL. Otros requisitos clave fueron la capacidad de especificar geometría con alta fidelidad y tamaños de archivo pequeños, múltiples materiales, colores y microestructuras. Para tener éxito en el campo de la fabricación aditiva, este formato de archivo se diseñó para abordar las siguientes inquietudes
- Independencia de la tecnología : el formato de archivo debe describir un objeto de manera general, de modo que cualquier máquina pueda construirlo lo mejor que pueda. Es independiente de la resolución y del espesor de la capa, y no contiene información específica de ningún proceso o técnica de fabricación. Esto no niega la inclusión de propiedades que solo admiten ciertas máquinas avanzadas (por ejemplo, color, múltiples materiales, etc.), pero estas están definidas de tal manera que se evite la exclusividad.
- Sencillez : el formato de archivo debe ser fácil de implementar y comprender. El formato debe ser legible y editable en un visor de texto simple, con el fin de fomentar su comprensión y adopción. No se debe almacenar información idéntica en varios lugares.
- Escalabilidad : el formato de archivo debe escalar bien con el aumento de la complejidad y el tamaño de la pieza, y con la mejora de la resolución y precisión de los equipos de fabricación. Esto incluye poder manejar grandes conjuntos de objetos idénticos, características internas complejas repetidas (por ejemplo, mallas), superficies curvas suaves con una resolución de impresión fina y múltiples componentes dispuestos en un empaque óptimo para la impresión.
- Rendimiento : el formato de archivo debe permitir una duración razonable (tiempo interactivo) para las operaciones de lectura y escritura y tamaños de archivo razonables para un objeto grande típico.
- Compatibilidad con versiones anteriores : cualquier archivo STL existente debe convertirse directamente en un archivo AMF válido sin pérdida de información y sin necesidad de información adicional. Los archivos AMF también se pueden convertir fácilmente a STL para su uso en sistemas heredados, aunque se perderán las funciones avanzadas.
- Compatibilidad futura : para seguir siendo útil en una industria que cambia rápidamente, este formato de archivo debe ser fácilmente ampliable y al mismo tiempo seguir siendo compatible con versiones y tecnologías anteriores. Esto permite que se agreguen nuevas funciones a medida que los avances en la tecnología lo justifiquen, mientras sigue funcionando sin problemas para obtener geometrías simples y homogéneas en el hardware más antiguo.
Historia
Desde mediados de la década de 1980, el formato de archivo STL ha sido el estándar industrial de facto para transferir información entre programas de diseño y equipos de fabricación aditiva. El formato STL solo contenía información sobre una malla de superficie y no tenía disposiciones para representar el color, la textura, el material, la subestructura y otras propiedades del objeto de destino fabricado. A medida que la tecnología de fabricación aditiva evolucionó de producir principalmente formas homogéneas de un solo material a producir geometrías de múltiples materiales a todo color con materiales y microestructuras graduados funcionalmente, existía una necesidad creciente de un formato de archivo de intercambio estándar que pudiera admitir estas características. Un segundo factor que marcó el comienzo del desarrollo de la norma fue la mejora de la resolución de las tecnologías de fabricación aditiva. A medida que la fidelidad de los procesos de impresión se acercaba a la resolución de escala micrométrica, el número de triángulos necesarios para describir superficies curvas suaves resultó en tamaños de archivo inaceptablemente grandes. [4]
Durante las décadas de 1990 y 2000, varias empresas utilizaron varios formatos de archivo patentados para admitir características específicas de sus equipos de fabricación, pero la falta de un acuerdo en toda la industria impidió la adopción generalizada de cualquier formato único. En 2006, Jonathan D. Hiller y Hod Lipson presentaron una versión inicial de AMF denominada "STL 2.0". [3] En enero de 2009, se estableció un nuevo Comité F42 de ASTM sobre tecnologías de fabricación aditiva y se formó un subcomité de diseño para desarrollar una nueva norma. Se realizó una encuesta a finales de 2009 [4] que dio lugar a más de un año de deliberaciones sobre la nueva norma. La primera revisión resultante de la norma AMF se hizo oficial el 2 de mayo de 2011. [5]
Durante las reuniones de julio de 2013 de ASTM's F42 y ISO's TC261 en Nottingham (Reino Unido), se aprobó el Plan Conjunto para el Desarrollo de Normas de Fabricación Aditiva. Desde entonces, la norma AMF es gestionada conjuntamente por ISO y ASTM.
Archivo de muestra
A continuación se muestra un archivo AMF simple que describe una pirámide hecha de dos materiales, adaptado del tutorial AMF [6] (548 bytes comprimidos). Para crear este archivo AMF, copie y pegue el texto debajo del texto en un editor de texto o un editor xml, y guarde el archivo como "pyramid.amf". A continuación, comprima el archivo con ZIP y cambie el nombre de la extensión del archivo de ".zip" a ".zip.amf".
xml version = "1.0" encoding = "utf-8"?> unit = "inch" version = "1.1" > type = "name" > Split Pyramid type = "autor " > John Smith id = " 1 " > 0 0 0 1 0 0 értice> 0 1 0 1 1 0 0.5 0.5 1 materialid = "2" > type = "name" > lado duro 2 < v2> 1 0 0 1 4 ángulo> 4 1 2 ángulo> 0 4 2 materialid = "3" > type = "name" > lado suave 2 3 1 1 3 4 4 3 2 4 2 1 id = "2" > type = "name" > Difícil material 0.1 0.1 0.1 id = "3" > type = "name" > Material blando 0 0.9 0.9 0.5
Ver también
Notas
- ^ a b c Especificación para el formato de intercambio de datos para la fabricación aditiva
- ^ Especificación de AMF en la página web ISO
- ↑ a b Hiller, Jonathan D .; Lipson, Hod (2009). STL 2.0: Una propuesta para un formato de archivo de fabricación aditiva universal de múltiples materiales (PDF) . Simposio de fabricación de formas libres sólidas (SFF'09). Austin, TX, EE.UU .: Cornell University. Archivado desde el original (PDF) el 11 de junio de 2020 . Consultado el 5 de mayo de 2017 .
- ^ a b c STL 2.0 puede reemplazar el antiguo formato de archivo limitado rápidamente hoy, octubre de 2009
- ^ La nueva especificación de fabricación aditiva de ASTM responde a la necesidad de un formato de archivo de intercambio estándar ASTM, 20 de julio de 2011
- ^ Tutorial de AMF: Conceptos básicos (Parte 1)
enlaces externos
- Wiki AMF : un repositorio de recursos AMF, archivos de muestra y código fuente
- Página AMF de Jon Hiller