O que é STL? Guia descomplicado sobre o formato 3D

O que é um arquivo STL? O que significa STL? Tudo isso e muito mais enquanto explicamos as origens, a estrutura e os usos do formato de arquivo STL para impressão 3D.

Em resumo, um arquivo STL armazena informações sobre modelos 3D. Este formato descreve apenas a geometria da superfície de um objeto tridimensional, sem representar cor, textura ou outros atributos comuns do modelo.

Esses arquivos são normalmente criados por um programa de design auxiliado por computador (CAD) como produto final do processo de modelagem 3D. Você pode identificar arquivos STL pela extensão “.stl”.

Aqui está uma introdução sobre sua origem, o que o tipo de arquivo contém, como eles funcionam, as vantagens e desvantagens de seu uso, além de formatos de arquivo alternativos a serem considerados.

O que é um arquivo STL?

O formato de arquivo STL é o mais comumente usado para impressão 3D. Quando usado com um fatiador 3D, permite que um computador se comunique com o hardware da impressora 3D.

Desde o seu início modesto, muitos pacotes de software CAD adotaram e suportaram o formato de arquivo STL. Hoje, ele é amplamente utilizado para prototipagem rápida, impressão 3D e manufatura assistida por computador.

O que significa STL?

A primeira peça impressa em 3D do mundo feita usando estereolitografia (Fonte: 3D Systems )

Estranhamente, o verdadeiro significado de STL como abreviação é um ponto de discórdia para alguns. Em nossa opinião, pode ser facilmente rastreado até uma origem lógica.

Acredita-se amplamente que STL seja uma abreviação da palavra Stereolithographt (estereolitografia), um processo de impressão 3D e tipo de arquivo correspondente criado por Chuck Hull na 3D Systems na década de 1980. Há siglas que parecem plausíveis associadas ao tipo de arquivo STL, incluindo “Standard Triangle Language” (Linguagem padrão de triângulo), “Standard Tessellation Language” (Linguagem padrão de tesselação) e “Surface Tesselation Language” (Linguagem de tesselação de superfície).

Como o formato de arquivo STL armazena um modelo?

O objetivo principal do formato de arquivo STL é codificar a geometria da superfície de um objeto 3D. Ele codifica essas informações usando um conceito simples chamado “tesselação”.

Tesselação

Tesselação é o processo de revestir uma superfície com uma ou mais formas geométricas, evitando sobreposições ou espaços vazios. Se você já viu um piso ou parede de ladrilhos, este é um excelente exemplo de tesselação.

As paredes e o piso de azulejos são exemplos simples e reais de mosaico (Fonte: Gavin Allanwood via Unsplash )

 

A tesselação pode envolver formas geométricas simples ou formas muito complexas (e imaginativas). Há alguns exemplos de tesselações artísticas do famoso pintor MC Escher. Se quiser ver mais exemplos de tesselações marcantes, recomendamos que você confira suas pinturas.

Dois padrões avançados de mosaico feitos de diferentes animais (Fonte: MC Escher )

Explorando a Tesselação para Codificar Dados de Superfície

Em 1987, Chuck Hull, fundador da 3D Systems, havia acabado de patentear o processo de impressão estereolitográfica. Parte essencial para que o processo funcionasse foi descobrir uma maneira de transferir informações sobre modelos CAD 3D para a impressora 3D, algo que o Albert Consulting Group conseguiu para a 3D Systems ao perceber que podia usar tesselações da superfície do modelo 3D para codificar essas informações.

Chuck Hull, o “pai” da impressão 3D (Fonte: 3D Systems )

 

A ideia básica era tesselar a superfície externa bidimensional de modelos 3D usando pequenos triângulos (também chamados de “facetas”) e armazenar informações sobre as facetas em um arquivo.

Vejamos alguns exemplos para entender como isso funciona. Por exemplo, se você tiver um cubo 3D simples, ele pode ser coberto por 12 triângulos, como mostrado na imagem abaixo. Como você pode ver, há dois triângulos por face. Como o cubo tem seis faces, a soma total é de 12 triângulos.

Se você tiver um modelo 3D de uma esfera, ela poderá ser coberta por vários triângulos pequenos, também mostrados na mesma imagem. Como os triângulos sempre consistem em três arestas retas, a única maneira de aproximar geometrias curvas é aumentar a densidade da malha e diminuir o tamanho de cada triângulo.

A geometria do cubo é perfeitamente representada com 12 triângulos, enquanto a esfera precisa ser aproximada (Fonte: Protolabs )

 

Aqui está outro exemplo de uma forma 3D muito complicada, tesselada com triângulos.

