Converter STL para 3MF

Aqui você converte STL para 3MF 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.

  • Onde roda No seu navegador. O arquivo nunca é enviado.
  • Reconstruído 3MF funciona de um jeito diferente de STL. Não é a degradação gradual de um codec com perda: o que 3MF consegue expressar é reproduzido fielmente, e o que não tem equivalente ali não sobrevive de jeito nenhum.
  • Limite de tamanho Até 100 MB por arquivo, de graça e sem conta.
  • Vale saber 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.

Até 100 arquivos de uma vez. Formatos misturados não são problema.

O que o 3MF resolve do STL, e o que não resolve

O STL foi publicado em 1987 para uma máquina que só entendia triângulo, e o formato é honesto sobre isso: sem unidade, sem cor, sem material, sem nome, sem peça separada, sem vértice compartilhado, sem metadado. Tudo que o mundo da impressão 3D acrescentou depois — convenção de escala, mesa com várias peças, ajuste por objeto — vive fora do arquivo e precisa ser reconstruído por quem abre.

O 3MF, publicado em 2015, colocou essas coisas dentro do arquivo. Unidade é declarada, objetos são separados, cor e material têm lugar, e o conjunto inteiro é um pacote com manifesto em vez de um fluxo de bytes cru. Converter um STL ganha o empacotamento e a unidade na hora. Não inventa cor nem peça que nunca foram registradas, e nenhum conversor consegue fazer isso.

Um STL é um saco de triângulos, e soldar é o ganho de verdade

O STL guarda todo triângulo como três vértices independentes, sem indexação nenhuma. Um cubo — doze triângulos — chega como trinta e seis registros de vértice onde oito posições distintas bastariam. Não é peculiaridade de um exportador específico; é o formato inteiro que funciona assim.

A conversão solda esses vértices: coordenadas são arredondadas em seis casas decimais para formar uma chave, e todo canto de triângulo na mesma posição colapsa num vértice compartilhado. Seis casas está bem abaixo de qualquer tolerância imprimível e bem acima da discordância de último bit que dois triângulos vizinhos costumam ter num número de ponto flutuante. O que sai é uma superfície indexada de verdade, motivo pelo qual uma checagem de malha fechada no 3MF dá uma resposta útil onde a mesma checagem no STL reporta toda borda como aberta.

O seu STL vira exatamente um objeto no 3MF

A seção de recursos do 3MF vai conter um objeto só, e a seção de montagem um item só. Não é uma simplificação — um STL genuinamente não tem como dizer que seus triângulos formam três corpos separados, então não há o que dividir, e inventar uma divisão por análise de conectividade seria uma decisão de modelagem, não uma conversão.

Se o seu STL contém várias cascas desconectadas, todo fatiador tem um comando de dividir em partes que encontra elas por conectividade depois de importar. Fazer isso ali é a mesma operação com uma prévia visual. Se você quer as partes registradas no próprio arquivo, a origem precisa ser um formato que já as tivesse — um OBJ com grupos, ou um glTF com várias malhas.

Milímetro: a suposição que um STL já estava fazendo

O 3MF é escrito declarando milímetro como unidade, e as coordenadas passam sem tocar. Estritamente, o conversor está afirmando uma unidade que a origem nunca declarou. Na prática, esse é o caso menos arriscado dessa afirmação em toda a área de modelos 3D, porque o mundo da impressão trata números de STL como milímetro há décadas, e todo fatiador importa dessa forma.

O ganho é que a suposição deixa de ser suposição. Um 3MF que declara milímetro importa no mesmo tamanho em qualquer fatiador atual, sem nenhum deles aplicar uma convenção própria da casa. O caso a observar é um STL exportado de um CAD em polegadas, que já ia importar num vigésimo quinto do tamanho e agora faz isso com uma declaração de unidade sustentando o erro.

A cor que alguns arquivos STL escondem, e por que se perde

Cada registro de triângulo num STL binário termina com dois bytes de atributo que a especificação deixa sem uso definido. Duas convenções diferentes de fabricantes de software cresceram nessa lacuna, cada uma codificando uma cor por triângulo à sua própria maneira. Nenhuma das duas faz parte do STL, e ferramentas diferentes não concordam sobre qual convenção um arquivo dado usa.

O leitor usado aqui pega os bytes de normal de face e os de dado de vértice de cada registro, e nunca toca nos dois últimos. Então um STL colorido converte para um 3MF sem cor, silenciosamente. O 3MF tem um modelo de cor de verdade e poderia guardar o resultado; adivinhar qual das duas convenções incompatíveis produziu um padrão de bit não é um chute que um conversor deveria dar em seu nome.

Como este conversor distingue um STL binário de um em texto

