Guia

O que é um ficheiro OBJ e converter OBJ para STL

Atualizado · Só malha OBJ para STL

Percebe o que um OBJ Wavefront guarda, como o MTL e os UVs se relacionam com ele, e quando exportar uma malha para STL para imprimir. Converte no teu navegador.

OBJ é um formato de malha em texto que veio da Wavefront. Vês-no como um ficheiro .obj, às vezes com um ficheiro .mtl ao lado e uma pasta de imagens para onde o MTL aponta. Modeladores como o Blender escrevem-no quando pedes Wavefront. Os slicers às vezes conseguem abri-lo, e muitas vezes comportam-se melhor com STL. Esta página é a introdução. O conversor no início é o que transforma a malha nesse STL.

O que o texto contém

Um OBJ está organizado por linhas. As linhas que começam por v são posições de vértice, três números cada. As linhas que começam por f são faces, escritas como índices nessa lista de vértices. Uma face pode listar três índices (um triângulo) ou mais (um quad ou um n-gon). As normais, quando existem, usam vn. As coordenadas de textura usam vt. Uma face pode então parecer f 1/1/1 2/2/2 3/3/3, que é vértice, UV e normal juntos. As linhas de objeto (o) e as linhas de grupo (g) dividem o ficheiro em blocos com nome. Os comentários começam por #.

Nenhuma dessas letras declara uma unidade. Os números são só números. Um vértice em 10 0 0 pode ser 10 mm ou 10 m. Esse silêncio é a razão de o conversor te perguntar, e de existir o guia milímetros ou metros. O ficheiro não resolve a discussão por ti.

Como é texto, podes abrir um OBJ pequeno e lê-lo. Uma escultura de produção continua a ser texto, e pode ser enorme. Este site recusa ficheiros acima de 40 MB antes da leitura, para um único largar não congelar o separador só pelo tamanho. Ficheiros densos abaixo desse limite ainda podem ser pesados. A contagem de triângulos depois da leitura diz-te o que o STL vai conter.

Os materiais são um segundo ficheiro

A linha mtllib nomeia um ficheiro MTL. Dentro do MTL podes encontrar cores e caminhos para imagens. Essas imagens não estão dentro do OBJ. São imagens comuns no disco. Este conversor ignora mtllib, ignora usemtl e ignora os UVs. O formato STL que escrevemos não tem um sítio honesto para uma textura. Se o OBJ é um modelo de jogo ou uma imagem renderizada, guarda o OBJ, o MTL e as imagens juntos. Faz um STL à parte para o slicer. OBJ ou STL é a tabela de decisão dessa separação.

Vários objetos com nome tornam-se numa lista de triângulos no STL. Isso é uma comodidade para uma impressão única e um problema se querias peças separadas. Exporta OBJ separados quando as peças são trabalhos separados. A contagem de objetos no conversor diz-te quantos blocos de malha foram fundidos.

O que conseguimos converter, e o que não

Convertemos faces de malha. Quads e n-gons são triangulados. Pontos e segmentos de linha são saltados. Se não restar nada com área, a página diz que o OBJ não tem faces triangulares.

Não convertemos STEP nem STP. São ficheiros CAD de representação por fronteira. Não são uma lista de linhas v e f, e este site não inclui um núcleo CAD. Exporta uma malha OBJ a partir do programa CAD e volta.

Não convertemos PNG nem JPG. Uma imagem tem píxeis, não faces. Dar a uma imagem o nome model.obj falha a verificação da extensão se o sufixo continuar a ser de imagem, e um ficheiro renomeado sem faces falha a verificação de malha vazia. Nenhum dos caminhos se torna num mapa de alturas. Constrói uma malha num modelador se precisares de geometria e exporta depois OBJ.

Um ficheiro que já é STL deve continuar STL. Largá-lo aqui é recusado para não «converteres» um ficheiro de impressão noutro ficheiro de impressão por engano.

Deste ficheiro até um slicer

A sequência prática é curta. Exporta OBJ do Blender com a escala aplicada. Larga-o no conversor. Acerta as unidades. Lê a caixa delimitadora e a contagem de triângulos. Descarrega o STL binário. Abre esse STL no Bambu Studio, no Cura ou no PrusaSlicer e confirma o tamanho. O caminho de cliques mais longo é como converter OBJ para STL. O que tens no fim está descrito em o que é um STL.

O OBJ é um bom formato de troca e um mau sítio para guardar uma promessa de imprimibilidade. As faces podem estar viradas para dentro. As cascas podem estar abertas. O conversor mesmo assim escreve triângulos. Olha para a pré-visualização se quiseres uma vista rápida da orientação e confia depois nas verificações do próprio slicer antes de uma impressão longa.

Perguntas

Todos os ficheiros .obj são uma malha de triângulos?

Não. O OBJ pode guardar polígonos, e alguns ficheiros só têm pontos ou linhas. Este conversor precisa de faces. Os polígonos são triangulados durante a leitura. Ficheiros sem faces falham com um erro claro.

O que é o ficheiro MTL ao lado do meu OBJ?

O MTL é uma biblioteca de materiais. Dá nome a cores e a ficheiros de textura. Este conversor não o lê. Guarda-o se ainda renderizas o OBJ. Não é preciso para construir um STL.

Um OBJ pode ser um modelo STEP disfarçado?

Não. O STEP é outro formato CAD. Mudar-lhe o nome para .obj não o torna numa malha. Exporta um OBJ verdadeiro a partir da aplicação CAD.

Converter este tipo de OBJ para STL