A malha triangular fina codifica aproximadamente a geometria da superfície deste modelo 3D (Fonte: i.materialise )

 

O Albert Consulting Group para Sistemas 3D percebeu que, se as informações sobre esses pequenos triângulos pudessem ser armazenadas em um arquivo, o arquivo poderia descrever completamente a superfície de um modelo 3D arbitrário. Esse conceito é a ideia básica por trás do formato de arquivo STL.

 

Diferenças entre ASCII e STL binário

O formato de arquivo STL oferece duas maneiras de armazenar informações sobre as facetas triangulares que revestem a superfície do objeto. Essas formas são chamadas de codificação ASCII e codificação binária. Em ambos os formatos, as informações de cada triângulo são armazenadas como:

  1. As coordenadas dos vértices.
  2. Os componentes do vetor normal unitário ao triângulo. O vetor normal deve apontar para fora, de acordo com o modelo 3D.
Um arquivo STL armazena as coordenadas dos vértices e os componentes do vetor normal unitário para as facetas (Fonte: Markforged )

 

O formato de arquivo ASCII STL

O arquivo ASCII STL começa com a linha obrigatória:


onde < nome> é o nome do modelo 3D. Este campo pode ser deixado em branco, mas deve haver um espaço após a palavra “sólido” nesse caso.

O arquivo continua com informações sobre os triângulos de cobertura. Informações sobre os vértices e o vetor normal são representadas como:

Aqui, n é a normal do triângulo e v1 , v2 e v3 são os vértices do triângulo. Os valores das coordenadas são representados como um número de ponto flutuante no formato sinal-mantissa-esinal-expoente – por exemplo, “3,245000e-002”.

O arquivo termina com a linha obrigatória:

O formato de arquivo STL binário

O arquivo ASCII STL pode ficar enorme se a tesselação envolver muitos triângulos pequenos. É por isso que existe o formato binário STL, mais compacto.

O arquivo STL binário começa com um cabeçalho de 80 caracteres. Isso geralmente é ignorado pela maioria dos leitores de arquivos STL, com algumas exceções notáveis ​​que discutiremos mais tarde. Após o cabeçalho, o número total de triângulos é indicado por um inteiro sem sinal de 4 bytes.

As informações sobre os triângulos seguem. O arquivo termina após o último triângulo.

Doze números de ponto flutuante de 32 bits representam cada triângulo. Assim como no arquivo ASCII STL, três números representam as coordenadas cartesianas 3D da normal do triângulo ao triângulo. Os nove números restantes representam as coordenadas dos vértices (três de cada). Veja como fica:

Observe que, após cada triângulo, há uma sequência de 2 bytes chamada “contagem de bytes de atributo”. Geralmente, ela é definida como zero e atua como um espaçador entre dois triângulos. Mas alguns softwares usam esses 2 bytes para codificar informações adicionais sobre o triângulo. Veremos um exemplo disso mais adiante, em que esses bytes são usados ​​para armazenar informações de cor.

Regras especiais para o formato de arquivo STL

A especificação STL tem algumas regras especiais para mosaico e armazenamento de informações.

A Regra do Vértice

A regra do vértice afirma que cada triângulo deve compartilhar dois vértices com seus triângulos vizinhos.

Esta regra deve ser respeitada ao criar mosaicos na superfície do objeto 3D.

De acordo com esta regra, aqui está um exemplo de uma tesselação válida e inválida. A figura à esquerda viola esta regra e é uma tesselação inválida, enquanto a figura à direita é conforme e válida.

Regra de vértice para arquivos STL: a figura à esquerda é uma tesselação inválida, enquanto a figura à direita é aceitável (Fonte: 3D Systems )

 

A Regra de Orientação

A regra de orientação diz que a orientação da faceta (ou seja, qual direção está “dentro” do objeto 3D e qual direção está “fora”) deve ser especificada de duas maneiras.

Primeiro, a direção da normal deve apontar para fora. Segundo, os vértices são listados em sentido anti-horário quando se olha o objeto de fora (regra da mão direita).

A orientação de cada faceta é especificada de duas maneiras: pela direção do vetor normal e pela ordem de enumeração dos vértices (Fonte: 3D Systems )

Essa redundância existe por um motivo. Ela ajuda a garantir a consistência da malha e a identificar dados corrompidos. O software pode, por exemplo, calcular a orientação a partir da normal e, posteriormente, dos vértices, e verificar se elas correspondem. Caso contrário, pode declarar o arquivo STL corrompido.

A Regra do Octante Totalmente Positivo

