3D nyomtatható modellek tervezése

A mai bejegyzés megszakítja az előző posztban elindított asztali 3D nyomtató összehasonlítást, és egy aktuális példán keresztül igyekszik bemutatni a 3D nyomtatható tárgyak tervezésének legalapvetőbb lépéseit, valamint bemutatja egy egyszerű generatív asztaldísz generatív megtervezésén és 3D nyomtatásán keresztül egy egyszerű munkafolyamatot is.

vorostruct6bab

© parametric | art

A 3D nyomtatás alapja, a digitális térbeli modell, amely megvalósításra kerül, mindig valamilyen 3D tervfájl kell, hogy legyen. A leggyakoribb 3D-s tervfájlok általában megfelelnek, hiszen mindegyikből konvertálható .stl formátum, amelyre a modellünk “szeleteléséhez”, azaz a 3D nyomtatót vezérlő g-code generálásához szükségünk van.

Érdekel, hogyan hozhatsz létre virtuálisan 3D tárgyakat, amelyeket aztán egy 3D nyomtató segítségével elkészíthetsz? Korábban már foglalkoztál 3D modellezéssel, azonban nem tudtad a terveidet kinyomtatni? Mire kell odafigyelnünk, ha “nyomtatható” tárgyakat szeretnénk tervezni?

Ezen rövid kis tutorial célja, hogy ezekre a kérdésekre választ adjon, és egy egyszerű példán bemutassa a 3D nyomtatásra való tervezést a kiindulási geometriától egészen a gépet vezérlő számítógépes kód generálásáig. Ingyenes és open-source programok használatával ez mindenkinek sikerül! A gyakorlati példában bemutatott munkafolyamat már egy alap formából indul ki; ez lehet egy előzetesen megmodellezett geometria, de létrehozhatunk egy kiindulási formát a Meshlab környezetben is, vagy éppen generálhatunk magunknak egy szép felületet. Azok, akik egy már meglévő modellel szeretnének tovább dolgozni, vagy csak lusták, és inkább letölthető 3D nyomtatható objektumok között böngésznének, egy dolguk van: stl formátumban kell kimenteniük a 3D tervfájlt.

© parametric | art

© parametric | art

Ha látványterveket vagy számítógépes játékokhoz készülö ún. low-poly 3D modelleket hozunk létre, figyelmen kívül hagyhatjuk a fizikát. A gyakorlatban legtöbbször a felületek közül csak a legkülső, még látszó felületrétegek látszanak; amelyeknek nem is szükséges pontosan illeszkedniük, hiszen egy renderelt képen ugyanis úgysem látszanak a tökéletlenségek. Általános esetekben a 3D modelleknél megengedhetőek szabadon álló 2D objektumok (vastagsággal nem rendelkező elemek) és duplikátumok, amelyek a grafika és látvány (nem a 3D nyomtatás) szempontjából nem kritikusak a felülethálónkra nézve. Gyakorlatilag figyelmen kívül hagyhatjuk a fizika törvényeit, a 3D modelleknek ezekben az esetekben egyáltalán nem is kell tömörnek lenniük.

Akiknek már van tapasztalata 3D nyomtatással, esetleg a 3D-s világból érkezett, bizonyára feltűnt, hogy amint 3D nyomtatható modelleket szeretnénk létrehozni, a korábbi térbeli modellezési módszerek már nem igazán működnek. A 3D nyomtatható modellek tervezésének megvannak a maga szabályai, a legfontosabbakat igyekszem majd összefoglalni a mai 3D modellezés tutorial során. A használt szoftverek mindegyike ingyenesen hozzáférhető, némelyik pedig open-source. Minden esetben megtaláljátok a letöltéshez szükséges linkeket is.

A tervezés 3D nyomtatásra egy több lépésből álló folyamat, általában nem lehet egyetlen szoftverrel megoldani az összes feladatot, így különböző programokat fogunk használni. Egyre inkább szükséges lesz egy univerzális 3D kezelő eszköz, amely speciálisan 3D nyomtatási fájlok készítésére szolgál és g-code-ot is tud exportálni, egyelőre ez azonban még várat magára. (Bár a Blender 3D nyomtató modulja a legújabb kiadásban már bizalomgerjesztő.)

