Guia
O que é um ficheiro STL e converter OBJ para STL
Atualizado · Só malha OBJ para STL
Percebe os triângulos do STL, a escala sem unidade, os ficheiros binários e o fluxo do slicer. Depois obtém um STL a partir de um OBJ em privado no navegador.
STL é o ficheiro de triângulos que os slicers esperam. O nome é muitas vezes desenvolvido como estereolitografia, pelo processo antigo de resina, mas o formato sobreviveu a essa única máquina. Hoje é a forma aborrecida e fiável de entregar uma forma ao Bambu Studio, ao UltiMaker Cura ou ao PrusaSlicer. Não é um formato de modelação. Não se lembra dos teus materiais. Não se lembra das tuas unidades. Lembra-se dos cantos.
Triângulos, e só triângulos
Cada registo é uma faceta: uma normal e três vértices. Não há um quad para preservar, nem um n-gon, nem uma curva. Quando este site lê um OBJ, os polígonos são primeiro partidos em triângulos, e esses triângulos são depois escritos. A contagem de triângulos na página da ferramenta é essa contagem. Não vai coincidir com uma «contagem de polígonos» de um modelador que ainda contava quads como uma face. Um cubo com seis quads são doze triângulos. Isso está certo, não é um erro de duplicação.
A normal é uma direção da face. Os slicers importam-se mais com a casca estar fechada e orientada de forma consistente do que com os números exatos da normal. Um enrolamento consistente continua a importar quando uma ferramenta tenta decidir o interior a partir do exterior. Este exportador calcula as normais a partir da ordem dos cantos. Não inventa faces em falta.
Não há coordenada de textura nem cor no STL que escrevemos. Existem algumas extensões obscuras no mundo lá fora. Não é isso que este conversor produz, e não é nisso que deves contar que um slicer honre. Uma cor de filamento é o modelo mental que corresponde ao ficheiro.
Sem unidade de propósito
A especificação que as pessoas realmente implementam não inclui uma bandeira de milímetros. A convenção da comunidade em FDM é que uma unidade equivale a um milímetro. Um ficheiro com um vértice em 25 é um vértice de 25 mm nessa convenção, mesmo que o autor quisesse dizer 25 metros ou 25 polegadas. O guia milímetros ou metros trata de cozer a convenção certa nos números. Depois disso, o STL continua a não «saber». O programa seguinte tem de partilhar a convenção.
É também por isso que uma caixa delimitadora no conversor é mais útil do que uma frase no cabeçalho do ficheiro. Os cabeçalhos binários têm 80 bytes e muitas vezes estão em branco ou preenchidos com o nome de uma ferramenta. Não guardes aí a tua única cópia de «isto eram polegadas». Guarda-a nas tuas notas, e guarda-a em coordenadas que já correspondam a milímetros.
Binário, ASCII e slicers
Os mesmos triângulos podem ser empacotados como binário ou escritos como texto ASCII. O binário é mais pequeno e é o descarregamento predefinido. O ASCII é legível e volumoso. STL binário ou ASCII cobre a escolha. Os dois abrem nos slicers nomeados acima quando os bytes estão bem formados. Um ficheiro que é ASCII mas foi estragado por um editor de texto que mudou os fins de linha ou as marcas decimais pode não abrir. Exporta outra vez em vez de editares à mão um STL grande.
Importar no slicer não é o último teste. Olha para o tamanho indicado. Olha se o modelo fica de pé. Olha para a pré-visualização de camadas à procura de falhas que não querias. Um STL pode ser geometricamente válido e ainda ser uma má impressão. Paredes finas, corpos sobrepostos e fundos abertos aparecem aí. Leva esses problemas de volta à malha, não para a esperança de que voltar a exportar a mesma superfície partida a cure.
De onde deve vir um STL
Neste site, um STL deve vir de uma malha OBJ Wavefront. É o ficheiro com linhas v e f descrito em o que é um OBJ. Não deve vir de um PNG, de um JPG nem de um sólido STEP. Não voxelizamos imagens, e não tessellamos modelos CAD por fronteira. Se a tua ferramenta de desenho só tem um sólido, faz a tesselação ou exporta OBJ lá, com uma tolerância de corda que aceites, e converte depois. A contagem de triângulos que obténs é a tesselação que pediste a essa ferramenta. Não vamos acrescentar triângulos para a tornar mais suave.
Quando tiveres o ficheiro, o fluxo de impressão é o habitual. Confirma os milímetros, orienta, põe suportes se tiveres de pôr, fatia e imprime. Guarda o OBJ se fores editar a forma outra vez. OBJ ou STL explica porque é que esses dois ficheiros devem ficar lado a lado em vez de um substituir o outro. O passo a passo a partir do Blender é como converter OBJ para STL.
Perguntas
O STL sabe que o modelo está em milímetros?
Não. O formato guarda coordenadas e normais de face. Os slicers assumem em geral milímetros. O menu de unidades deste site muda os números antes de serem escritos.
Um STL válido é sempre imprimível?
Não. O ficheiro pode ser uma lista de triângulos válida e ainda ter buracos, cascas que se cruzam ou paredes demasiado finas. A conversão não repara nada disso.
Binário ou texto?
Os dois são STL. O binário é a predefinição aqui porque os slicers o esperam e o ficheiro é mais pequeno. O ASCII é a forma em texto. Vê o guia de binário versus ASCII.
Guias relacionadas
- O que é um ficheiro OBJOBJ Wavefront, faces, e o ficheiro MTL que não lemos.
- OBJ ou STLQuando ficas com o OBJ e o que um STL deita fora.
- STL binário ou ASCIIPorque é que o descarregamento vem em STL binário por predefinição.
- Unidades: mm ou metrosPorque é que uma impressão pode sair 1000× demasiado grande, e como ler a caixa.
- Como converter OBJ para STLExportação no Blender, este conversor, depois Bambu, Cura ou Prusa.
- FAQPrivacidade, tamanho, texturas, STEP e ficheiros de imagem.