Cookies de estadística y publicidad
Usamos cookies de estadística y de publicidad, y ambas van a Google. Si rechazas, para ti no cambia nada visible.Ir a la página de privacidad
Aquí puedes convertir GLTF a STL gratis y sin cuenta: suelta el archivo arriba y en un par de segundos tienes el resultado listo para descargar. La conversión ocurre en tu propio navegador, así que el archivo no se sube nunca. Funciona igual en Windows, macOS y Linux que en iPhone y Android, y sigue funcionando aunque cortes la conexión.
Hasta 100 archivos a la vez. Mezclar formatos no es problema.
Se convierten uno tras otro y vuelven juntos en un ZIP.
GLTF a STL
Los dos formatos se hicieron para trabajos opuestos y se nota en todo lo que llevan dentro. Un glTF guarda un grafo de escena, materiales, texturas, coordenadas de mapeado, normales, canales de animación y cámaras, porque su propósito es llegar a un motor de render y verse bien. Un STL guarda una lista de triángulos con una normal cada uno, porque su propósito es llegar a un laminador y ser laminado.
La conversión conserva la intersección, que son los triángulos. Todo lo demás se descarta, y es el resultado correcto y no una carencia: un laminador no tiene dónde poner una textura de color base y una impresora no tiene forma de reproducirla. Lo que hay que saber es que el STL es la forma del modelo y nada sobre su aspecto, así que un modelo cuyo interés estaba en la superficie llega como un sólido gris y liso.
Un .gltf es JSON, y la especificación le permite guardar los datos de vértices dentro del propio archivo como URI de datos en base64 o al lado, en un .bin. Los exportadores eligen de forma abrumadora la segunda opción, así que la forma habitual de un glTF descargado es una carpeta: escena.gltf, escena.bin y un directorio de texturas. Abre el .gltf en un editor y el array buffers nombra el archivo.
Aquí una conversión toma un archivo y produce un archivo, de modo que un glTF cuya geometría vive en la puerta de al lado no tiene geometría que leer. El mensaje lo dice en lugar de entregar un modelo vacío: este glTF guarda su geometría en un archivo .bin aparte, convierte mejor la versión .glb, que lo tiene todo en un solo archivo. Ese es el arreglo. Vuelve a exportar como GLB desde Blender, o empaqueta el búfer con gltf-transform, y el mismo modelo se convierte sin más discusión.
Esto le pasa a casi todo el mundo una vez. glTF no declara unidad, pero la especificación y todas las herramientas de su alrededor tratan una unidad como un metro, así que una pieza de ajedrez mide alrededor de 0,08 unidades. Un STL tampoco declara unidad, y todos los laminadores que se han escrito tratan una unidad como un milímetro. El número viaja fielmente y su significado cambia por debajo.
El resultado es un modelo que aparece en la base como una mota casi invisible, y el arreglo es escalar por 1.000 al importar. Hazlo contra una medida que conozcas y no a ojo: mide algo del original —el ancho de una peana, la altura de un detalle conocido— y comprueba que el laminador coincide después de escalar. Un factor de 1.000 dado por supuesto es correcto para un glTF exportado por una herramienta que sigue el estándar y equivocado para uno exportado por un CAD que ya trabajaba en milímetros, y entre las dos cosas hay exactamente una impresión desperdiciada.
Una escena glTF coloca rutinariamente una misma malla varias veces con matrices distintas: el ejemplo de manual son cuatro ruedas que referencian una sola rueda. El conversor recorre el grafo desde la escena por defecto, multiplica la matriz de cada nodo por la de su padre y aplica la matriz de mundo resultante a los vértices antes de escribirlos.
La forma que ves es por tanto correcta y la estructura ha desaparecido. Cuatro ruedas llegan como cuatro conjuntos de triángulos en cuatro sitios y no como una malla instanciada cuatro veces, y el archivo pesa cuatro veces lo que habría pesado. Los nodos dados como traslación, rotación y escala por separado se componen antes en una matriz, en el orden que fija la especificación, de modo que un modelo hecho así aterriza donde aterriza uno hecho con una matriz explícita.
Un STL no tiene concepto de objeto, de grupo ni de nombre: es una lista de triángulos de principio a fin. Todas las mallas encontradas al recorrer la escena se escriben en esa lista única, en el orden en que se visitaron, así que un modelo formado por un cuerpo, una tapa y un asa se convierte en un archivo con tres cascarones cerrados independientes.
Los laminadores lo llevan bien y suelen ofrecer separarlos: PrusaSlicer y Cura detectan cascarones desconectados y pueden repartirlos como objetos distintos sobre la base. Lo que se pierde son los nombres: las piezas vuelven como Parte 1, Parte 2 y Parte 3 en lugar de como las llamaba el glTF. Si los nombres importan, convierte a OBJ, que escribe cada malla como un objeto propio y con el nombre que traía.
Tres negativas, cada una con su mensaje. La geometría comprimida con Draco se detiene con un error propio, porque esa extensión guarda los vértices en un flujo que necesita su propio descodificador y ese descodificador no está aquí; vuelve a exportar sin Draco. Un glTF cuyo búfer está en un .bin se detiene por el motivo de más arriba. Y un archivo sin ninguna geometría de triángulos informa de que no encontró nada.
Hay una cosa que se salta en lugar de rechazarse: las primitivas que no son listas de triángulos. El modo 4 de glTF son triángulos; los modos 0 a 3 son puntos, líneas, bucles y tiras de línea, y los modos 5 y 6 son tiras y abanicos de triángulos. Las tiras y los abanicos son superficie legítima y se pasan por alto, de manera que un modelo exportado por una herramienta que los emite se convertirá con menos triángulos de los que tiene, o con ninguno. Si el recuento del STL queda muy por debajo de lo que declaraba el origen, ese es el motivo que hay que comprobar.
Un STL binario son cincuenta bytes por triángulo más una cabecera de ochenta y cuatro, exactamente y siempre: doce bytes de normal, treinta y seis de coordenadas de los tres vértices y dos de sobra. En el formato no existe compartir vértices, así que una esquina usada por seis triángulos se escribe seis veces.
Un glTF guarda cada vértice una vez y se refiere a él por índice, lo que suele ser entre tres y cuatro veces más compacto para la misma superficie. Cuenta con que el STL pese varias veces la parte de geometría del origen: un modelo de 400.000 triángulos aterriza casi exactamente en 20 MB venga de donde venga. El techo gratuito aquí son 100 MB, alrededor de dos millones de triángulos, y un modelo así ya está por encima de lo que la mayoría de los laminadores llevan con comodidad.
Convertir el archivo es la mitad fácil. Los recursos hechos para renderizar están compuestos de superficies con mucha frecuencia y no de sólidos: una capa sin espesor, una ventana que es un plano único, un personaje cuyos brazos atraviesan el torso en lugar de unirse a él. Un motor de render dibuja todo eso encantado. Un laminador tiene que decidir qué es dentro y qué es fuera, y una superficie sin espesor no tiene dentro.
Cuenta con reparar. PrusaSlicer y Cura avisan de geometría no manifold al cargar y ofrecen un arreglo; el conjunto de herramientas de impresión 3D de Blender informa de aristas no manifold, caras de área cero y geometría que se corta a sí misma, con un recuento y un botón para saltar a cada caso. Hazlo antes de escalar y no después: una herramienta de reparación toma decisiones distintas con un modelo de dos milímetros que con uno de doscientos.
Si el modelo vuelve a una pantalla, quédate con el glTF. Convertir a STL y volver pierde los materiales para siempre y no hay ruta que los recupere. Si el modelo se va a modificar en lugar de imprimir, OBJ conserva los nombres de las piezas y es mejor destino que una bolsa de triángulos.
Y si el modelo se compró o se encargó, revisa las condiciones antes de imprimir y no después. Las licencias de los mercados de recursos cubren con frecuencia el uso en una escena renderizada y no dicen nada sobre la reproducción física, que es un derecho distinto. Eso no tiene nada que ver con la conversión y todo que ver con lo que pasa a continuación.
En esta pestaña, con JavaScript corriente. No se descarga ningún módulo de WebAssembly, ninguna petición lleva el modelo a ninguna parte, no hay cuenta ni cupo diario, y la pestaña de red durante una conversión es la manera de confirmarlo en veinte segundos.
Aquí eso vale más que la frase habitual sobre privacidad. Los modelos 3D encargados o licenciados llegan con condiciones que a menudo prohíben subirlos a servicios de terceros, y el modelo de un producto sin anunciar es un riesgo de divulgación antes que uno de licencia. Nada sale de la máquina, así que ninguna de las dos preguntas llega a plantearse.
Si el STL no lo vas a laminar tú sino que lo va a recibir un fablab, un servicio de impresión o el taller de un centro educativo, hay dos cosas que conviene mandar con el archivo, porque el STL no las lleva. La primera es la escala prevista, con una medida concreta: «la peana mide 60 mm de ancho» evita toda la conversación de metros y milímetros de una vez.
La segunda es para qué es la pieza. Un STL no dice si hay que imprimirla hueca o maciza, con qué orientación, ni qué caras tienen que quedar lisas, y el laminador que la abra tomará esas decisiones por defecto si nadie las escribe. Una línea de texto junto al archivo ahorra más tiempo de impresión que cualquier ajuste que puedas tocar en esta página.
| GLTF | STL | |
|---|---|---|
| Nombre completo | GL Transmission Format | Stereolithography |
| Extensión de archivo | .gltf | .stl |
| Tipo de medio | model/gltf+json | model/stl |
| Publicado por primera vez | 2015 | 1987 |
| Publicado por | Khronos Group | 3D Systems |
| Especificación | glTF 2.0 | — |
| Licencia | Estándar abierto | Estándar abierto |
| Situación actual | Vigente | Vigente |
| Se abre en el navegador | Ningún navegador | Ningún navegador |
| Considerado en su lugar | GLB, OBJ | 3MF, OBJ, PLY |
Blender lee tanto GLTF como STL, así que puedes comparar el resultado con el original sin un segundo programa.
Los dos apuntan a trabajos distintos: GLTF a la web y entregar un archivo terminado y STL a la impresión 3D. Conviene sopesarlo antes, porque la razón de ser de uno suele ser la razón por la que el otro resulta incómodo.
GLTF es el formato de Khronos Group, publicado en 2015. Está recogido en glTF 2.0, y conviene conocerlo si el archivo tiene que sobrevivir a la herramienta que lo escribió.
STL viene de 3D Systems y es de 1987. Blender, PrusaSlicer y Cura lo leen.
STL se publicó en 1987 y GLTF en 2015. El más antiguo suele ser el archivo más seguro para entregar; el más reciente hace lo mismo con menos bytes.
No. Esta conversión ocurre por completo en tu navegador, así que el archivo no sale de tu dispositivo. Puedes comprobarlo tú: abre la pestaña de red de las herramientas de desarrollo y convierte algo. Verás la propia página y las peticiones de estadística y publicidad con las que se paga este servicio, y ni una sola que lleve tu archivo.
Sí. Sin cuenta, sin marca de agua y sin cupo diario que se gaste: se ejecuta en tu propio equipo, así que puedes volver tantas veces como quieras. El navegador procesa archivos de hasta 100 MB, 100 a la vez.
GLTF y STL describen el contenido de maneras radicalmente distintas. La conversión es por tanto una reconstrucción y no una copia: fiel, pero no idéntica byte a byte. Solo la geometría. Los materiales, los colores, las texturas y la animación no viajan, y un modelo colocado varias veces vuelve con cada copia fijada en su propia posición.
Para la conversión no: ocurre en el navegador que ya tienes abierto. Para abrir el resultado necesitas después el programa con el que tu dispositivo muestra normalmente Stereolithography.