Você está na página 1de 6

Simplificac¸ao˜

de malhas de triangulosˆ STL

contidas em arquivos

Rodrigo M. M. H. Gregori

rodrigo.gregori@gmail.com

Abstract. The objective of this project is the optimization of triangle meshes within STL files, used in addictive manufacturing - a forthcoming manufacturing technic, based on the overlapping of flat layers. To achieve this, the idea is to use an algorithm already proposed, adapting it so that it works as a pre- processor for the triangle mesh during the slicing procedure, or even developing a new algorithm. The results are going to be compared to the results of the procedure without the pre-processing, to measure the improvement to the whole manufacturing process.

Resumo. Este projeto tem como objetivo a otimizac¸ao˜ de malhas de triangulosˆ contidas em arquivos no formato STL, utilizados na manufatura aditiva - tecnica´ de manufatura emergente, que se baseia na sobreposic¸ao˜ sucessiva de cama- das planas. Para tal, pretende-se utilizar algum algoritmo ja´ citado na litera- tura, adaptando-o, de forma a funcionar como um pre-processador´ da malha de triangulosˆ no processo de fatiamento, ou, ainda, desenvolver um novo algo- ritmo. O resultado sera´ comparado ao do processo sem o pre-processamento´ de forma a aferir a melhoria para a manufatura.

Agradecimentos

Agradec¸o aos professores Murilo da Silva e Neri Volpato pela conversa sobre manufa- tura aditiva e simplificac¸ao˜ de malhas de triangulos,ˆ ponto de partida para a pesquisa e desenvolvimento dessa proposta.

