Videnskab
 science >> Videnskab >  >> Elektronik

Tilpasning af computerstøttet design

MIT-forskere har udtænkt en teknik, der "omvendt udvikler" komplekse 3D-computerstøttede designmodeller (CAD) - opdeler dem i de mange individuelle former, de er lavet af - for at gøre dem langt nemmere for brugerne at tilpasse til fremstilling og 3-D print applikationer. Kredit:Massachusetts Institute of Technology

MIT-forskere har udtænkt en teknik, der "reverse engineer" komplekse 3D-computerstøttede designmodeller (CAD), gør dem langt nemmere for brugerne at tilpasse til fremstilling og 3-D-printapplikationer.

Næsten alle kommercielle produkter starter som en CAD-fil, en 2-D eller 3-D model med produktets designspecifikationer. En metode, der er meget brugt til at repræsentere nutidens 3-D-modeller, er konstruktiv solid geometri (CSG), en teknik, hvor mange grundlæggende former, eller "primitiver, " med nogle få justerbare parametre kan samles på forskellige måder for at danne et enkelt objekt. Når det er færdigt, det kompilerede digitale objekt konverteres til et net af 3-D trekanter, der definerer objektets form. Disse masker bruges som input til mange applikationer, inklusive 3-D print og virtuel simulering.

Tilpasning af det net, imidlertid, er ingen nem opgave. For eksempel, justering af radius i én del af objektet kræver individuel tilpasning af spidserne og kanterne af hver berørt trekant. Med komplekse modeller bestående af tusindvis af trekanter, tilpasning bliver skræmmende og tidskrævende. Traditionelle teknikker til at konvertere trekantsmasker tilbage til former kan ikke skaleres godt til komplekse modeller eller fungerer nøjagtigt på lav opløsning, støjende filer.

I et papir præsenteret på den nylige AMC SIGGRAPH Asia-konference, MIT forskere beskriver et system, der anvender en teknik kaldet "programsyntese" til at nedbryde CAD-modeller i deres primitive former, såsom kugler og cuboider. Programsyntese konstruerer automatisk computerprogrammer baseret på et sæt instruktioner.

I det væsentlige, at bygge CAD-modeller, designere samler individuelle former til et endeligt objekt; forskernes metode gør det omvendte, adskille CAD-modellerne til individuelle former, der kan redigeres. Som input, systemet tager et 3-D trekantnet og bestemmer først de individuelle former, der udgør det. Programsyntese kravler gennem formerne, forsøger at finde ud af, hvordan formerne blev sat sammen og samlet til den endelige model. Derved, det nedbryder nettet til et træ af noder, der repræsenterer de primitive former og andre noder, der beskriver trinene for, hvordan disse former passer sammen. De endelige former indeholder redigerbare parametre, som brugerne kan justere, og som kan genuploades til nettet.

Grundlæggende former

Kredit:MIT Computational Fabrication Group

Forskerne byggede et datasæt af 50 3-D CAD-modeller af varierende kompleksitet. I eksperimenter, forskerne demonstrerede, at deres system kunne reverse engineering af CAD-filer bestående af op til 100 primitive former. Enklere modeller kan nedbrydes på omkring et minut. Mens køretider kan være hurtige, den vigtigste fordel ved systemet er dets evne til at destillere meget komplekse modeller til enkle, grundlæggende former, siger forskerne.

"På et højt niveau, problemet er reverse engineering af et trekantnet til et simpelt træ, " siger Tao Du, en ph.d. studerende i Computational Fabrication-gruppen i MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL). "Ideelt set hvis du vil tilpasse et objekt, det ville være bedst at have adgang til de originale former – hvad deres dimensioner er, og hvordan de kombineres. Men når du først kombinerer alt til et trekantnet, du har intet andet end en liste over trekanter at arbejde med, og den information går tabt. Når vi har gendannet metadataene, det er nemmere for andre mennesker at ændre designs."

Processen kan være nyttig i fremstillingen eller kombineret med 3-D printsoftware, Du siger. Dette er især vigtigt i en tidsalder med designdeling, hvor amatørbrugere af 3-D-printere uploader 3-D-printmodeller til websteder, så onlinefællesskaber kan downloade og ændre dem. Uploads er for det meste trekantsmasker, fordi mesh er langt mere universelt accepteret på tværs af platforme end de originale CSG-baserede CAD-filer.