A regra do octante totalmente positivo diz que todas as coordenadas dos vértices do triângulo devem ser positivas.

Isso implica que o objeto 3D vive no octante totalmente positivo do sistema de coordenadas cartesianas 3D (e daí o nome).

A lógica por trás dessa regra é economizar espaço. Se o objeto 3D pudesse residir em qualquer lugar no espaço de coordenadas, teríamos que lidar com coordenadas negativas. Para armazenar coordenadas negativas, você usa números de ponto flutuante com sinal . Números de ponto flutuante com sinal requerem um bit extra para armazenar o sinal (+/-). Ao garantir que todas as coordenadas sejam positivas, essa regra nos permite usar números sem sinal para as coordenadas e economizar um bit para cada valor de coordenada que armazenamos.

O cubo vermelho rotulado como “1” é o octante totalmente positivo (Fonte: Wikipedia )

 

A regra de classificação de triângulos

A regra de classificação de triângulos recomenda que os triângulos apareçam em ordem crescente de valor z.

Isso ajuda o software a fatiar os modelos 3D mais rapidamente, mas a regra não é rigorosamente aplicada.

Como um arquivo STL é impresso em 3D?

Um arquivo STL, carregado e pronto para ser fatiado (Fonte: All3DP)

 

Para impressão 3D, você precisa abrir o arquivo STL em um software de fatiamento, geralmente conhecido simplesmente como “fatiador”. O que é um fatiador? É um software de impressão 3D que converte modelos 3D digitais em instruções de impressão para sua impressora 3D criar um objeto.

Com base nas configurações escolhidas, o fatiador corta seu arquivo STL em centenas (às vezes milhares) de camadas horizontais planas e calcula quanto material sua impressora precisará extrudar e quanto tempo isso levará.

Todas essas informações são gravadas em um arquivo de código G, a linguagem nativa da sua impressora 3D. As configurações do fatiador afetam a qualidade da impressão, portanto, ter o software e as configurações corretos é essencial para obter a melhor qualidade de impressão possível.

Assim que o código G estiver na sua impressora 3D, a máquina seguirá as instruções na ordem correta. As camadas bidimensionais separadas são impressas uma a uma para produzir um objeto tridimensional na sua mesa de impressão.

 

Todos os arquivos STL podem ser impressos em 3D?

Logotipo da All3DP com suportes salientes (Fonte: All3DP)

 

Infelizmente não. Somente um design 3D feito especificamente para impressão 3D é imprimível em 3D. O arquivo STL é apenas o contêiner para os dados, não uma garantia de que algo seja imprimível.

Modelos 3D adequados para impressão 3D precisam de uma espessura de parede dentro da resolução de impressão e de uma geometria de superfície “estanque”. Mesmo que um modelo seja visível na tela do computador e pareça um objeto tridimensional, pode haver erros na geometria que o tornam não sólido ou não múltiplo, o que significa que ele não pode ser dobrado em uma superfície 2D com todas as normais apontando na mesma direção.

Há também a consideração de elementos salientes no modelo. Observe o logotipo da ALL3DP na imagem acima; se o modelo for impresso na vertical, elementos salientes com um ângulo superior a 45 graus exigirão estruturas de suporte (que você pode ver em verde).

Ao baixar um arquivo STL que você não criou, vale a pena verificar se ele é realmente imprimível em 3D. Isso economizará muito tempo e frustração (e filamento).

 

Como otimizar arquivos STL

O formato de arquivo STL aproxima a superfície de um modelo CAD com triângulos. A aproximação nunca é perfeita e as facetas adicionam rugosidade ao modelo.

A superfície esférica perfeita à esquerda é aproximada por tesselações. A figura à direita usa triângulos grandes, resultando em um modelo grosseiro. A figura ao centro usa triângulos menores e obtém uma aproximação mais suave. (Fonte: i.materialise )

A impressora 3D imprimirá o objeto com a mesma grossura especificada no arquivo STL. É claro que, ao tornar os triângulos cada vez menores, a aproximação pode ser melhorada, resultando em impressões de boa qualidade. No entanto, à medida que você diminui o tamanho do triângulo, o número de triângulos necessários para cobrir a superfície também aumenta. Isso pode resultar em arquivos STL gigantescos, que alguns softwares de fatiamento terão dificuldade para processar. Também é um problema compartilhar ou enviar arquivos enormes como esse.

Portanto, encontrar o equilíbrio certo entre tamanho do arquivo e qualidade de impressão é crucial. Não faz sentido reduzir o tamanho dos triângulos infinitamente, porque, primeiro, seus olhos e, depois, a resolução da impressora não conseguirão distinguir entre as qualidades de impressão.

