Converter STL para PLY

Aqui você converte STL para PLY 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 PLY funciona de um jeito diferente de STL. Não é a degradação gradual de um codec com perda: o que PLY 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.

STL para PLY é a conversão menos destrutiva deste grupo

Toda outra dupla deste conjunto abre mão de algo. glTF perde os materiais, OBJ perde o MTL, 3MF perde a cor. STL para PLY perde as normais de face, e essas são calculadas a partir da ordem de enrolamento por todo leitor que precisa delas, e costumam estar erradas em arquivos produzidos por exportadores descuidados — motivo de várias fatiadoras ignorarem o valor guardado por completo.

Tudo mais sobrevive porque não havia mais nada. Um STL é uma lista de triângulos sem cor, sem unidade, sem nome, sem peça e sem atributo. Um PLY escrito com x, y e z e uma lista de faces guarda exatamente isso. Os dois formatos concordam sobre o que é um modelo, o que é raro nesta categoria.

Por que ferramentas de medição querem o PLY e não o STL

CloudCompare, MeshLab, Open3D e trimesh recebem PLY como entrada de primeira classe, porque a Stanford desenhou o formato em 1994 exatamente para esse tipo de trabalho: um cabeçalho autodescritivo listando qualquer propriedade por vértice ou por face que uma ferramenta de pesquisa precise. Escaneamento e fotogrametria se padronizaram nele pelo mesmo motivo.

Também leem STL, e é aí que o problema começa em vez de terminar. Um STL carrega, exibe e parece correto enquanto é topologicamente inútil — veja a próxima seção. Converter não é sobre abrir o arquivo; é sobre conseguir uma malha cuja conectividade os algoritmos possam confiar.

Soldar um STL é o que torna a malha mensurável

O STL guarda três vértices independentes para cada triângulo. Um cubo são trinta e seis registros de vértice para oito posições. Carregue isso numa ferramenta de malha e pergunte se a superfície está fechada, e ela vai dizer que toda borda é uma borda de fronteira, porque nenhum triângulo compartilha um vértice — mesmo que a forma não tenha buraco nenhum.

A conversão arredonda coordenadas em seis casas decimais, usa isso como chave, e funde todo canto na mesma posição num único vértice compartilhado referenciado por todos os triângulos dele. Seis casas está bem abaixo de qualquer tolerância que uma peça física teria e bem acima do último bit de discordância que dois triângulos vizinhos têm num float. Depois disso, checagens de fechamento, estimativa de normal, curvatura, decimação, suavização e preenchimento de buraco funcionam sobre adjacência real.

O PLY produzido a partir de um STL, propriedade por propriedade

O cabeçalho é o conservador: ply, format ascii 1.0, um comentário nomeando quem escreveu, uma declaração de elemento vertex com três linhas de propriedade float para x, y e z, uma declaração de elemento face com uma linha property list uchar int vertex_indices, e end_header. Depois uma linha por vértice e uma por triângulo.

Nada mais é declarado — sem normal, sem cor, sem confiança, sem qualidade, sem propriedade personalizada. É proposital: um cabeçalho que promete uma propriedade que o arquivo não consegue preencher é pior que um curto, e todo leitor que lida com PLY de fato lida com esse dialeto.

Normais de face são descartadas entre STL e PLY, e tudo bem

Cada registro de triângulo de cinquenta bytes num STL binário começa com doze bytes de normal de face. Esses doze bytes são pulados. A informação que carregam é totalmente determinada pela ordem dos três vértices, então recalcular é exato, não aproximado.

Não é um atalho tomado por conveniência. Normais de STL guardadas discordam da ordem de enrolamento com frequência suficiente para que várias fatiadoras e ferramentas de malha as descartem por política, precisamente porque muitos gravadores erram o sinal ou a normalização. Recalcular a partir da ordem de enrolamento dá uma resposta consistente só.

PLY em ASCII e o que custa num STL denso

Toda coordenada é escrita como texto decimal, um vértice por linha, e todo triângulo como um 3 inicial seguido de três índices. Um vértice que eram doze bytes de binário vira vinte a sessenta caracteres. Contra isso, a soldagem já removeu cerca de cinco sextos dos registros de vértice que um STL carregava.

Os dois efeitos parcialmente se cancelam e o resultado depende do modelo. O que é previsível é o lado do STL: exatamente 84 + 50n bytes para n triângulos, então uma malha de dois milhões de triângulos derivada de escaneamento são 100 MB antes de converter e vale a pena decimar primeiro. Se o PLY resultante ficar pesado, salvar de volta do MeshLab como binary_little_endian é uma correção de um passo só.

Usando o PLY convertido como superfície de referência

O motivo mais comum para essa conversão é análise de desvio: uma peça foi impressa ou usinada a partir de um STL, depois escaneada, e alguém precisa da diferença. A distância cloud-to-mesh do CloudCompare quer a referência como uma malha com faces, que é o que isto produz, e o escaneamento como pontos, que é o que o scanner produziu.

Duas questões práticas. Os dois conjuntos de dados precisam ser alinhados primeiro — um pareamento grosseiro de pontos seguido de ICP é a rota padrão — e precisam compartilhar uma escala, que nenhum dos dois formatos declara. Se o escaneamento está em milímetros e o STL foi exportado em polegadas, o alinhamento vai convergir em algo plausível e errado.

Tudo que um STL nunca teve, e o PLY ainda não vai ter

O PLY é o formato em que escaneamentos 3D chegam porque carrega cor por vértice, e é isso que faz uma malha de fotogrametria parecer o objeto de onde veio. Nada disso aparece aqui, porque um STL não tinha cor para dar.

A exceção não oficial vale nomear: um punhado de ferramentas codifica uma cor de quinze bits nos dois bytes de atributo no fim de cada registro de triângulo STL, em duas convenções mutuamente incompatíveis. Esses bytes não são lidos. Não há como saber qual convenção um arquivo usou, e chutar colocaria cores erradas numa malha que alguém está prestes a medir.

Quando o STL deveria continuar sendo um STL

Se o destino é uma fatiadora ou uma gráfica de impressão 3D, não converta — eles querem STL ou 3MF, e o suporte a PLY nesse mundo é irregular. Se o destino é um visualizador de navegador, glTF é o alvo certo e PLY é o errado.

Converta quando o próximo passo é um algoritmo: um cálculo de distância, uma decimação, um remesh, um preenchimento de buraco, um volume ou área de superfície, um alinhamento contra dado escaneado. Todo o valor do passo é a soldagem e o formato que a ferramenta espera, e roda inteiramente no seu navegador sem envio.

Como converter STL para PLY

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

STL ou PLY: o que muda

STL comparado com PLY
STLPLY
Nome completoStereolithographyPolygon File Format
Extensão do arquivo.stl.ply
Tipo de mídiamodel/stlmodel/ply
Publicado pela primeira vez19871994
Publicado por3D SystemsStanford University
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAtual
Abre no navegadorNenhum navegadorNenhum navegador
Considerado no lugar3MF, OBJOBJ

Abrir o resultado

Blender lê tanto STL quanto PLY, então dá para comparar o resultado com o original sem um segundo programa.

Para que serve cada formato

Os dois miram trabalhos diferentes: STL em a impressão 3D, PLY em a digitalização e mover dados entre programas. Vale pesar isso antes, porque o motivo de um existir costuma ser o motivo de o outro ser incômodo.

PLY vem da Stanford University é de 1994. MeshLab, Blender e CloudCompare leem o formato.

De STL para PLY: 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 PLY é 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 PLY?

STL e PLY 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 PLY?

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 Polygon File Format.

Mais sobre esses formatos