Agradec¸o a` professora Maria Inezˆ gramatical.

Fonseca pela inestimavel´

ajuda com a revisao˜

1. Introduc¸ao˜

1.1. Apresentac¸ao˜ do Problema

Entre as novas tecnicas´ manufatura aditiva.

A manufatura aditiva oferece uma serie´ de problemas que podem ser explorados pela Cienciaˆ da Computac¸ao.˜ Se por um lado alguns trabalhos pesquisados abordam o algoritmo de fatiamento em si, focando a espessura das fatias, de forma a obter um modelo manufaturado mais proximo´ do projetado, com menor custo; por outro, sob a optica´ computacional, seria importante buscar outras formas de otimizar o trabalho de fatiamento de um arquivo STL. Como o arquivo baseia-se em uma malha de triangulos,ˆ a proposta aqui e´ trabalhar com a otimizac¸ao˜ de malha de triangulos.ˆ

para manufatura, que estao˜

em constante desenvolvimento, esta´ a

1.2. Estado da Arte

Manufatura aditiva (AM, do inglesˆ additive manufacturing), e´ um processo de produc¸ao˜ no qual camadas planas sao˜ sucessivamente sobrepostas, formando um objeto tridimen- sional. As informac¸oes˜ para a confecc¸ao˜ deste objeto sao˜ oriundas de um modelo 3D, gerado em algum sistema CAD. O modelo e´ geralmente convertido para um formato intermediario,´ STL (de stereolithography), isto e,´ uma malha de triangulos,ˆ cada um re- presentado por seus vertices´ e um vetor normal, que indica o lado para onde a face aponta.

O arquivo STL e´ um padrao˜ de facto [Volpato et al. 2007, Jurrens 1999]. Trata-

se de uma lista nao˜ ordenada de triangulosˆ que compoem˜ um mosaico que e´ uma representac¸ao˜ aproximada do objeto em questao.˜ Os triangulosˆ sao˜ definidos por seus vertices,´ seguindo a regra da mao˜ direita, mais a normal, que indica o lado externo do objeto. Se, por um lado, o formato simples determina sua larga utilizac¸ao;˜ por outro, esse padrao˜ tem desvantagens como a da possibilidade de falhas na gerac¸ao˜ da malha de triangulos.ˆ O formato STL em si gera rendundancias,ˆ ja´ que cada vertice´ e´ armazenado pelo menos quatro vezes (uma para cada um dos triangulosˆ adjacentes); alem´ disso, ha´ re- dundanciaˆ de informac¸oes˜ com os vertices´ armazenados no sentido anti-horario´ e o vetor normal. Isso torna o arquivo muito grande, exigindo maior consumo de memoria,´ CPU e tempo de processamento.

Esse arquivo sera´ entao˜ fatiado e enviado para fabricac¸ao˜ pela maquina´ de ma- nufatura [Volpato et al. 2007]. Diversos algoritmos concorrem para o fatiamento que e´ automatico,´ [Pandey et al. 2003]. De maneira geral calculam-se os pontos nos quais pla- nos horizontais imaginarios´ incerceptam a malha de triangulosˆ em diferentes pontos no eixo cartesiano z. A partir desses pontos delimita-se o contorno de cada fatia. Com isso tem-seˆ os dados para a manufatura.

O problema do fatiamento, bastante abordado pelos pesquisadores, requer diver-

sas abordagens para soluciona-lo´ [Pandey et al. 2003]. Inicialmente utilizava-se uma es- pessura unica´ para as fatias, mas ha´ um problema equacionavel:´ fatias mais espessas

permitem que o modelo seja constru´ıdo mais rapidamente; portanto, com menor custo. Por outro lado, fatias mais finas produzem um objeto final com melhor qualidade, mas com maior custo e tempo de processamento. Esse e´ o desafio que se procura resolver na questao˜ do fatiamento.

Nesse sentido, diversos autores propoem˜ algoritmos de fatiamento com espessura variavel´ [Pandey et al. 2003]. Por exemplo, Tyberg e Bøhn (1998) dividem um objeto em subpartes, fazendo um fatiamento “local” em vez de fatia-lo´ como um todo. Partes do modelo que nao˜ necessitam de mais detalhamento sao˜ fatiadas com espessuras maiores. Assim os autores conseguem uma reduc¸ao˜ de tempo de ate´ 37% se comparado a outros processos de fatiamento com espessuras variaveis.´ Alem´ disso, tem-se melhor qualidade do objeto manufaturado, se comparado aos produzidos pelos metodos´ de fatiamento com espessura fixa.

do equacionamento entre custo e qualidade do modelo, ha´ casos em que o

erros, que devem ser corrigidos antes do fatiamento. Uma soluc¸ao˜

para esse problema e´ proposta por Huang et al. (2002) , com um algoritmo de fatiamento

arquivo STL contem´

Alem´

tolerante a erros.

1.3.

Justificativa

Embora largamente utilizado, o formato STL, como ja´ mencionado, tem uma serie´ de pro- blemas. Baseado em malhas de triangulos,ˆ instiga a combinar alguma tecnica´ ja´ existente de otimizac¸ao,˜ ou, ainda, a adaptar ou a desevolver um novo algoritmo como tentativa para soluc¸ao˜ de algum dos problemas do STL, como a redundanciaˆ de vertices´ ou das coordenadas relativas ao vetor normal. Assim, julgando a importanciaˆ desse formato na manufatura aditiva, justifica-se um trabalho de pesquisa com o objetivo de otimizar ma- lhas de triangulosˆ contidas em arquivos STL.

2. Objetivos

2.1. Geral

Este trabalho propoe-se˜ a encontrar mecanismos para melhoria do processo de fatiamento de um modelo solido,´ parte do processo de planejamento para a manufatura aditiva. A meta podera´ ser atingida atraves´ de otimizac¸ao˜ da malha de triangulosˆ obtida a partir de sistema CAD. O resultado sera´ comparado com o do processo sem a otimizac¸ao˜ da malha.

2.2. Espec´ıficos

Desenvolvimento ou adaptac¸ao˜ de um algoritmo para otimizac¸ao˜ de malhas de triangulosˆ obtidas atraves´ de arquivos STL.

Aplicac¸ao˜ da otimizacao˜ ao processo de fatiamento de modelos tridimensionais.

Comparac¸ao˜ dos resultados dos processos de fatiamento com e sem a otimizac¸ao.˜

3. Revisao˜

Bibliografica´

Cignoni et al. (1998), Luebke (2001), Peng et al. (2005) mostram que existem varias´

abordagens para otimizac¸ao˜ ou simplificac¸ao˜ de malhas de triangulos.ˆ A motivac¸ao˜ para

a pesquisa dos algoritmos pode advir da necessidade de diminuic¸ao˜ do custo para ren-

derizar imagens tridimensionais, por exemplo. Nesse caso, e´ poss´ıvel simplificar objetos distantes, que necessitariam de menos detalhes que os objetos mais proximos,´ por exem- plo. Nesse sentido utilizam-se modelos de resoluc¸ao˜ multipla,´ processados por diferentes n´ıveis de detalhe (LOD - Level Of Detail) [Puppo and Scopigno 1997].

O algoritmo de superfaces [Kalvin and Taylor 1996], tem como objetivo simplifi- car malhas poligonais. Primeiramente ha´ um procedimento de fusao˜ dos triangulos,ˆ com

a criac¸ao˜ de superfaces. Entao,˜ as bordas das novas faces sao˜ fundidas. Por ultimo,´ e´ executa-se a triangulac¸ao˜ dessas superfaces, que podem ser decompostas em diversas ou- tras menores. O resultado e´ um modelo simplificado do original, que mantem´ a precisao˜

geometrica,´

Hoppe (1996) introduz o conceito de malha progressiva (PM - Progressive Mesh),

que e´ um metodo´ de simplificac¸ao/compress˜ ao˜ de modelos poligonais. Uma malha pro- gressiva e´ uma representac¸ao˜ bastante simplificada, criada a partir de diversas operac¸oes˜ de colapso de arestas, que temˆ como operac¸ao˜ inversa a divisao˜ de vertices.´ Uma operac¸ao˜ de colapso de aresta remove da malha um vertice´ e dois triangulos.ˆ O algoritmo e´ capaz de preservar a geometria original e, atraves´ da operac¸ao˜ inversa de divisao˜ de vertices,´ e´

poss´ıvel a obtenc¸ao˜

mas com perda de qualidade em relac¸ao˜

ao modelo original.

do modelo original.

Esse algoritmo nao˜ atende ao objetivo de simplificac¸ao˜ de uma malha para a ma- nufatura aditiva, uma vez que comprime um modelo, o que e´ bom para transmissao˜ de dados, mas e´ inaceitavel a perda da fidelidade do modelo comprimido com a malha ori- ginal, que fica mais distante ainda do modelo CAD que gerou a malha. Importante notar que o proprio´ modelo em formato STL ja´ e´ questionado pelo erro causado pelo desvio em relac¸ao˜ ao modelo original (chordal error) [Pandey et al. 2003].

Kronrod e Gotsman (2000) desenvolveram um algoritmo de compressao˜ base- ado nos dados de geometria (as coordenadas dos vertices),´ em vez de utilizar os dados de topologia (a conectividade). Dessa forma, os autores utilizam a predic¸ao˜ do parale- logramo: espera-se que dois triangulosˆ adjacentes em uma malha formem um pol´ıgono semelhante a um paralelogramo. Os triangulos,ˆ entretanto, devem ser quase coplanares.

B adja-

de algoritmo “lossy”,

Dessa forma, com os dados de um trianguloˆ

cente pode ser previsto com uma certa precisao.˜

com perdas na qualidade do modelo, o que o torna incompat´ıvel com o uso na manufatura aditiva.

Outra classe de algoritmos utiliza triangle strips (faixas de triangulos).ˆ Partindo- se de dois triangulos,ˆ forma-se uma strip e, assim, a partir do segundo triangulo,ˆ basta acrescentar um novo vertice´ para formar o proximo´ triangulo,ˆ ou seja, alem´ do overhead inicial de dois vertices,´ para cada novo trianguloˆ apenas um novo vertice´ sera´ transmitido [Gumhold and Straßer 1998].

A ideia´ de reduzir a quantidade de vertices´ e´ relevante no contexto da manufatura aditiva, uma vez que, ao tratar da etapa de fatiamento do modelo, com a utilizac¸ao˜ do formato STL, e´ poss´ıvel pre-processar´ o arquivo por um algoritmo de triangle strips, que pode otimizar essa etapa.

Estkowsky (2002) prova que a gerac¸ao˜ de strips, no entanto, e´ um problema NP-completo. No trabalho do pesquisador sao˜ propostos dois algoritmos para gerac¸ao˜ de strips de triangulos:ˆ um utilizando programac¸ao˜ inteira, outro utilizando branch-and- bound.

Outro metodo´ para gerac¸ao˜ de triangle strips e´ proposto em [Kaick et al. 2004], com base em duas heur´ısticas. A primeira baseia-se em um algoritmo guloso, que busca triangulosˆ “livres”, ou seja, que nao˜ pertencem a nenhuma strip; a segunda utiliza o algo- ritmo anterior e mais outro, que busca gerar strips sequenciais.

Isenburg (2001) sugere comprimir as triangle strips junto dos dados de conectivi-

dade, mas nao˜

vez que o objetivo nao˜

dos dados de vetores, uma

A, o vertice´

faltante do trianguloˆ

´

E outra especie´

parece ser importante, nesse caso, a compressao˜

e´ otimizar a transmissao˜

dos dados, mas o fatiamento do modelo.

4. Metodologia

Para a realizac¸ao˜

do trabalho de pesquisa, propoe-se˜

a seguinte metodologia:

Pesquisa bibliografica,´ delimitando, entre as classes de algoritmos de otimizac¸ao˜ ja´ propostas, a que efetivamente mais se adapta a` otimizac¸ao˜ de malhas de triangulosˆ com as caracter´ısticas para manunfatura aditiva; Desenvolvimento, ou adaptac¸ao˜ de um metodo´ de otimizac¸ao˜ para pre-´ processamento da malha de triangulos,ˆ antes da etapa de fatiamento de um modelo tridimensional, no processo de manufatura aditiva;