A maioria dos softwares CAD oferece algumas configurações ao exportar arquivos STL. Essas configurações controlam o tamanho das facetas e, consequentemente, a qualidade de impressão e o tamanho do arquivo. Vamos analisar as configurações mais críticas e determinar seus valores ideais.

 

Altura ou tolerância do acorde

A maioria dos softwares CAD permite que você escolha um parâmetro de altura da corda ou tolerância. A altura da corda é a distância máxima entre a superfície do desenho original e a malha STL. Se você selecionar a tolerância adequada, suas impressões ficarão suaves e sem facetas. É bastante evidente que quanto menor a altura da corda, mais precisamente as facetas representam a superfície real do modelo.

A altura da corda é a distância entre a malha STL e a superfície real (Fonte: 3D Hubs )

Recomenda-se definir a tolerância entre 0,01 milímetro e 0,001 milímetro. Isso geralmente resulta em impressões decentes. Não faz sentido reduzir ainda mais, pois as impressoras 3D não conseguem imprimir com esse nível de detalhe.

 

Desvio Angular ou Tolerância Angular

A tolerância angular limita o ângulo entre as normais de triângulos adjacentes. O ângulo padrão geralmente é definido em 15 graus. Reduzir a tolerância (para um valor entre 0 e 1) melhora a resolução da impressão.

Tolerância angular é o ângulo entre as normais de triângulos adjacentes (Fonte: 3D Hubs )

A configuração recomendada para este parâmetro é 0.

Binário ou ASCII?

Por fim, você pode exportar o arquivo STL em formato binário ou ASCII. O formato binário é sempre recomendado para impressão 3D, pois resulta em arquivos menores. No entanto, se você quiser inspecionar o arquivo STL para depuração manualmente, o formato ASCII é preferível, pois é mais fácil de ler.

 

Alternativas ao arquivo STL

O arquivo OBJ à esquerda contém informações de cores, enquanto o STL à direita não (Fonte: Matter and Form )

 

O formato de arquivo STL não é o único usado na impressão 3D. Existem mais de 30 formatos de arquivo para impressão 3D. O mais importante é o formato de arquivo OBJ, que pode armazenar perfis de cor e textura. Outra opção é o formato de arquivo Polygon (PLY), inicialmente usado para armazenar objetos digitalizados em 3D.

Mais recentemente, o Consórcio 3MF tem se esforçado para lançar um novo tipo de arquivo, propondo um novo formato de arquivo para impressão 3D chamado 3MF. Eles afirmam que ele simplificará e aprimorará o processo de impressão 3D.

Abreviação de 3D Manufacturing Format, essa extensão de arquivo de código aberto contém mais informações relevantes, incluindo duplicatas, configurações de perfil de impressora, suportes, alturas de camadas, modificações, unidades, cor, textura e até mesmo uma miniatura.

Apesar de seus benefícios, ele ainda não parece ter ganhado força suficiente para desbancar o STL como o tipo de arquivo mais conveniente para impressão 3D. Ainda assim, ele sem dúvida ganhou popularidade ao longo dos anos, com muitos fabricantes de impressoras 3D oferecendo-o como arquivo de cena padrão.

 

Vantagens e desvantagens

Como existem muitos formatos de arquivo para impressão 3D, a pergunta óbvia é: “Qual você deve usar para suas impressões?”. Acontece que a resposta depende muito do seu caso de uso.

 

Quando não usar um arquivo STL

Como vimos anteriormente, o formato de arquivo STL não pode armazenar informações adicionais, como cor, material, facetas ou triângulos. Ele armazena apenas informações sobre os vértices e o vetor normal. Se você deseja usar várias cores ou materiais para suas impressões, o formato de arquivo STL não é a escolha certa. Os formatos OBJ ou 3MF são formatos populares e bem suportados que podem especificar cor e material. Portanto, qualquer um deles é a escolha certa para essa tarefa.

 

Quando usar um arquivo STL

Por outro lado, se você quiser imprimir com uma única cor ou material, o que geralmente é o caso, o STL é melhor que o OBJ, pois é mais simples, resultando em tamanhos de arquivo menores e processamento mais rápido.

 

Vantagens do tipo de arquivo STL

Universal: Outra vantagem significativa do formato de arquivo STL é que ele é universal e suportado por quase todas as impressoras 3D. O mesmo não se aplica ao formato OBJ, embora também tenha adoção e suporte razoáveis. Os formatos VRML, AMF e 3MF não são tão amplamente suportados atualmente.

