Os pesquisadores do MIT desenvolveram uma técnica que faz a "engenharia reversa" de modelos complexos de design auxiliado por computador (CAD) em 3-D - dividindo-os nas muitas formas individuais de que são feitos - para torná-los muito mais fáceis para os usuários personalizarem para manufatura e Aplicativos de impressão 3-D. Crédito:Massachusetts Institute of Technology
Os pesquisadores do MIT desenvolveram uma técnica que "faz a engenharia reversa" de modelos complexos de design auxiliado por computador (CAD) em 3-D, tornando-os muito mais fáceis para os usuários personalizarem para aplicações de fabricação e impressão 3-D.
Quase todos os produtos comerciais começam como um arquivo CAD, um modelo 2-D ou 3-D com as especificações de design do produto. Um método amplamente utilizado para representar os modelos 3D atuais é a geometria sólida construtiva (CSG), uma técnica em que numerosas formas básicas, ou "primitivos, "com alguns parâmetros ajustáveis podem ser montados de várias maneiras para formar um único objeto. Quando finalizado, o objeto digital compilado é convertido em uma malha de triângulos 3-D que define a forma do objeto. Essas malhas são usadas como entrada para muitos aplicativos, incluindo impressão 3-D e simulação virtual.
Personalizando essa malha, Contudo, não é uma tarefa fácil. Por exemplo, ajustar o raio em uma parte do objeto requer ajustes individuais nos vértices e arestas de cada triângulo afetado. Com modelos complexos compreendendo milhares de triângulos, a personalização torna-se assustadora e demorada. As técnicas tradicionais para converter malhas triangulares de volta em formas não se adaptam bem a modelos complexos ou funcionam com precisão em baixa resolução, arquivos barulhentos.
Em um artigo apresentado na recente conferência AMC SIGGRAPH Ásia, Os pesquisadores do MIT descrevem um sistema que aplica uma técnica chamada "síntese de programa" para quebrar modelos CAD em suas formas primitivas, como esferas e cubóides. A síntese de programas constrói automaticamente programas de computador com base em um conjunto de instruções.
Essencialmente, para construir modelos CAD, designers montam formas individuais em um objeto final; o método dos pesquisadores faz o inverso, desmontar os modelos CAD em formas individuais que podem ser editadas. Como entrada, o sistema pega uma malha triangular 3-D e primeiro determina as formas individuais que a compõem. A síntese do programa rasteja pelas formas, tentando descobrir como as formas foram colocadas juntas e montadas no modelo final. Ao fazer isso, ele divide a malha em uma árvore de nós que representam as formas primitivas e outros nós detalhando as etapas de como essas formas se encaixam. As formas finais contêm parâmetros editáveis para os usuários ajustarem, que podem ser recarregados na malha.
Formas fundamentais
Os pesquisadores construíram um conjunto de dados de 50 modelos CAD 3-D de complexidade variável. Em experimentos, os pesquisadores demonstraram que seu sistema pode fazer engenharia reversa em arquivos CAD compostos de até 100 formas primitivas. Modelos mais simples podem ser desmontados em cerca de um minuto. Embora os tempos de execução possam ser rápidos, a principal vantagem do sistema é sua capacidade de destilar modelos muito complexos em modelos simples, formas fundamentais, dizem os pesquisadores.
"Em alto nível, o problema é fazer engenharia reversa de uma malha triangular em uma árvore simples, "diz Tao Du, um Ph.D. Aluno do grupo de Fabricação Computacional do Laboratório de Ciência da Computação e Inteligência Artificial do MIT (CSAIL). "Idealmente, se você quiser personalizar um objeto, seria melhor ter acesso às formas originais - quais são suas dimensões e como são combinadas. Mas depois de combinar tudo em uma malha triangular, você não tem nada além de uma lista de triângulos para trabalhar, e essa informação é perdida. Depois de recuperar os metadados, é mais fácil para outras pessoas modificarem os designs. "
O processo pode ser útil na fabricação ou quando combinado com software de impressão 3-D, Du diz. Isso é especialmente importante na era do compartilhamento de design, onde usuários amadores de impressoras 3-D carregam modelos de impressão 3-D em sites para que as comunidades online baixem e modifiquem. Uploads são principalmente malhas triangulares, porque as malhas são muito mais universalmente aceitas nas plataformas do que os arquivos CAD originais baseados em CSG.
"Temos toneladas de modelos de malha, mas comparativamente poucos arquivos CAD por trás deles, "Du diz." Se os usuários quiserem reproduzir o design em casa e personalizá-lo um pouco, então, essa técnica pode ser útil. "
Árvores e triângulos
A síntese do programa encontra automaticamente programas de computador candidatos, dada uma "gramática específica, "significando a estrutura em que deve funcionar, como árvores, e especificações matemáticas. Usando essas restrições, a síntese do programa retorna e preenche os espaços em branco para construir um algoritmo que satisfaça essas especificações, dada uma nova entrada. A técnica é usada, por exemplo, para componentes simples de engenharia de software.
Os pesquisadores do MIT desenvolveram uma técnica que faz a "engenharia reversa" de modelos complexos de design auxiliado por computador (CAD) em 3-D - dividindo-os nas muitas formas individuais de que são feitos - para torná-los muito mais fáceis para os usuários personalizarem para manufatura e Aplicativos de impressão 3-D. Crédito:Massachusetts Institute of Technology
No trabalho dos pesquisadores, a gramática é CSG, representado como árvores. Cada nó final (sem nós de ramificação) representa uma forma primitiva com parâmetros claramente definidos, e os nós intermediários representam as maneiras básicas pelas quais as formas convergem e se relacionam.
Os pesquisadores desenvolveram um método que permite a síntese do programa digitalizar uma malha 3-D inteira e, essencialmente, pense em cada árvore CSG possível que poderia criar como um novo programa candidato.
Depois que o sistema recebe uma malha de entrada, uma etapa de pré-processamento detecta os locais possíveis, orientações, e parâmetros de todas as formas primitivas. Esse processo cria uma nuvem de pontos massiva na superfície da malha do triângulo. Um algoritmo especial de "detecção de primitivas" infere a partir desses pontos as dimensões de cada forma primitiva que compõe a malha.
Os pesquisadores então amostram toneladas de pontos em todo o espaço 3-D e os sinalizam como dentro ou fora da malha. Isso ajuda a determinar como as formas convergem ou se relacionam umas com as outras. Um exemplo simples é uma malha que consiste em duas esferas, A e B, fundidos juntos. Se um ponto amostrado cair dentro da esfera A, um dentro da esfera B, e um na interseção dos dois (dentro de A e B), provavelmente é uma união das duas formas.
Dada esta informação, junto com as dimensões primitivas, a síntese do programa poderia potencialmente criar uma árvore CGS. Mas, Malhas 3-D, mesmo de baixa complexidade, exigiriam a síntese do programa para amostrar dezenas de milhares de pontos. Isso criaria um enorme espaço de busca que é computacionalmente impraticável de manusear. "A alimentação direta de todas as amostras irá sufocar o sintetizador de programa, "Du diz.
Para garantir que o sistema funcione de forma eficiente, os pesquisadores desenvolveram um método de amostragem que cria vários pequenos subconjuntos de amostras pontuais no espaço 3-D, o que é muito mais fácil para a síntese do programa computar. Ao amostrar esses subconjuntos, cria um novo programa candidato ", "ou árvore CGS, que poderia ser considerado correto. Depois de inúmeras iterações - e usando técnicas para eliminar certos pontos e árvores - o sistema pousa na árvore CGS correta para cada forma, com etapas intermediárias corretas e parâmetros finais. Quaisquer formas editadas são realimentadas na malha à medida que o sistema segue computacionalmente as etapas intermediárias de volta ao objeto final.
Atualmente, o sistema lida com apenas quatro formas primitivas - esferas, cilindros, cuboides, e tori (formas de rosca). Próximo, os pesquisadores pretendem aumentar a complexidade da gramática CSG para lidar com mais formas e modificadores fora apenas de operadores booleanos.
Esta história foi republicada por cortesia do MIT News (web.mit.edu/newsoffice/), um site popular que cobre notícias sobre pesquisas do MIT, inovação e ensino.