Cookies para estatística e publicidade
Usamos cookies de estatística e de publicidade, ambos enviados ao Google. Recusar não muda nada do que você vê.Ler a página de privacidade
Aqui você converte STL para OBJ de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. A conversão acontece dentro do seu próprio navegador, então o arquivo nunca é enviado. Funciona igual no Windows, no macOS e no Linux e também no iPhone e no Android, e continua funcionando mesmo se você cortar a conexão.
Até 100 arquivos de uma vez. Formatos misturados não são problema.
Eles são convertidos um após o outro e baixados juntos em um ZIP.
STL para OBJ
STL existe para ser fatiado. Carrega triângulos e nada mais, exatamente o que um fatiador quer e exatamente o que um programa de modelagem não quer — sem grupos para isolar, sem materiais para atribuir, sem nomes para buscar e, principalmente, sem vértices compartilhados. Tudo que um modelador faz começa selecionando parte de uma malha, e um STL não dá nada para selecionar.
OBJ é o tipo oposto de arquivo: texto, indexado, agrupado, importado universalmente, e antigo o bastante para até um pacote de 1998 conseguir ler. Não é um formato melhor que o STL em abstrato; é o formato que toda ferramenta de um pipeline de modelagem trata como padrão.
Um cubo num STL são doze triângulos com trinta e seis vértices, porque cada triângulo carrega seus três cantos de forma independente e os oito cantos reais são escritos quatro ou cinco vezes cada. Importe isso sem alteração e todo triângulo é sua própria ilha: Selecionar Vinculado pega uma face só, seleção de loop não encontra loop nenhum, subdivisão produz buracos.
O leitor aqui funde vértices coincidentes antes de escrever qualquer coisa. A chave de comparação é arredondada a seis casas decimais, porque dois triângulos que se encontram numa aresta costumam discordar no último bit de um float — seis casas está bem abaixo de qualquer tolerância imprimível. O cubo sai com oito vértices e doze faces, uma malha no sentido que um modelador quer dizer.
Uma linha de comentário, uma linha o nomeando o grupo único, depois uma linha v por vértice e uma linha f por triângulo. É o arquivo inteiro. Os índices são baseados em um, como o OBJ exige.
Não há linhas vt porque um STL não tem coordenadas de textura, não há linhas vn porque as normais são deriváveis, não há usemtl porque não há material, e não há referência mtllib porque não há biblioteca de material. Qualquer coisa que abra OBJ vai ler; não há nada incomum no arquivo para um importador discordar.
Um STL não tem conceito de objeto, então o OBJ tem um grupo só, chamado mesh_1. Um modelo montado a partir de um corpo, uma tampa e uma alça chega como um grupo contendo três cascas desconectadas.
Todo programa de modelagem consegue dividir isso. O Blender faz com Separar por Partes Soltas no modo de edição; o MeshLab tem Split em Componentes Conectados. O que nenhum deles consegue fazer é recuperar os nomes, porque o STL nunca os teve. Se os nomes importam, 3MF e OBJ os mantêm e STL nunca vai manter.
Um STL guarda uma normal de face por triângulo. Ela não é escrita no OBJ, e nada se perde: uma normal de face é totalmente determinada pela ordem de enrolamento dos três cantos, e todo programa recalcula na importação.
A ausência de normais de vértice é mais interessante. Sem elas o importador calcula as suas, o que para uma malha soldada significa fazer a média entre os vértices compartilhados — então o modelo chega pronto para ser sombreado suave ou plano como você escolher, com a decisão vivendo no seu programa em vez de embutida no arquivo.
Os dois dialetos convertem e o arquivo não diz qual é. O teste comum — o arquivo começa com a palavra "solid"? — está errado, porque um STL binário pode ter qualquer coisa em seus oitenta bytes de cabeçalho e vários escritores colocam "solid" ali.
O teste confiável é aritmético: um STL binário tem exatamente 84 + 50n bytes para a contagem de triângulos declarada no cabeçalho, e nada mais é. É isso que é conferido. Se a aritmética não bater, o arquivo é decodificado como texto e cada linha vertex é lida.
Dois efeitos puxam em direções opostas. Soldar remove a maior parte da duplicação: uma malha típica tem cada vértice compartilhado por cinco ou seis triângulos, então a lista de vértices encolhe por aproximadamente esse fator. Texto expande o que sobra: um float de quatro bytes vira dez a quinze caracteres decimais.
O resultado costuma ficar na mesma faixa, com o OBJ um pouco à frente do STL binário — um aumento, não uma multiplicação. O teto gratuito aqui é 100 MB, cerca de dois milhões de triângulos STL, uma malha densa além do que a maioria das sessões de modelagem quer de qualquer forma.
Nesta aba do navegador, por JavaScript comum. Nenhum módulo WebAssembly é baixado, nada é enviado a servidor, não há cadastro nem limite diário. Abrir o painel de rede e converter algo é como confirmar isso.
Arquivos STL frequentemente são desenho de outra pessoa — a peça de um cliente, a geometria de um fornecedor, um componente sob acordo — e o trabalho de modelagem desta página é exatamente a situação em que isso é verdade. Uma conversão que nunca envia o arquivo evita a questão em vez de precisar respondê-la.
| STL | OBJ | |
|---|---|---|
| Nome completo | Stereolithography | Objeto Wavefront |
| Extensão do arquivo | .stl | .obj |
| Tipo de mídia | model/stl | model/obj |
| Publicado pela primeira vez | 1987 | 1992 |
| Publicado por | 3D Systems | Wavefront Technologies |
| Licença | Padrão aberto | Padrão aberto |
| Situação hoje | Atual | Atual |
| Abre no navegador | Nenhum navegador | Nenhum navegador |
| Considerado no lugar | 3MF, PLY | GLTF, PLY |
Blender lê tanto STL quanto OBJ, então dá para comparar o resultado com o original sem um segundo programa.
Os dois miram trabalhos diferentes: STL em a impressão 3D, OBJ em mover dados entre programas e a edição. Vale pesar isso antes, porque o motivo de um existir costuma ser o motivo de o outro ser incômodo.
OBJ vem da Wavefront Technologies é de 1992. Blender, MeshLab e Maya leem o formato.
Não. Esta conversão acontece inteiramente no seu navegador, então o arquivo não sai do seu aparelho. Você mesmo pode conferir: abra a aba de rede das ferramentas de desenvolvedor e converta alguma coisa. Você verá a própria página e as requisições de estatística e de publicidade com que este serviço é pago, e nenhuma que leve o seu arquivo.
É. Sem conta, sem marca d’água e sem cota diária para gastar: roda no seu próprio aparelho, então você pode voltar quantas vezes quiser. O navegador processa arquivos de até 100 MB, 100 por vez.
STL e OBJ descrevem o conteúdo de maneiras radicalmente diferentes. A conversão é, portanto, uma reconstrução e não uma cópia: fiel, mas não idêntica byte a byte. Só a geometria. Materiais, cores, texturas e animação não vão junto, e um modelo colocado várias vezes volta com cada cópia fixada na sua própria posição.
Para a conversão, não: ela acontece no navegador que você já tem aberto. Para abrir o resultado você precisa depois do programa com que o seu aparelho normalmente exibe Wavefront Object.