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 del archivo es una abreviatura de estereolitografía . [6]

Un archivo STL describe una superficie triangulada sin estructura por 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 cartesiano tridimensional . [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 hoy en día se encuentran comúnmente coordenadas negativas en los archivos STL. 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 porque son más compactos. [9]

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

Historia

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 ASCII STL comienza con la línea:

 nombre sólido

donde nombre es una cadena opcional (aunque si se omite nombre aún debe haber un espacio después del sólido, por compatibilidad con algún software). El resto de la línea se ignora y algunas veces se utiliza 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 coma flotante en formato signo - mantisa - signoe - exponente , por ejemplo, . El expediente concluye con:2.648000e-002

 nombre sólido final
Un ejemplo ASCII STL de un esférico

La estructura del formato sugiere que existen otras posibilidades (por ejemplo, facetas con más de uno loopo bucles con más de tres vértices). Sin embargo, en la práctica todas las facetas son simples triángulos. [ cita necesaria ]

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 ASCII STL 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 solid, ya que eso puede llevar a que algún software lo confunda con un archivo STL ASCII. Después del encabezado hay un entero sin signo little-endian de 4 bytes que indica el número de facetas triangulares en el archivo. A continuación se muestran datos que describen cada triángulo por turno. La lima simplemente termina después del último triángulo.

Cada triángulo se describe mediante doce números de punto flotante de 32 bits: tres para la normal y luego tres para la coordenada X/Y/Z de cada vértice, tal como ocurre con la versión ASCII de STL. Después de esto sigue un entero sin signo de 2 bytes ("corto") que es el "recuento de bytes de atributo"; en el formato estándar, esto debería ser cero porque la mayoría del software no comprende 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
triángulo foreach - 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 de 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 se invierte en estos dos enfoques, por lo que si bien estos formatos podrían haber sido fácilmente compatibles, la inversión del orden de los colores significa que no lo son y, peor aún, un archivo STL genérico. El lector no puede distinguir automáticamente entre ellos. Tampoco hay manera de que las facetas sean selectivamente transparentes porque no hay un valor alfa por faceta, aunque en el contexto de la actual maquinaria de creación rápida de prototipos, esto no es importante.

faceta normal

Tanto en la versión ASCII como en la binaria de STL, la faceta normal 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 usando la " regla de la mano derecha ", es decir, los vértices se enumeran en orden en el sentido contrario a las agujas del reloj desde el exterior. [ cita necesaria ] Algunos cargadores STL (por ejemplo, el complemento STL para Art of Illusion) verifican que lo normal en el archivo concuerde con lo normal que calculan usando la regla de la mano derecha y advierten al usuario cuando no es así. Otro software puede ignorar por completo la faceta normal y utilizar sólo la regla de la mano derecha. Aunque es raro especificar una normal que no pueda calcularse usando la regla de la mano derecha, para que sea completamente portátil, un archivo debe proporcionar la faceta normal y ordenar los vértices de manera adecuada. Una excepción notable es SolidWorks , que utiliza lo normal para efectos de sombreado .

Características

No es posible utilizar triángulos para representar perfectamente superficies curvas. Para compensar, los usuarios suelen guardar enormes archivos STL 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érdidas 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 triangular al exportar un modelo al formato STL.

Impresión 3d

logotipo de wikipedia

Las impresoras 3D construyen objetos solidificándolos ( 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 sectores) 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 faceta normal incorrecta puede afectar la forma en que se corta y rellena un archivo. Se puede elegir un corte con un valor Z diferente para omitir una faceta defectuosa o se debe devolver el archivo 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 vector normal invertido) y conectada, donde cada borde sea parte de exactamente dos triángulos y no se interseque a sí mismo. Dado que la sintaxis STL no exige esta propiedad, se puede ignorar en aplicaciones donde el vacío no importa. La superficie faltante sólo importa en la medida en que el software que corta los triángulos la requiera para garantizar que los polígonos 2D resultantes estén cerrados. A veces, dicho software se puede escribir para corregir pequeñas discrepancias moviendo los vértices que están muy juntos para que coincidan. Los resultados no son predecibles y es posible que sea necesario repararlos 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 dejar de imprimir.

Otros campos

Modelo STL de la tetera Utah.

STL es simple y fácil de generar. En consecuencia, muchos sistemas de diseño asistido por computadora pueden generar el formato de archivo STL. Aunque el resultado es sencillo de producir, 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 desde el punto de vista de la memoria y el cálculo para transferir estos datos, pero STL se utiliza a menudo para importar la geometría triangulada al sistema CAM . El formato está comúnmente disponible, por lo que el sistema CAM lo utilizará. Para poder utilizar los datos, es posible que el sistema CAM tenga 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 .

Ver 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 archivo 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 . pag. 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; León, KF; Lim, CS (2003), "Capítulo 6, Formatos de creación rápida de prototipos", Creación rápida de prototipos: principios y aplicaciones (2ª ed.), World Scientific Publishing Co. , p. 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: explicado en términos sencillos". Todo 3DP . 2016-11-17 . Consultado el 5 de mayo de 2017 .
  12. ^ ab "STL 2.0 puede reemplazar el formato de archivo antiguo y limitado". Rápido hoy . 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 de múltiples materiales (PDF) . Simposio sobre fabricación de formas libres sólidas (SFF'09). Austin, Texas, Estados Unidos: Universidad de Cornell. Archivado desde el original (PDF) el 11 de junio de 2020 . Consultado el 5 de mayo de 2017 .
  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. págs. 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 la licuadora". 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: ExplicandoElFuture.com. págs. 26–71. ISBN 9781484181768. OCLC  854672031.

enlaces externos