STL, OBJ ou 3MF: qual formato de arquivo 3D usar?
Use STL para uma impressão de uma cor só que você só precisa fatiar, OBJ quando o modelo tem texturas para renderização ou para um motor de jogo, e 3MF quando o seu fatiador é compatível e você quer que unidades, cores e várias peças cheguem intactas. O formato define quais metadados acompanham a malha; ele nunca define se a malha em si está correta.
STL: uma lista de triângulos e mais nada
O STL foi criado em 1987 para as primeiras máquinas de estereolitografia da 3D Systems, e o projeto mostra essa origem. Um arquivo é uma lista simples de triângulos, cada um descrito por uma normal da face e três pontos de canto. Não há tabela de vértices compartilhados, então um canto que toca seis triângulos é escrito seis vezes. Também não há campo de unidade: uma coordenada 25 pode significar milímetros, polegadas ou metros, e quase todo fatiador presume milímetros. Cor, textura e nomes de peças não têm lugar no formato básico, e é justamente por isso que todo fatiador, programa de CAD e serviço de impressão ainda o lê.
O STL tem duas codificações. O STL ASCII escreve tudo em texto, com linhas como facet normal, outer loop e vertex 12.5 0 3.2, então dá para abrir em um editor de texto e ler os números. O STL binário começa com um cabeçalho de 80 bytes e uma contagem de triângulos de 4 bytes, depois guarda cada triângulo como doze números de ponto flutuante de 4 bytes mais um campo de atributo de 2 bytes: exatamente 50 bytes por triângulo. Essa regra facilita prever o tamanho. Um modelo de um milhão de triângulos tem cerca de 50 MB em binário, e a versão ASCII da mesma malha costuma ser de quatro a seis vezes maior, porque cada dígito vira um caractere.
A simplicidade é ao mesmo tempo a força e a armadilha. Um STL não diz se era para ser uma peça ou três, se foi exportado em polegadas ou se seus triângulos realmente envolvem um sólido. O fatiador deduz isso das coordenadas brutas, e quando erra você recebe uma peça 25,4 vezes menor ou uma parede faltando. Para uma peça de uma cor só, projetada por você e exportada em milímetros, nada disso importa, e o STL continua sendo o formato com menor chance de ser rejeitado.
OBJ: polígonos, UVs e um arquivo de materiais à parte
O OBJ vem da Wavefront Technologies, cujo software Advanced Visualizer o usava no fim dos anos 1980, e se espalhou nos anos 1990 como o formato em texto simples que quase todo programa 3D conseguia trocar. Diferente do STL, ele mantém uma lista de vértices e monta as faces por índices, então um canto compartilhado é guardado uma vez, e as faces podem ser triângulos, quadriláteros ou polígonos maiores. Linhas que começam com v guardam posições, vt coordenadas de textura (UVs), vn normais e f as faces. Grupos (g) e objetos (o) dão nome às partes, então o OBJ atravessa idas e vindas entre Blender, Maya ou ZBrush com a estrutura intacta.
A aparência fica fora do arquivo .obj. Uma linha mtllib indica um arquivo .mtl complementar, e linhas usemtl atribuem materiais às faces. O arquivo .mtl guarda cores como Kd (difusa) e aponta para imagens de textura com entradas como map_Kd wood.png. Um OBJ com textura são, portanto, pelo menos três arquivos: a geometria, a biblioteca de materiais e uma ou mais imagens, todos referenciados por caminho relativo. Se você enviar só o .obj, quem recebe vê um modelo cinza. Essa separação é útil em fluxos de jogos e efeitos visuais, em que artistas trocam texturas sem mexer na geometria, e é o motivo mais comum de um modelo baixado parecer errado.
O OBJ compartilha a falha do STL em relação à escala: guarda números puros, sem unidade. A maioria das ferramentas de modelagem escreve em metros ou centímetros, enquanto os fatiadores leem milímetros, então um OBJ de uma loja de assets para jogos pode chegar com erro de 10 ou 1.000 vezes. Para imprimir, o OBJ não acrescenta nada que um fatiador use, exceto cor por vértice em algumas ferramentas; se você precisa imprimir um asset artístico, o mais simples costuma ser manter as texturas para renderização e enviar ao fatiador uma malha limpa. No sentido inverso, transformar um STL em OBJ é o caminho mais curto de um modelo de impressão para um fluxo de renderização ou de jogos.
3MF: um pacote ZIP feito para impressão
O 3MF foi publicado em 2015 pelo 3MF Consortium, um grupo iniciado pela Microsoft com empresas da indústria de impressão e de CAD. Um arquivo .3mf é um arquivo ZIP, o mesmo contêiner discutido em ZIP vs RAR vs 7z. Renomeie um para .zip e você encontra um arquivo XML 3D/3dmodel.model com a malha, um arquivo de tipos de conteúdo, arquivos de relacionamento e, muitas vezes, miniaturas e a configuração do fatiador. Cada modelo declara sua unidade (mícron, milímetro, centímetro, polegada, pé ou metro), então o problema de escala que atormenta STL e OBJ simplesmente não ocorre. Cores, materiais base, vários objetos e sua posição na mesa de impressão fazem parte da especificação.
A especificação também exige que as malhas sejam manifold e consistentemente orientadas: cada aresta compartilhada por exatamente dois triângulos, todos voltados para fora. Exportadores que seguem as regras não conseguem escrever a geometria aberta e com autointerseções que um STL carrega sem reclamar. O suporte é amplo entre as ferramentas atuais. PrusaSlicer, Bambu Studio, OrcaSlicer e UltiMaker Cura leem 3MF, PrusaSlicer e Bambu Studio salvam o projeto inteiro como .3mf, com configurações de impressão e cores pintadas dentro, e o aplicativo 3D Builder da Microsoft no Windows o abre diretamente. O ponto fraco são firmwares antigos, portais de fazendas de impressão e importadores de CAD que ainda esperam STL; para esses, converta o 3MF em STL e aceite que os extras ficam para trás.
| from ↓ · to → | Units | Color | Textures | Várias peças | Configurações de impressão | Regra manifold |
|---|---|---|---|---|---|---|
| STL | – STL to Units: no | – STL to Color: no | – STL to Textures: no | – STL to Várias peças: no | – STL to Configurações de impressão: no | – STL to Regra manifold: no |
| OBJ | – OBJ to Units: no | OBJ to Color: yes | OBJ to Textures: yes | OBJ to Várias peças: yes | – OBJ to Configurações de impressão: no | – OBJ to Regra manifold: no |
| 3MF | 3MF to Units: yes | 3MF to Color: yes | 3MF to Textures: yes | 3MF to Várias peças: yes | 3MF to Configurações de impressão: yes | 3MF to Regra manifold: yes |
Escolhendo o formato para cada tarefa
O formato certo depende de para onde o arquivo vai em seguida, não de qual é o mais novo. Se a próxima parada é um fatiador e a peça tem uma só cor, o STL serve, e ainda é o formato que todo fórum, biblioteca de modelos e serviço de impressão entende. Se a próxima parada é um renderizador, um motor de jogo ou o programa de modelagem de outro artista, o OBJ mantém os UVs, as normais e os grupos nomeados que o STL descarta, e sua forma em texto facilita a inspeção de problemas.
O 3MF se justifica quando o arquivo carrega mais que geometria. Uma impressão multicolorida pintada no Bambu Studio, uma mesa com doze peças organizadas para um só trabalho, uma peça projetada em polegadas ou um projeto que você quer reabrir com a mesma altura de camada e o mesmo preenchimento exigem 3MF, porque nenhum outro formato aqui guarda essas informações. Para vários destinos, mantenha a versão mais completa como cópia mestra e exporte as mais simples a partir dela com um conversor de modelos 3D, em vez de encadear conversões.
STL para impressões simples
Uma peça, uma cor, exportada em milímetros. Abre em qualquer fatiador, caixa de importação de CAD e formulário de envio de serviço de impressão.
OBJ para modelos com textura
UVs, normais e grupos nomeados para Blender, Maya, Unity ou Unreal. Envie o arquivo .mtl e as imagens de textura junto.
3MF para fatiadores modernos
Unidades reais, cores, vários objetos e configurações de impressão em um só ZIP. Formato de projeto nativo do PrusaSlicer e do Bambu Studio.
Cinco problemas comuns em arquivos 3D
A maioria das impressões que falham e das importações quebradas atribuídas ao formato são, na verdade, problemas da malha ou do que o programa receptor presumiu sobre ela. O STL é o mais exposto, porque não traz metadados que ajudem a pegar erros; o OBJ compartilha os problemas de escala e de arquivos ausentes; o 3MF evita a maioria deles por projeto, embora um exportador descuidado ainda possa gerar uma malha ruim. Abra as linhas abaixo para ver como cada falha aparece e de onde costuma vir.
Malha non-manifold
Arestas compartilhadas por um só triângulo ou por três ou mais, vãos entre superfícies ou paredes com espessura zero. O fatiador mostra camadas faltando, buracos aleatórios ou um aviso sobre arestas abertas. A causa está na modelagem ou na exportação, muitas vezes ao unir peças que apenas se tocam.
Normais invertidas
Alguns triângulos ficam voltados para dentro. Os renderizadores mostram manchas pretas ou transparentes, e os fatiadores podem tratar a região como espaço vazio. Um comando de recalcular normais no Blender, no Meshmixer ou na ferramenta de reparo do fatiador resolve.
Confusão entre milímetros e polegadas
Uma peça desenhada em polegadas chega 25,4 vezes menor em um fatiador que presume milímetros; centímetros lidos como milímetros geram um erro de 10 vezes. STL e OBJ não registram a unidade, então você a define ao exportar ou converter.
Arquivo .mtl ou texturas ausentes
Um OBJ que abre cinza ou magenta perdeu sua biblioteca de materiais ou suas imagens, ou os caminhos dentro do .mtl apontam para uma pasta no computador do artista original. Mantenha todos os arquivos em uma só pasta e compacte-os juntos.
Arquivos STL ASCII enormes
Um escaneamento detalhado salvo como STL ASCII pode passar de várias centenas de megabytes, o que deixa os fatiadores lentos e esbarra em limites de envio. Exportar a mesma malha como STL binário a reduz para cerca de um quinto, sem mudar um único triângulo.
Qual é o tamanho típico de cada formato
O tamanho decorre da estrutura. O STL binário é fixo em 50 bytes por triângulo, então dá para calculá-lo antes de exportar. O STL ASCII repete cada canto como texto e costuma ficar de quatro a seis vezes acima do binário. O OBJ guarda cada vértice compartilhado uma vez e o referencia por índice, então, em uma malha fechada típica, fica menor que o STL ASCII e mais ou menos na faixa do STL binário, e maior se também carregar UVs e normais. O 3MF guarda XML indexado e o comprime dentro do ZIP, o que geralmente o torna o menor dos três para a mesma geometria.
Os valores abaixo são típicos de uma malha fechada de cerca de 500.000 triângulos, como uma estatueta detalhada. Arquivos reais variam com a precisão das coordenadas e o exportador, então encare-os como ordens de grandeza, úteis quando um serviço de impressão limita os envios ou quando um STL exportado de um 3MF fica várias vezes maior.
- STL binário (500.000 triângulos × 50 bytes)
- ≈ 25 MB
- STL ASCII, mesma malha, valor típico
- ≈ 100–150 MB
- OBJ sem UVs, valor típico
- ≈ 15–30 MB
- 3MF após a compressão ZIP, valor típico
- ≈ 5–12 MB
O que a conversão resolve e o que ela nunca vai resolver
Uma conversão lê os triângulos de um contêiner e os grava em outro. Tudo o que o formato de destino consegue expressar vem junto; o que ele não consegue é descartado. Por isso STL para OBJ não perde nada de geometria, 3MF para STL perde cores, unidades e a disposição da mesa, e OBJ para STL perde texturas e nomes de peças. Nas ferramentas 3D do UltKit, as decisões extras são explícitas: Unidades do modelo diz ao conversor qual escala a origem usa, Eixo vertical resolve a diferença entre Y para cima e Z para cima entre motores de jogo e fatiadores, e Unir em uma única malha decide se as peças separadas continuam separadas.
O que nenhuma conversão faz é reparar uma malha. Se um STL tem um buraco, o OBJ feito a partir dele tem o mesmo buraco, e um exportador de 3MF vai recusá-lo ou gravá-lo mesmo assim. O reparo é uma etapa separada, em uma ferramenta de malha ou no corretor embutido do fatiador, e é melhor fazê-lo uma vez, no arquivo mestre, antes de exportar qualquer outra versão. O mesmo vale para a escala: a conversão não tem como saber que uma peça deveria estar em polegadas se você não disser. Com o nível de detalhe é igual: um STL de poucos polígonos vira um OBJ ou 3MF de poucos polígonos, então exporte de novo a partir do modelo de origem quando a qualidade importar.
O que a mudança de formato faz
- Move os mesmos triângulos para um contêiner que outro programa aceita
- Aplica a unidade escolhida em Unidades do modelo, corrigindo um erro de escala de 25,4× ou 10×
- Gira o modelo entre Y para cima e Z para cima com Eixo vertical
- Reduz um STL ASCII gravando em binário
- Mantém ou une peças separadas, conforme Unir em uma única malha
O que ela deixa exatamente como estava
- Buracos, arestas abertas e geometria non-manifold
- Normais invertidas ou inconsistentes
- Peças com autointerseção e paredes de espessura zero
- Detalhes que se perderam na primeira exportação da malha
- Cores e texturas quando o formato de destino não tem onde guardá-las
Tabela de decisão: STL, OBJ ou 3MF
Dois outros formatos aparecem sempre que se faz essa pergunta. O STEP (ISO 10303) guarda sólidos e superfícies exatos, e não triângulos, então é o formato indicado quando uma peça precisa voltar ao Fusion 360, ao SolidWorks ou ao FreeCAD para edição. O GLB, a forma binária do glTF 2.0 do Khronos Group, reúne a malha com seus materiais e texturas em um só arquivo, em metros, e é o formato para exibir um modelo na web ou em AR no Android.
Para os três formatos deste artigo, a tabela abaixo resume a escolha por destino. Se duas linhas servirem, escolha o formato que carrega mais informação e exporte o mais simples depois; passar de 3MF para STL é fácil, enquanto refazer cores ou unidades perdidas é trabalho manual.
| Situação | Melhor formato | Por quê |
|---|---|---|
| Peça de uma cor indo para qualquer fatiador | STL (binário) | Suporte universal; o fatiador não precisa de mais nada |
| Envio para uma biblioteca de modelos ou serviço de impressão | STL, mais 3MF se for oferecido | O STL é sempre aceito; o 3MF mantém unidades e cores |
| Impressão multicolorida ou com vários materiais | 3MF | Único formato aqui que guarda cores e materiais por peça para fatiadores |
| Mesa com várias peças e configurações de impressão | 3MF | Guarda a posição dos objetos e as configurações do fatiador em um só arquivo |
| Peça projetada em polegadas | 3MF | Declara a unidade, então nada é escalado por 25,4 |
| Modelo com textura para Blender, Unity ou Unreal | OBJ (+ .mtl e imagens) | Mantém UVs, normais e atribuições de materiais |
| Conferência rápida em um editor de texto | OBJ ou STL ASCII | Texto simples que você lê linha por linha |
| Firmware ou software antigo que só lista STL | STL | Tire os extras e envie a malha |
Pontos principais
- O STL guarda só triângulos: sem unidades, sem cor, e 50 bytes por triângulo na forma binária.
- O OBJ acrescenta UVs, normais e grupos nomeados, mas suas cores e texturas dependem de um arquivo .mtl separado e de arquivos de imagem.
- O 3MF é um ZIP de XML que registra unidades, cores, vários objetos e configurações de impressão, e exige malhas fechadas.
- Use STL para impressões simples de uma cor, OBJ para modelos com textura em fluxos de arte e jogos, e 3MF sempre que seu fatiador o aceitar.
- Converter muda o contêiner, não a malha: repare buracos e normais em uma ferramenta de malha e defina a unidade você mesmo.
Perguntas frequentes
O 3MF vai substituir o STL?
Aos poucos, no caso de fluxos de impressão. O PrusaSlicer e o Bambu Studio já salvam projetos em 3MF, mas o STL continua sendo o formato que todas as ferramentas e bibliotecas de modelos aceitam, então os dois vão coexistir por anos.
Um STL binário pode guardar cor?
Não de forma padronizada. Alguns programas gravam a cor no campo de atributo de 2 bytes de cada triângulo, mas a maioria dos slicers ignora esse campo. Por isso, use 3MF ou OBJ quando a cor importar.
Por que meu OBJ aparece cinza depois que eu baixo?
O arquivo .mtl ou as imagens de textura ficaram para trás, ou os caminhos dentro do .mtl apontam para pastas que não existem no seu computador. Coloque o .obj, o .mtl e as imagens na mesma pasta e carregue o modelo de novo.
STL ASCII ou binário: qual dá uma impressão mais precisa?
Na prática, nenhum dos dois imprime com mais precisão. Ambos descrevem os mesmos triângulos: o binário guarda as coordenadas como números de ponto flutuante de 32 bits e o ASCII as guarda como texto. Os arquivos binários costumam ser várias vezes menores.
Dá para converter um OBJ de volta em STL para imprimir?
Sim. Os triângulos são mantidos sem alteração, mas UVs, materiais e texturas são descartados, porque o STL não tem onde guardá-los. Confira a escala depois, já que arquivos OBJ de ferramentas de modelagem costumam estar em metros ou centímetros.
Qual formato usar para compartilhar um modelo para outras pessoas imprimirem?
Ofereça um STL para ter a maior compatibilidade e, se o modelo tiver várias peças, cores ou tiver sido projetado em polegadas, inclua também um 3MF, para que quem usa um slicer moderno receba a configuração completa.
Continue lendo
ZIP, RAR ou 7z: qual formato compactado usar?
O ZIP abre em qualquer computador e celular, o 7z compacta mais e oculta nomes, o RAR tem registros de recuperação. Compare compressão, senha e suporte.
Lucas Ferreira · 27 de set. de 2026 · 11 min de leitura
TTF, OTF ou WOFF: qual formato de fonte instalar ou usar na web
Instale TTF ou OTF no Windows, macOS e Linux; use WOFF2 em sites, com WOFF de reserva. O que cada formato contém, tamanhos típicos e o que muda ao converter.
Jonas Weber · 10 de set. de 2026 · 11 min de leitura
Como converter PNG para SVG: vetorizar logos, ícones e traços
Um PNG só vira SVG de verdade com vetorização. Veja quais imagens funcionam, como preparar o PNG, que cores e limiar escolher e como conferir os caminhos.
Jonas Weber · 4 de out. de 2026 · 12 min de leitura