Comparac¸ao˜ do tempo de execuc¸ao˜ e dos recursos utilizados (memoria´ RAM, uso de CPU) ao executar o processo de fatiamento sem a otimizac¸ao˜ da malha de triangulosˆ e pos-otimizac´ ¸ao.˜

5. Resultados Esperados

Espera-se que o fatiamento e, consequentemente, todo o processo de manufatura aditiva

ocorra mais rapido´

preciso observar que o tempo e os recursos gastos para otimizac¸ao˜ ultrapassar a economia que se espera obter com a otimizac¸ao.˜

´

apos´ a otimizac¸ao˜

das malhas de triangulosˆ

do que sem o processo. E

do modelo nao˜

devem

6. Informac¸oes˜

6.1. Orc¸amento

Complementares aos Objetivos

Material

Custo (R$)

Material bibliografico´

500,00

Combust´ıvel

5.000,00

Alimentac¸ao˜

500,00

Total

6.500,00

6.2. Etapas e Cronograma

Etapa

2012/1

2012/2

2013/1

2013/2

Pesquisa Bibliografica´

XXXX

XXXX

XXXX

 

Desenvolvimento de algoritmo

   

XXXX

XXXX

Verificac¸ao˜

dos resultados da otimizac¸ao˜

     

XXXX