Vágjunk is bele a közepébe: kell egy forma! A forma minden, ezt fogjuk kinyomtatni, ezért érdemes itt elidőznünk egy kicsit. Érdemes kihasználni a 3D nyomtatási technológia nyújtotta előnyöket a felületünk kiválasztásánál, olyan különleges alakzatok elkészítésére is lehetőségünk van, amelyek semilyen más megoldssal nem lennének kivitelezhetőek. A fantáziánknak ezáltal csak a képzeletünk szab határt, így lesz a funkcionalista formavilágból form follows fiction. Létrehozhatunk egy több irányban hajló szabadformát például NURBS modellezéssel Rhino-ban, vagy akár egy parametrikusan generált felületet Grasshopperben, egy 3D scannerrel beolvasott szobrot vagy épületet, egy letöltött 3D objektumot, de kiindulhatunk egy primitív térbeli testből is, mint a gömb vagy a kocka.

Én itt egy generált felületet választottam, egy térbeli függvényt, amelynek implcit megadási módja bevihető a Meshlab nevű programba, hogy tovább dolgozzunk vele. A képen látható matematikai formát a SurfX3D nevű ingyenes programmal (Letöltéshez katt ide!) készítettem, amely lehetővé teszi ipmplicit, explicit és parametrikus megadású térbeli függvények mesh-ként való ábrázolását és különböző formátumokban (.dxf, .pov, .vrml) történő kiexportálását. Rengeteg mintaképlet található benne, de kicsit keresgélve a neten, számtalan látványos képlettel megadott matematikai felületet találhatunk.

Screen shot 2013-10-23 at 4.34.55 PM

A képen látható darab a Blum’s Cyclide névre hallgat, és implcit megadási módja:

F(x,y,z)=(x2+y2+z2)2-8x2-6y2+z2+4

A függvény értelmezési tartománya a valós számok halmaza:

-2.8 < x < 2.8
-2.3 < y < 2.3
-1.2 < z < 1.2

A paramétereken változtathatunk a képlet szerkesztőablakában, majd elmenthetjük .stl fájlként, de akár be is másolhatjuk a formulát a Meshlab implicit megadású felület paneljébe megadva a függvény alsó és felső korlátait is. A Meshlab-ban lehetőségünk van egyszerű felületek létrehozására is, gömböt, sokszöget elhelyezhetünk egyetlen kattintással a modelltérben. De importálhatunk is máshonnan letöltött modelleket, mesh-eket is, a lényeg, hogy .stl formátumúak legyenek.

A Meshlab egy remek és egyszerű eszköz egy meglévő felületen gyors módosítások végrehajtására, így nem csak, hogy tovább díszíthetjük, formázhatjuk a felületünket, de a tervezési munka során a 3D nyomtatónk paraméterei alapján már fel is készíthetjük a későbbi 3D nyomtatásra, hogy utólag minél kevésbé kelljen optimalizálni, javítani a geometriát. Ráadásul a szoftver open-source és teljesen ingyenes, elérhető Mac, Linux  és Windows alapú rendszerekre is, ide kattintva letölthetitek.
Ebben a feladatban az eredeti felületünkre egy mostanság nagyon népszerű mintát, a voronoi algoritmus sejtszerű szerkezetét fogjuk rászabadítani. A pontok körüli 3D voronoi cellák elméleti hátteréről már egy korábbi bejegyzésben volt szó, itt azonban egy kicsit egyszerűbb módszerrel fogjuk elérni ugyanazt a hatást. A múltkori tutorialban mi generáltunk parametrikusan voronoi cellákat a térbe helyezett véletlenszerű pontok köré, itt azonban pontfelhőből kiindulva színezzük el a minta alapján a felületünket alkotó vertexeket, amelyekből aztán egy új, tömör és 3D nyomtatásra alkalmas geometriát hozunk létre. Lássuk, hogyan!

1. Az előzőleg generált formánkat .stl-ként elmentve importáljuk a felületet a Meshlab-be. Ha megjelent a nézetablakban, vizsgáljuk meg, megfelelő számú poligonból áll-e (nem tűnik-e pixelesnek a nézetben), és ha szükséges, finomítsunk a felosztáson. A Meshlab számos poligonfelosztási lehetőséget kínál a Grasshopper-hez hasonlóan, azonban a munkafolyamat itt nem tartalmazza az explicit history-t, azaz, nem nyúlhatunk bele a módosításokba, azok nem parametrikusak. Professzionális munkákra ezért nem is igazán alkalmas az ingyenes szoftver, 3D nyomtatásra történő modellezésre viszont annál inkább.