Por aritmética, não pela primeira palavra. O teste óbvio — o arquivo começa com "solid"? — está errado, porque o cabeçalho de oitenta bytes de um STL binário pode conter qualquer coisa, e vários programas escrevem "solid" ali mesmo assim. Arquivos que falham desse jeito parecem interpretar e não produzem nada.

Um STL binário tem exatamente 84 + 50n bytes para a contagem de triângulos declarada no cabeçalho: oitenta bytes de cabeçalho, quatro para a contagem, depois cinquenta por triângulo. Nada mais cai nesse número por coincidência. Se o tamanho bate, o arquivo é lido como binário; senão, o texto é escaneado em busca de linhas de vértice. Os dois caminhos chegam no mesmo modelo soldado.

Contando bytes: 50 por triângulo de STL contra um pacote comprimido

O lado STL é exato e fácil de conferir: um modelo de cem mil triângulos pesa exatamente 5.000.084 bytes, sempre, qualquer que seja a forma. Essa previsibilidade é a única coisa em que o formato é genuinamente bom, e também é o motivo de arquivos STL serem tão maiores do que a geometria neles justificaria — três quartos desses bytes são coordenadas repetidas.

O 3MF guarda cada vértice soldado uma vez como um elemento XML e cada triângulo como três referências inteiras, depois comprime tudo dentro do pacote ZIP. Marcação verbosa comprime muito bem, e o compartilhamento de vértice já removeu a maior parte da redundância antes mesmo da compressão começar. O resultado depende do modelo, e para geometria imprimível comum costuma sair confortavelmente menor que o STL de origem.

O pacote que o seu fatiador recebe em vez de um STL

Três entradas num ZIP: um arquivo declarando os tipos de conteúdo, um arquivo de relacionamento apontando para o modelo, e o modelo em si guardando a geometria no espaço de nomes do núcleo do 3MF. Essa estrutura é o que torna o arquivo um pacote OPC, a mesma convenção que DOCX e XLSX usam.

É um arquivo de modelo, não um arquivo de projeto. Não há ajuste de impressão, não há atribuição de filamento, não há arranjo de mesa e não há miniatura, porque isso são extensões próprias de cada fatiador, não parte da geometria. O seu fatiador vai aplicar o perfil que você escolheu e deixar você salvar o próprio 3MF mais completo depois.

O que converter um STL para 3MF não vai consertar

Buraco continua buraco, triângulo invertido continua invertido, autointersecção continua, parede interna continua, e fatia de área zero continua. Nada aqui inspeciona a topologia além de fundir vértices coincidentes, e uma malha que falhou na checagem de um fatiador como STL vai falhar do mesmo jeito como 3MF, com a mesma mensagem.

A única coisa que muda é a classe de erro causada por vértice não compartilhado, que é todo STL por construção. Depois de soldado, uma superfície geometricamente fechada também fica topologicamente fechada, então ferramenta de reparo e checagem de malha fechada trabalham na malha que você quis dizer, em vez de trinta e seis mil triângulos soltos. Isso já torna uma sessão de reparo mais curta.

Como converter STL para 3MF

  1. Solte o seu arquivo STL nesta página, ou clique para escolher um.
  2. Escolha 3MF como destino. A conversão acontece no seu navegador e o arquivo não é enviado.
  3. Baixe o arquivo 3MF pronto.

STL ou 3MF: o que muda

STL comparado com 3MF
STL3MF
Nome completoStereolithography3D Manufacturing Format
Extensão do arquivo.stl.3mf
Tipo de mídiamodel/stlmodel/3mf
Publicado pela primeira vez19872015
Publicado por3D Systems3MF Consortium
Especificação3MF Core Specification
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAtual
Abre no navegadorNenhum navegadorNenhum navegador
Considerado no lugarOBJ, PLYOBJ

Abrir o resultado

PrusaSlicer e Cura leem tanto STL quanto 3MF, então dá para comparar o resultado com o original sem um segundo programa.

Para que serve cada formato

3MF vem da 3MF Consortium é de 2015, descrito em 3MF Core Specification. PrusaSlicer, Cura e Microsoft 3D Builder leem o formato.

STL foi publicado em 1987 e 3MF em 2015. O mais antigo costuma ser o arquivo mais seguro para entregar; o mais novo faz o mesmo com menos bytes.

De STL para 3MF: perguntas frequentes

Meu arquivo STL é enviado para algum lugar?

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.

Converter STL para 3MF é grátis?

É. 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.

Perde qualidade ao converter STL para 3MF?

STL e 3MF 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.

Preciso instalar alguma coisa para abrir um arquivo 3MF?

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 3D Manufacturing Format.

Mais sobre esses formatos