stringtranslate.com

STL (formato de archivo)

STL es un formato de archivo nativo del software CAD de estereolitografía creado por 3D Systems . [3] [4] [5] Chuck Hull , el inventor de la estereolitografía y fundador de 3D Systems, informa que la extensión de archivo es una abreviatura de estereolitografía . [6]

Un archivo STL describe una superficie triangulada sin estructurar mediante la unidad normal y los vértices (ordenados por la regla de la mano derecha [2] ) de los triángulos utilizando un sistema de coordenadas cartesianas tridimensionales . [7] En la especificación original, se requería que todas las coordenadas STL fueran números positivos, pero esta restricción ya no se aplica y las coordenadas negativas se encuentran comúnmente en los archivos STL actuales. Los archivos STL no contienen información de escala y las unidades son arbitrarias. [8] Los archivos STL describen solo la geometría de la superficie de un objeto tridimensional sin ninguna representación de color, textura u otros atributos comunes del modelo CAD. El formato STL especifica representaciones tanto ASCII como binarias . Los archivos binarios son más comunes, ya que son más compactos. [9]

STL se utiliza ampliamente para la creación rápida de prototipos , la impresión 3D y la fabricación asistida por computadora , [10] y es compatible con muchos otros paquetes de software. [ cita requerida ]

Historia

El formato STL fue inventado por Albert Consulting Group para 3D Systems en 1987. [11] El formato fue desarrollado para las primeras impresoras 3D comerciales de 3D Systems. Desde su lanzamiento inicial, el formato se mantuvo relativamente sin cambios durante 22 años. [12]

En 2009, se propuso una actualización del formato, denominada STL 2.0, que evolucionó hasta convertirse en el formato de archivo de fabricación aditiva . [12] [13]

Formato

ASCII

Un archivo STL ASCII comienza con la línea:

 nombre sólido

donde el nombre es una cadena opcional (aunque si se omite el nombre , debe haber un espacio después del carácter sólido, por compatibilidad con algún software). El resto de la línea se ignora y a veces se usa para almacenar metadatos (por ejemplo, nombre de archivo, autor, fecha de modificación, etc.). [14] El archivo continúa con cualquier número de triángulos, cada uno representado de la siguiente manera: [15]

faceta normal  n i  n j  n k  vértice del bucle externo  v1 x v1 y v1 z vértice v2 x v2 y v2 z vértice v3 x v3 y v3 z endloop endfacet            

donde cada n o v es un número de punto flotante en formato signo - mantisa - esigno - exponente , p. ej., . El archivo concluye con :2.648000e-002

 nombre solido
Un ejemplo de STL ASCII de un esferón

La estructura del formato sugiere que existen otras posibilidades (por ejemplo, facetas con más de un loop, o bucles con más de tres vértices). En la práctica, sin embargo, todas las facetas son triángulos simples. [ cita requerida ]

Los espacios en blanco (espacios, tabulaciones, nuevas líneas) se pueden utilizar en cualquier parte del archivo, excepto dentro de números o palabras. Los espacios entre facety normaly entre outery loopson obligatorios. [9]

Binario

Debido a que los archivos STL ASCII pueden ser muy grandes, existe una versión binaria de STL. Un archivo STL binario tiene un encabezado de 80 caracteres que generalmente se ignora, pero nunca debe comenzar con la representación ASCII de la cadena , ya que eso puede hacer que algunos programas lo confundan con un archivo STL ASCII. Después del encabezado hay un entero sin signo little-endiansolid de 4 bytes que indica la cantidad de facetas triangulares en el archivo. A continuación, hay datos que describen cada triángulo por turno. El archivo simplemente termina después del último triángulo.

Cada triángulo se describe mediante 12 números de punto flotante de 32 bits: 3 para la normal y 3 para las coordenadas X/Y/Z de cada vértice, tal como sucede con la versión ASCII de STL. Después de estos, sigue un entero sin signo de 2 bytes ("corto") que es el "número de bytes del atributo"; en el formato estándar, este debería ser cero porque la mayoría del software no entiende nada más. [9]

Los números de punto flotante se representan como números de punto flotante IEEE y se supone que son little-endian , aunque esto no se indica en la documentación.

UINT8[80] – Encabezado - 80 bytesUINT32 – Número de triángulos - 4 bytes
foreach triangulo - 50 bytes: REAL32[3] – Vector normal - 12 bytes REAL32[3] – Vértice 1 - 12 bytes REAL32[3] – Vértice 2 - 12 bytes REAL32[3] – Vértice 3 - 12 bytes UINT16 – Recuento de bytes del atributo: 2 bytesfin