2. Válasszuk ki a Filters menüből a Remeshing, Simplification and Reconstruction almenüben található Subdivision Surfaces: Loop parancsot, majd az ismétlések számát beállítva alkalmazzuk a felületünkre. Így az eredeti mesh-ünket finomítva újabb poligonokat hoztunk létre. Túl nagy iteráció-értékeknél a gépünk számítóteljesítményét igénybe veheti a művelet, 3-nál magasabb értékek nem javasoltak.

Következő lépésként helyezzünk el véletlenszerű pontokat a felületünkön. (Mondanánk a Grasshopper vektorgrafikus környezetében, de mivel a Meshlab teljes egészében képi mesh-színezést alkalmaz, így inkább a “fessünk véletlenszerű pöttyöket!” felszólítás a pontosabb.) Ezt legegyszerűbben a Filters menü Sampling almenüjének Posson-disk Sampling parancsával tehetjük meg, ahol megadhatjuk, hány darab pontot szeretnénk véletlenszerűen elszórni (hány darab voronoi sejtet szeretnénk a munkánk eredményéül), majd alkalmazva a felületünkre egy új réteget hozunk létre a generált pontokkal.

Jelenítsük meg jobb oldalon a View menüben a Layer párbeszédablakot, és a jelenleg aktív Poisson-disk Samples réteg helyett válasszuk ki az eredeti mesh-t. Majd menjünk vissza a Filters menü Sampling almenüjébe, és válasszuk ki a Voronoi Vertex Coloring parancsot. Itt válasszuk ki a Preview funkciót a párbeszédpanelen, majd pipáljuk ki a Back distance négyzetet. Megkaptuk elszínezve az eredeti mesh-ünket a véletlenszerű voronoi minta alapján, és így szín alapján kiválaszthatjuk a lyukakat, hogy kitörölhessük őket. Tegyük is meg:

Screen shot 2013-10-23 at 4.41.55 PM

A Filters » Selection » Select Faces by Vertex Quality paranccsal a panelen beállítva válasszuk ki a nekünk megfelelő kijelölést, majd alkalmazzuk és zárjuk be a párbeszédablakot. Most a rácsunk van csak meg, ezért meg kell fordítanunk a kijelölést, hogy kilyukasszuk a héjat. A Selection almenü Invert Selection eszközével fordítsuk meg a kijelölést, majd ugyanitt a Delete Selected Faces and Vertices paranccsal töröljük a rácson kívüli részt.

3. A kívánt szerkezetünk már megvan, azonban ez még csak egy vastagság nélküli, több irányban hajlított felület, amely a 3D nyomtató számára értelmezhetetlen információ, az ugyanis – nomen est omen – csak térbeli adatokkal képes dolgozni. Ehhez egy újabb Filter-t hívunk segítségül; a Remeshing, Simplification and Reconstruction almenüben a Uniform Mesh Resampling parancsra előugró panelen beállíthatjuk a Mesh vastagságának (offset) mértékét, és hogy mennyireközelítse az új kontúr az eredetit. Ezek után a megfelelő eredmény érdekében még simítsuk el a felületünket a Filters » Smoothing, Fairing and Deformation » Laplacian Smooth eszközzel könnyedén simává varázsolhatjuk a most már zárt és tömör mesh-t. A Meshlab-ben létrehozott objektumunkat .stl fájlként mentjük el újra, hogy előkészítsük a 3D nyomtatásra.

4. Mielőtt az .stl fájlunk alapján elkészítenénk a 3D nyomtatót vezérlő programot, többször ellenőriznünk kell, hogy a modell 3D nyomtatható-e. Unalmasnak tűnhet, hogy ilyen sokszor hangoztatom, azonban mindig jobban járunk, ha többször megvizsgáljuk a munkánkat, mintha 12 órányi 3D nyomtatás és többszáz gramm elhasznált alapanyag után jövünk rá, hogy mégis volt valami baki a geometriánkkal. A Netfabb ingyenes változata tökéletes megoldás a feladatra, a legtöbb műveletet a Basic változat (innen letölthető) képes elvégezni: úgymint a modellek darabolása a 3 fő koordinátasík mentén, a modell nagyítása, kicsinyítése; általános g-code generálására is képes, de ami a legjobb: beépített automatikus Mesh javító algoritmusokkal rendelkezik, melyekkel egyszerűen vizsgálhatjuk át és javíthatjuk ki a felülethálónk hibáit, így azok nem okozhatnak majd gondot a 3D nyomtatás során.