Ecossistema maduro: A maioria dos modelos imprimíveis em 3D que você encontra online está no formato de arquivo STL. Esse ecossistema, combinado com os investimentos em software baseado em STL feitos por fabricantes de impressoras 3D, deu origem a uma grande base de usuários que investem fortemente no formato. Isso significa que há muitos softwares de terceiros trabalhando com arquivos STL, o que não acontece com os outros formatos de arquivo.

 

Desvantagens do tipo de arquivo STL

Há também algumas desvantagens gritantes no uso do STL.

Fidelidade: Como a fidelidade dos processos de impressão abrange resolução em microescala, o número de triângulos necessários para descrever superfícies curvas suaves pode resultar em tamanhos de arquivo enormes.

Sem metadados: Também é impossível incluir metadados (como autoria e informações de direitos autorais) em um arquivo STL.

Impressão colorida com arquivos STL

Avatares impressos em 3D em arenito colorido (Fonte: youlittle)

Na última seção, dissemos que o formato de arquivo STL não suporta modelos multicoloridos. A razão pela qual o formato de arquivo STL não possui informações de cores é simples. Quando a prototipagem rápida evoluiu na década de 1980, ninguém pensava em impressão colorida. Hoje em dia, os materiais e processos de impressão 3D evoluíram rapidamente. Alguns permitem a impressão em cores – pense em escaneamentos 3D de arenito, como ilustrado acima.

No entanto, é injusto dizer que o STL não pode lidar com cores. Acontece que existem versões não padronizadas do formato STL que podem transportar informações de cores.

Por exemplo, os pacotes de software VisCAM e Solidview usam a “contagem de bytes de atributo” no final de cada triângulo para armazenar uma cor RGB de 15 bits usando o seguinte sistema:

Por outro lado, o software Materialise Magics utiliza o cabeçalho de 80 bytes em formato binário para representar a cor geral do objeto 3D. A cor é especificada pela inclusão da string ASCII “COLOR=” seguida por quatro bytes representando vermelho, verde, azul e um canal alfa (transparência) no intervalo de 0 a 255. Essa cor base também pode ser substituída em cada faceta usando os bytes “attribute byte count”.

Recursos de arquivo STL

Se você chegou até aqui, parabéns! Agora você já sabe bastante sobre STL e pode ser considerado um especialista em formatos de arquivo STL.

Nesta seção final, compartilharemos alguns softwares e recursos excelentes que você pode usar para baixar, visualizar, editar e reparar arquivos STL.

Downloads STL

Existem muitos repositórios, mercados e mecanismos de busca na web contendo milhões de arquivos STL gratuitos.

 

Visualizadores STL

Felizmente, abrir um arquivo STL não é muito complicado. Existem vários visualizadores de arquivos STL gratuitos, que você pode acessar online ou como um aplicativo para desktop.

Editores e conversores STL

Sim, é perfeitamente possível editar um arquivo STL e convertê-lo para outro formato. Como o formato é aberto, não há nada que impeça você de alterar o conteúdo de um arquivo. O processo de edição é relativamente fácil.

 

Software e serviços de reparo STL

Lembra da seção onde discutimos as regras que os arquivos STL devem obedecer? Por exemplo, triângulos adjacentes devem compartilhar dois vértices e a regra da mão direita aplicada aos vértices deve resultar na mesma orientação do vetor normal. Se essas condições forem violadas em um arquivo STL, ele estará corrompido ou corrompido.

Existem vários programas que podem ajudar a reparar um arquivo STL corrompido. Por exemplo, o Meshmixer é uma excelente ferramenta gratuita para corrigir os problemas mais comuns de arquivos STL.

Concluindo, aprendemos como o formato de arquivo STL codifica o layout de modelos 3D. Discutimos como otimizar arquivos STL para obter a melhor qualidade de impressão 3D. Conversamos sobre como o formato de arquivo STL se compara a outros formatos populares de impressão 3D, o OBJ, e quando usar cada um deles. Por fim, compartilhamos alguns recursos para baixar, visualizar, editar e reparar arquivos STL.

Esperamos que um conhecimento aprofundado do formato de arquivo STL ajude você a se tornar um usuário mais experiente da sua impressora 3D. Se você achou este artigo útil, compartilhe-o com outros entusiastas da impressão 3D e divulgue. Tem alguma pergunta ou comentário? Deixe-nos saber nos comentários abaixo!

 

 

Este artigo foi inicialmente publicado por All3DPrint.

Categorias

A Loja 3D está também nas redes sociais:

Siga-nos e não perca nenhum conteúdo ;)

Deixe um comentário

Carrinho de compras0
Não há produtos no carrinho!
Continuar comprando
0