Existen al menos dos variaciones no estándar del formato binario STL para agregar información de color:

El orden rojo/verde/azul dentro de esos dos bytes está invertido en estos dos enfoques, por lo que, si bien estos formatos podrían haber sido compatibles fácilmente, la inversión del orden de los colores significa que no lo son; y peor aún, un lector de archivos STL genérico no puede distinguirlos automáticamente. Tampoco hay forma de que las facetas sean selectivamente transparentes porque no hay un valor alfa por faceta, aunque en el contexto de la maquinaria actual de prototipado rápido, esto no es importante.

Faceta normal

En las versiones ASCII y binarias de STL, la normal de la faceta debe ser un vector unitario que apunte hacia afuera desde el objeto sólido. [16] En la mayoría del software, esto se puede establecer en (0,0,0), y el software calculará automáticamente una normal basada en el orden de los vértices del triángulo utilizando la " regla de la mano derecha ", es decir, los vértices se enumeran en orden antihorario desde afuera. [ cita requerida ] Algunos cargadores STL (por ejemplo, el complemento STL para Art of Illusion) verifican que la normal en el archivo concuerde con la normal que calculan utilizando la regla de la mano derecha y advierten al usuario cuando no es así. Otro software puede ignorar la normal de la faceta por completo y utilizar solo la regla de la mano derecha. Aunque es raro especificar una normal que no se pueda calcular utilizando la regla de la mano derecha, para ser completamente portátil, un archivo debe proporcionar la normal de la faceta y ordenar los vértices de manera adecuada. Una excepción notable es SolidWorks , que utiliza la normal para efectos de sombreado .

Características

No es posible utilizar triángulos para representar superficies curvas a la perfección. Para compensar, los usuarios suelen guardar archivos STL enormes para reducir la inexactitud. Sin embargo, los formatos nativos asociados con muchas aplicaciones de diseño 3D utilizan superficies matemáticas para preservar los detalles sin pérdida en archivos pequeños. Por ejemplo, Rhino 3D [17] y Blender [18] implementan NURBS para crear superficies curvas reales y almacenarlas en sus respectivos formatos de archivo nativos, pero deben generar una malla de triángulos al exportar un modelo al formato STL.

Impresión 3D

Logotipo de Wikipedia

Las impresoras 3D construyen objetos solidificando ( SLA , SLS , SHS , DMLS , EBM , DLP ) o imprimiendo (3DP, MJM, FDM , FFF , PJP, MJS) [19] una capa a la vez. Esto requiere una serie de contornos 2D cerrados (capas horizontales) que se rellenan con material solidificado a medida que las capas se fusionan. Un formato de archivo natural para una máquina de este tipo sería una serie de polígonos cerrados (capas o cortes) correspondientes a diferentes valores Z. Sin embargo, dado que es posible variar los espesores de las capas para una construcción más rápida aunque menos precisa, fue más fácil definir el modelo a construir como un poliedro cerrado que se puede cortar en los niveles horizontales necesarios. Una normal de faceta incorrecta puede afectar la forma en que se corta y se rellena un archivo. Se puede elegir un corte en un valor Z diferente para omitir una faceta defectuosa o el archivo debe devolverse al programa CAD para realizar correcciones y luego regenerar el archivo STL.

Para formar correctamente un volumen 3D, la superficie representada por cualquier archivo STL debe estar cerrada (sin agujeros ni normal vectorial invertida) y conectada, donde cada borde sea parte de exactamente dos triángulos y no se autointersecte. Dado que la sintaxis STL no impone esta propiedad, se puede ignorar para aplicaciones donde el vacío no importa. La superficie faltante solo importa en la medida en que el software que corta los triángulos lo requiera para garantizar que los polígonos 2D resultantes sean cerrados. A veces, este tipo de software se puede escribir para limpiar pequeñas discrepancias moviendo vértices que están cerca entre sí para que coincidan. Los resultados no son predecibles y pueden requerir reparación con otro programa. Las impresoras 3D vectoriales requieren un archivo STL limpio y la impresión de un archivo de datos incorrecto no se llenará o puede detener la impresión.

Otros campos

Modelo STL de la tetera Utah

