Apuntes del taller

3MF vs STL: cuál formato usar para impresión 3D

Sigo enviando STL, pero preferiría enviar 3MF

La semana pasada un cliente me preguntó por qué le mandaba dos archivos para la misma pieza. “¿No es STL el estándar?” Sí lo es. Pero también tiene treinta y ocho años, y se nota.

Le expliqué que STL solo guarda triángulos. Ni unidades, ni color, ni material, ni idea de si la pieza estaba dibujada en milímetros o en pulgadas. He abierto archivos STL en un laminador y visto cómo una escuadra de 120 mm entraba como 120 pulgadas porque el exportador asumía otra convención de unidades. En una pieza pequeña lo pillas enseguida, pero en un ensamble grande puede fastidiar toda una tirada.

Por eso importa la pregunta de 3MF vs STL: cuál formato para impresión 3D. STL es la opción segura por defecto. 3MF es el archivo mejor cuando el flujo de trabajo del receptor lo soporta. Yo entrego los dos porque no controlo qué programa abre el fabricante del cliente.

Qué es STL en realidad

STL lo creó 3D Systems en 1987 para la estereolitografía. Describe una superficie como un montón de triángulos planos. El STL ASCII se puede leer a mano y pesa un montón. El STL binario es más pequeño, pero sigue siendo solo triángulos. El formato no tiene espacio para unidades, nombres de pieza, miniaturas, ajustes de impresión ni cuerpos múltiples. Si quieres color, tienes que apoyarte en extensiones propietarias que cada programa interpreta a su manera.

Para la mayoría de piezas funcionales de FDM, eso vale. Una escuadra de un solo color, un separador, una carcasa de prototipo: el STL lleva todo lo que el laminador necesita. La malla solo tiene que ser hermética y manifold, y ahí es donde se gasta la mayor parte del trabajo de cómo preparar archivos STL para impresión 3D FDM. Paso más tiempo arreglando normales invertidas y aristas no manifold que decidiendo el formato.

Qué arregla 3MF

3MF salió del 3MF Consortium en 2015 y se convirtió en estándar ISO/IEC en 2025. Guarda la geometría en un paquete XML comprimido en ZIP, y transporta mucho más que triángulos.

El elemento model tiene un atributo de unidades explícito, que por defecto es milímetro. Así un 3MF entra a la escala correcta en Cura, PrusaSlicer o Bambu Studio sin tener que adivinar. Soporta varios objetos en un mismo archivo, cada uno con su propia transformación. Puede incrustar una miniatura, materiales base con colores de visualización, e incluso color mapeado por textura a través de la Materials and Properties Extension. Para impresiones multimaterial o multicuerpo, eso es una diferencia grande.

Los archivos 3MF también suelen ser más pequeños que el STL binario porque la geometría va comprimida dentro del paquete ZIP. En mallas detalladas la diferencia se nota, sobre todo cuando estoy mandando archivos por correo.

[IMAGE: Comparación visual de un archivo STL y un 3MF abiertos en laminador, con geometría idéntica pero escala y metadatos distintos. Estética oscura, acentos ámbar, línea técnica.]

El problema: no todos los 3MF se llevan bien

Aquí está la parte que me costó aprender. “Soportar 3MF” no es lo mismo que “interoperar con 3MF”.

Bambu Studio puede exportar un 3MF genérico del núcleo, pero su guardado por defecto de proyecto escribe extensiones propias de Bambu: placas de construcción, soportes pintados, filamentos, ajustes de proceso. PrusaSlicer y Cura pueden rechazar esos archivos o decir que están vacíos. Lo mismo pasa al revés. Cura escribe proyectos 3MF de UltiMaker Cura que llevan ajustes por objeto y perfiles de máquina. PrusaSlicer suele leer la geometría, pero ignora los metadatos específicos de Cura.

Así que cuando mando un 3MF a un cliente, me aseguro de que sea un 3MF plano y genérico, no un archivo de proyecto. Si el fabricante usa el mismo laminador que yo, mando el proyecto 3MF aparte. Si no, me quedo con 3MF de solo geometría más un STL de reserva.

Cómo elijo en la práctica

Para una pieza funcional sencilla — una escuadra, un separador, una guía de taladro — uso STL por defecto. Todo el mundo lo abre, y no hay nada en la pieza que aproveche los extras del 3MF.

Para ensambles, piezas multicuerpo o cualquier cosa con color o asignación de material, prefiero 3MF. Un solo archivo, escala correcta, varios objetos. Reduce la probabilidad de que alguien importe la mitad de las piezas a tamaño equivocado.

Para servicios de impresión online o clientes que solo quieren “un archivo imprimible”, mando STL. Esos servicios están montados alrededor de STL, y prefiero no meter un formato que su pipeline no espere.

Para iteración interna con un cliente que usa PrusaSlicer o Bambu Studio, mando 3MF. Guardamos orientación, soportes y elección de filamento incrustados. Ahorra una ronda de correos del tipo “¿a qué filamento te referías?”.

Lo que de verdad importa es el flujo

El debate de formatos es menos interesante que el flujo de trabajo que hay alrededor. A ambos les aplico las mismas comprobaciones: malla hermética, sin normales invertidas, densidad de polígonos razonable, voladizos acordes a la impresora elegida, y estrategia de soportes que encaje con el material. Una malla mala en 3MF sigue siendo una malla mala.

Pero 3MF quita toda una clase de fallo: el fallo de escala y unidades. Eso solo ya lo convierte en mi exportación preferida cuando sé que el destino lo puede leer. Hasta que todos los servicios y máquinas legacy se pongan al día, el STL seguirá en la carpeta de entrega. No porque sea mejor, sino porque es el mínimo común denominador que sigue funcionando.