Guia

STL binário ou ASCII ao converter OBJ para STL

Atualizado · Só malha OBJ para STL

O STL binário é compacto e prático para a maior parte dos slicers; o ASCII ajuda a inspecionar e a comparar texto. Compara os dois e depois converte OBJ para STL em privado.

Um STL ou é binário compacto ou é texto longo. Os triângulos podem ser idênticos. Os ficheiros não vão ser. Este conversor escreve binário, salvo se marcares a opção ASCII, porque o programa seguinte num fluxo de impressão é um slicer, e os slicers estão feitos para a forma compacta.

O que o binário guarda

Um STL binário começa com um cabeçalho de 80 bytes que a maior parte das ferramentas ignora, depois uma contagem de triângulos, e depois cada triângulo como uma normal e três cantos em números little-endian, mais um atributo de 2 bytes que costuma ser zero. Não há material, não há nome de objeto em que os slicers confiem, e não há unidade. As mesmas regras de unidade valem para qualquer outro STL: os números são aquilo para que os escalámos, e o slicer vai chamar-lhes milímetros.

Os ficheiros binários crescem em linha reta com a contagem de triângulos. Um cubo de 12 triângulos são algumas centenas de bytes. Uma escultura com centenas de milhares de triângulos continua muito mais pequena do que os mesmos dados escritos por palavras. Esse tamanho é a razão de os descarregamentos e as importações no slicer parecerem mais rápidos, e de a predefinição ser binário mesmo que o ASCII seja mais fácil de explicar numa conversa.

O que o ASCII guarda

O STL ASCII é texto. Vês solid, depois um facet normal, um ciclo exterior, três linhas vertex e endsolid. Podes abri-lo num editor e ler coordenadas. Isso é mesmo útil quando estás a depurar um erro de escala: procura um vértice e vê se um canto que esperavas em 40 está em 0.04 ou em 40000. É uma má forma de enviar uma malha densa. O ficheiro é grande, lento de escrever e fácil de corromper se um programa reescrever o texto com uma definição de idioma que troca as vírgulas decimais.

O ASCII não preserva dados MTL, e não torna a malha manifold. Não é um formato de «origem» como o OBJ. Se queres algo que possas editar como malha, guarda o OBJ. Se queres algo que possas olhar de relance como texto, o STL ASCII chega para algumas facetas e é penoso para uma personagem inteira.

Qual descarregar

Usa binário para o Bambu Studio, o UltiMaker Cura e o PrusaSlicer. Usa ASCII quando uma ferramenta de ensino, uma comparação de texto ou os teus olhos precisam de texto, ou quando estás a confirmar uma coordenada enquanto persegues um erro de unidade. Podes converter o mesmo OBJ duas vezes. A contagem de triângulos deve coincidir. A caixa delimitadora deve coincidir se a unidade, a escala, o eixo e as opções de base coincidirem. Se essas definições diferirem, os ficheiros diferem porque a geometria difere, não porque um deles é binário.

O cabeçalho de um ficheiro binário não é um sítio fiável para guardar a unidade que escolheste. Não dependas dele. A caixa delimitadora no conversor, e o tamanho que o slicer indica, são as verificações que importam. Milímetros ou metros é o artigo da escala. O que é um STL é a introdução ao formato por baixo desta comparação.

Nada no empacotamento muda a privacidade. Binário e ASCII são ambos construídos no Web Worker e guardados como um Blob local. Nenhum dos dois é enviado para fabricar o outro. Se um ficheiro não abrir, confirma que não renomeaste um ficheiro ASCII à espera de um leitor binário, ou o contrário. A extensão é .stl nos dois casos. Em caso de dúvida, exporta binário outra vez e deixa o slicer ler esse ficheiro novo.

Perguntas

O ASCII imprime com mais precisão?

Não. A precisão vem da malha e da escala de unidades, não de escrever os números por extenso em texto. ASCII e binário podem descrever os mesmos cantos. O binário é mais pequeno.

Quando devo ligar o ASCII?

Quando queres abrir o STL num editor de texto e ler algumas facetas, ou quando uma ferramenta muito antiga rejeita o binário. Para o Bambu Studio, o Cura e o PrusaSlicer, deixa o binário.

O binário esconde uma malha má?

Não. Buracos e faces viradas estão nos triângulos de qualquer maneira. O binário é só um formato de empacotamento.

Descarregar um STL binário a partir de um OBJ