El formato STL es simple y fácil de generar. Por lo tanto, muchos sistemas de diseño asistido por computadora pueden generar el formato de archivo STL. Si bien el resultado es simple de generar, la información de conectividad de la malla se descarta porque se pierde la identidad de los vértices compartidos.

Muchos sistemas de fabricación asistidos por ordenador requieren modelos triangulados. El formato STL no es el método más eficiente en términos de memoria y computación para transferir estos datos, pero STL se utiliza a menudo para importar la geometría triangulada al sistema CAM . El formato está disponible comúnmente, por lo que el sistema CAM lo utilizará. Para utilizar los datos, el sistema CAM puede tener que reconstruir la conectividad. Como los archivos STL no guardan la dimensión física de una unidad, un sistema CAM la solicitará. Las unidades típicas son mmy inch.

STL también se puede utilizar para intercambiar datos entre sistemas CAD/CAM y entornos computacionales como Mathematica .

Véase también

Referencias

  1. ^ Noordvyk, Allan (6 de marzo de 2018). "modelo/stl". iana.org . IANA . Consultado el 30 de mayo de 2022 .
  2. ^ ab "Familia de formatos de archivos STL (StereoLithography)". Biblioteca del Congreso . Consultado el 30 de mayo de 2022 .
  3. ^ Especificación de interfaz de estereolitografía , 3D Systems, Inc., julio de 1988
  4. ^ Especificación de interfaz de estereolitografía , 3D Systems, Inc., octubre de 1989
  5. ^ Especificación de archivo SLC , 3D Systems, Inc., 1994
  6. ^ Grimm, Todd (2004). "3. El proceso de creación rápida de prototipos". Guía del usuario para la creación rápida de prototipos . Sociedad de Ingenieros de Fabricación . pág. 55. ISBN 0-87263-697-6.
  7. ^ Burkardt, John (10 de julio de 2014). «Archivos STLA: archivos de estereolitografía ASCII» . Consultado el 30 de mayo de 2022 .
  8. ^ "El formato StL: formato de datos estándar para Fabbers". fabbers.com: recurso histórico sobre impresión 3D . Consultado el 30 de mayo de 2022 .
  9. ^ abc Burns, Marshall (1993). "6.5". Fabricación automatizada: mejora de la productividad en la fabricación . Prentice Hall PTR . ISBN 9780131194625.OCLC 634954895  .
  10. ^ Chua, CK; Leong, KF; Lim, CS (2003), "Capítulo 6, Formatos de prototipado rápido", Prototipado rápido: principios y aplicaciones (2.ª ed.), World Scientific Publishing Co. , pág. 237, ISBN 981-238-117-1El archivo STL (STeroLithography) , como estándar de facto, se ha utilizado en muchos, si no en todos, los sistemas de creación rápida de prototipos.
  11. ^ "Formato de archivo STL para impresión 3D: explicación en términos sencillos". All3DP . 2016-11-17 . Consultado el 2017-05-05 .
  12. ^ ab "STL 2.0 puede reemplazar el antiguo y limitado formato de archivo". RapidToday . Consultado el 5 de mayo de 2017 .
  13. ^ Hiller, Jonathan D.; Lipson, Hod (2009). STL 2.0: Una propuesta para un formato de archivo universal de fabricación aditiva multimaterial (PDF) . Simposio de fabricación de formas libres sólidas (SFF'09). Austin, Texas, EE. UU.: Universidad de Cornell. Archivado desde el original (PDF) el 2020-06-11 . Consultado el 2017-05-05 .
  14. ^ Bourke, Paul (octubre de 1999). "Formato STL".
  15. ^ "Formato de archivo STL (StereoLithography), ASCII". Biblioteca del Congreso . Consultado el 30 de mayo de 2022 .
  16. ^ Peddie, Jon (2013). La historia de la magia visual en las computadoras: cómo se crean imágenes hermosas en CAD, 3D, VR y AR. Londres, Inglaterra: Springer. pp. 54–57. ISBN 9781447149323.OCLC 849634980  .
  17. ^ "¿Qué son las NURBS?". www.rhino3d.com . Consultado el 25 de junio de 2021 .
  18. ^ "Estructura — Manual de Blender". docs.blender.org . Consultado el 25 de junio de 2021 .
  19. ^ Barnatt, Christopher (2013). Impresión 3D: la próxima revolución industrial. Nottingham, Inglaterra: ExplainingTheFuture.com. pp. 26–71. ISBN 9781484181768.OCLC 854672031  .

Enlaces externos