"Vi har tonsvis af mesh-modeller, men forholdsvis få CAD-filer bag dem, " Du siger. "Hvis brugerne ønsker at reproducere designet derhjemme og tilpasse det lidt, så kunne denne teknik være nyttig."

Træer og trekanter

Programsyntese finder automatisk kandidat-computerprogrammer med en specifik "grammatik, "hvilket betyder den struktur, den skal arbejde indenfor, såsom træer, og matematiske specifikationer. Ved at bruge disse begrænsninger, programsyntese arbejder sig tilbage og udfylder de tomme felter for at konstruere en algoritme, der opfylder disse specifikationer, givet nyt input. Teknikken bruges, for eksempel, til simple komponenter af software engineering.

MIT-forskere har udtænkt en teknik, der "omvendt udvikler" komplekse 3D-computerstøttede designmodeller (CAD) - opdeler dem i de mange individuelle former, de er lavet af - for at gøre dem langt nemmere for brugerne at tilpasse til fremstilling og 3-D print applikationer. Kredit:Massachusetts Institute of Technology

I forskernes arbejde bl.a. grammatikken er CSG, repræsenteret som træer. Hver sidste knude (uden forgreningsknuder) repræsenterer en primitiv form med klart definerede parametre, og mellemliggende noder repræsenterer grundlæggende måder, hvorpå formerne konvergerer og relaterer.

Forskerne udviklede en metode, der lader programsyntese scanne et helt 3D-net og, i det væsentlige, tænk på hvert muligt CSG-træ, det kunne skabe, som et nyt kandidatprogram.

Efter at systemet har modtaget et input mesh, et forbehandlingstrin detekterer de mulige placeringer, orienteringer, og parametre for alle primitive former. Denne proces skaber en massiv punktsky på tværs af overfladen af ​​trekantnettet. En speciel "primitiv-detektion"-algoritme udleder ud fra disse punkter dimensionerne for hver primitiv form, der udgør nettet.

Forskerne prøver derefter tonsvis af punkter i hele 3D-rummet og markerer dem som enten inden for eller uden for nettet. Dette hjælper med at bestemme, hvordan formerne konvergerer eller relaterer til hinanden. Et simpelt eksempel er et net bestående af to kugler, A og B, slået sammen. Hvis et prøvet punkt falder inden for sfære A, en inde i kugle B, og en i skæringspunktet mellem de to (inde i både A og B), det er højst sandsynligt en forening af de to former.

På baggrund af disse oplysninger, sammen med de primitive dimensioner, programsyntese kunne potentielt skabe et CGS-træ. Men, 3-D-masker med selv lav kompleksitet ville kræve programsyntese for at sample titusindvis af punkter. Dette ville skabe et massivt søgerum, der er beregningsmæssigt upraktisk at håndtere. "Direkte fodring af alle prøverne vil kvæle programsynthesizeren, " siger Du.

For at sikre, at systemet fungerede effektivt, forskerne designet en prøvetagningsmetode, der skaber flere små undersæt af punktprøver på tværs af 3D-rummet, hvilket er meget nemmere for programsyntese at beregne. Ved at stikprøve disse undersæt, det opretter et nyt kandidatprogram, " eller CGS træ, det kunne anses for korrekt. Efter adskillige iterationer – og ved at bruge teknikker til at eliminere bestemte punkter og træer – lander systemet på det korrekte CGS-træ for hver form, med korrekte mellemtrin og endelige parametre. Eventuelle redigerede former føres tilbage i nettet, efterhånden som systemet beregningsmæssigt følger de mellemliggende trin tilbage til det endelige objekt.

I øjeblikket, systemet håndterer kun fire primitive former – kugler, cylindre, cuboids, og tori (donutformer). Næste, forskerne sigter mod at øge kompleksiteten af ​​CSG-grammatik for at håndtere flere former for billetpriser og flere modifikatorer uden for kun booleske operatorer.

Denne historie er genudgivet med tilladelse fra MIT News (web.mit.edu/newsoffice/), et populært websted, der dækker nyheder om MIT-forskning, innovation og undervisning.




Varme artikler