Escrita da dissertac¸ao˜

XXXX

XXXX

XXXX

XXXX

Referenciasˆ

Cignoni, P., Montani, C., and Scopigno, R. (1998). A comparison of mesh simplification algorithms. Computers & Graphics, 22(1):37–54.

Estkowski, R., Mitchell, J. S. B., and Xiang, X. (2002). Optimal decomposition of poly- gonal models into triangle strips. In Proceedings of the eighteenth annual symposium on Computational geometry - SCG ’02, pages 254–263, New York, New York, USA. ACM Press.

Gumhold, S. and Straßer, W. (1998). Real Time Compression of Triangle Mesh Con- nectivity. In SIGGRAPH 98 Proceedings of the 25th annual conference on Computer graphics and interactive techniques, volume 32 of Computer Graphics Proceedings, Annual Conference Series, pages 133–140. ACM Press.

Hoppe, H. (1996). Progressive meshes. In Proceedings of the 23rd annual conference on Computer graphics and interactive techniques - SIGGRAPH ’96, pages 99–108, New York, New York, USA. ACM Press.

Huang, S. H., Zhang, L. C., and Han, M. (2002). An Effective Error-Tolerance Slicing Algorithm for STL Files. The International Journal of Advanced Manufacturing Te- chnology, 20(5):363–367.

Isenburg, M. (2001). Triangle Strip Compression. Computer Graphics Forum, 20(2):91–

101.

Jurrens, K. K. (1999). Standards for the rapid prototyping industry. Rapid Prototyping Journal, 5(4):169–178.

Efficient Generation of

Kaick, O. M. V., da Silva, M. V. G., and Pedrini, H. (2004).

Triangle Strips from Triangulated Meshes. Journal of WSCG, 12(1-3):475–481.

Kalvin, A. and Taylor, R. (1996). Superfaces: polygonal mesh simplification with boun- ded error. IEEE Computer Graphics and Applications, 16(3):64–77.

Kronrod, B. and Gotsman, C. (2000). Optimized triangle mesh compression using predic- tion trees. In Proceedings the Eighth Pacific Conference on Computer Graphics and Applications, pages 406–407. IEEE Comput. Soc.

Luebke, D. (2001). A developer’s survey of polygonal simplification algorithms. IEEE Computer Graphics and Applications, 21(1):24–35.

Pandey, P. M., Reddy, N. V., and Dhande, S. G. (2003). Slicing procedures in layered manufacturing: a review. Rapid Prototyping Journal, 9(5):274–288.

Peng, J., Kim, C.-S., and Jay Kuo, C.-C. (2005). Technologies for 3D mesh compression:

A survey. Journal of Visual Communication and Image Representation, 16(6):688–

733.

Puppo, E. and Scopigno, R. (1997). Simplification, LOD and multiresolution: Principles and applications. Technical Report 3, National Research Council of Italy, Pisa, Italy.

Tyberg, J. and Bøhn, J. (1998).

Local adaptive slicing. Rapid Prototyping Journal,

4(3):118–127.

Volpato, N., Ahrens, C. H., Ferreira, C. V., Petrusch, G., de Carvalho, J., dos Santos, J. R., and da Silva, J. V. L. (2007). Prototipagem Rapida:´ tecnologias e aplicac¸oes˜ . Edgar Blucher.¨