5. Miután a Netfabb átnézte és kijavította a modellünket, nincs már más hátra, mint legenerálni a g-code-ot, amely lefordítja a modellünket a 3D nyomtató extruderét vezérlő kódra. Ebben a kódban tárolódnak a geometria mellett a nyomtatási beállításaink és egyéb paraméterek, úgymint a sebesség, anyag, hőmérséklet, előtolás, rétegvastagság. Az így létrehozott file-t usb-n vagy memóriakártyán az asztali 3D nyomtató készülékre küldve el is kezdődhet a 3D nyomtatás. Fontos, hogy a generálás előtt alaposan átgondoljuk a kiválasztott paramétereket, később, a nyomtatás során ugyanis már nem lesz alkalmunk ezeken változtatni. Érdemes megmérni a 3D nyomtatáshoz használt filament tényleges átmérőjét, sok esetben ez ugyanis eltér a néveleges 1.73 ill. 3 mm-es szabványértékektől. Kisebb eltérések még korrigálhatóak a sclicer szoftverben, vastagabb filamentnek kisebb tolási sebességet adva ugyanaz a hatás érhető el, mint a szabályos keresztmetszet esetén. A mérésre használhatunk tolómérőt, illetve kengyeles mikrométert. A 3d modellünk slice-olására rengeteg open-source és ingyenes program áll rendelkezésünkre, a legelterjedtebb és legjobb open-source megoldás a Slic3r és a ReplicatorG, a Makerbot gépeihez pedig a MakerWare szoftvert adják.

Screen shot 2013-10-23 at 4.58.54 PM

Nagyjából ugyanúgy működik mindegyik, és a legújabb frissítésnek köszönhetően immáron a MakerWare (letöltési link) is képes Print Preview funkcióra, amelynek hiánya eddig a leggyengébb pontja volt a csomagnak. Ennek a lehetőségnek az utólsó, a nyomtaást megelőző ellenőrzésben van hatalmas szerepe: még a kód generálása előtt egy utolsó pillantást vethetünk a modellünkre, immáron azonban a nyomtatott változatra: a 3D-s ablakban a 3D nyomtató szerszám útvonalát látjuk virtuálisan, az esetleges hozzáadott támasszerkezetekkel együtt. Megadja továbbá a modellünk térfogatát, tömegét, a nyomtatás várható időtartamát is, ezek fontos jellemzők például a költségek számításakor egy 3D nyomtatás árajánlat esetében. A kód elkészítése több percet is igénybe vehet a geometria bonyolultságától és a választott paraméterektől függően, a kész formátum gyártónként és 3D nyomtatónként eltérő lehet. Nincs már más dolgunk, mint kivárni, amíg az asztali 3D nyomtatónk elkészíti a tárgyunkat.

Remélem sikerült egy kis betekintést nyújtani a 3D modellezésnek ebbe a speciális fajtájába, hasonló feladat lesz a jövő heti Modellezés 3D Nyomtatásra workshop-on is, ahol a résztvevőkkel egy helyben modellezett geometriát készítünk majd fel az additív technológiával történő legyártásra. A csütörtöki workshop-on való részvétel ingyenes, gyertek minél többen! Saját laptopot hozzatok, ha szeretnétek velünk csinálni a gyakorlatokat! A helyszín az Erzsébet téri Design Terminal, feliratkozni itt tudtok az eseményre. A workshop-ot közösen tartjuk a Leopoly-val, akik bemutatják Nektek büngészőben futó, bárki számára könnyen elsajátítható 3D megoldásaikat. (bővebben itt) Találkozzunk jövő héten!

vorofnk

© parametric | art

Reklámok

About bonooobong

parametric | architecture

9 comments

  1. Visszajelzés: Egyedi generatív ékszerek 3D nyomtatással | parametric | art

  2. Visszajelzés: 3D nyomtatott generatív szobrok | parametric | art

  3. Visszajelzés: Idén újra Budapest 3D Printing Days | parametric | art

  4. Visszajelzés: The most prominent 3d printing event in Eastern Europe is coming! | 3dfizz – a great 3D print community

  5. Visszajelzés: 3D nyomtatás a Construma-n | parametric | art

  6. Visszajelzés: 3D nyomtatási tervezési verseny | parametric | art

  7. Visszajelzés: Workshop: Generatív 3D modellezés 3D nyomtatásra | parametric | art

  8. Visszajelzés: 10 jó tanács 3D nyomtató vásárlásához | parametric | art

  9. Visszajelzés: 10 jó tanács 3D nyomtató vásárlásához | parametric | art

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: