2013. augusztus 9., péntek

waffle modell készítés 1.

A tutorial nem kezdőknek készül, de ők is megbirkózhatnak vele, ha egy kicsit önállóan böngészik a grasshoppert. A lecke során megemlítem az alapvető problémát majd a megoldást kifejtem, de minden részletet nem fogok a szádba rágni, gondolkozni is kell, hogy tanulj. A tutorial végén természetesen közzéteszem a kész algoritmust, hogy ellenőrizd a munkád, vagy segítségnek használhasd.

Nekem is ez lesz az első, ezért megjegyzéseket, kívánságokat, problémákat szívesen fogadok. Ha valami nem tiszta, nyugodtan lehet kérdezni. Én is tanulás végett készítem ezeket a leckéket, nem vagyok profi. Úgy remélem együtt tanulhatunk valamit.

Szükségünk lesz: rhino+grasshopper; nyomtató; 2-3 nyomtatópapír; 1db indigó; éles sniccer/penge/szike
és nem utolsó sorban TÜRELEM.


Alapformának én ezt a  3db zárt curve-ből loft-tal előállított modellt választottam. [A textúrát az ívesség jobb megjelenítése végett tettem a modellre.]
Ebből próbálunk meg létrehozni egy makettet, ami a végén így fog kinézni:




Essünk hát neki

Nyissuk meg a grasshoppert. Rendeljük az alapformánkat egy [GEOMETRY] node-ba.


Első feladatunk: 

szeleteljük fel a modellt két, egymásra merőleges [XZ,YZ] síkban.


Itt két féle irányban mehetünk neki a feladatnak. Vagy fix távolságonként (paraméter) készítünk szeleteket vagy fix mennyiségű (paraméter) szeleteket akarunk létrehozni. Én úgy gondolom, a megadott számú szeletekkel biztonságosabban hozhatjuk létre a modellünket. Kisebb az esély hogy nyomorék szeletet kapunk a modell szélén és azok kiszűrésével  így nem kell szarakodnunk. A szeletek számának változtatásával pedig kedvünkre sűríthetjük a modell osztását, de pontos és x-y irányban azonos távolságot nem fogunk kapni.
Ha fix távolsággal szeretnéd folytatni tovább, annyi segítség, hogy egy hálót hozz létre x-y síkban a modell alatt.
Én viszont az osztások számát határozom meg.
Hozzuk létre a modellünk befoglaló dobozát [BOUNDING BOX]
A tégla sarkaiból összekötjük a megfelelőeket, hogy megkapjuk a kiválasztott pontból kiinduló X Y és Z éleket.[BOX CORNER+LINE] Ezek segítenek a tájékozódásban, illetve szükség is lesz rájuk.
Az x és y oldalt felosztjuk a szükséges szeletek száma +1 szakaszra [DIVIDE CRV(N=N+1)]
Az így kapott osztópontokra készítünk metsző síkokat. A kezdő és végpontot azonban el kell hagynunk. Ha egy derékszögű testet használnánk alapformának, pl.: kocka, akkor annak oldallapjából is kapnánk egy szeletet.
Hozzunk létre egy tartományt [DOMAIN] melyet az osztópontok száma alapján hozunk létre. Lecsapjuk az első értéket, illetve az utolsót. Az [A] érték legyen [1] a [B] érték pedig [[LIST LENGHT]-2]. Ezt könnyű belátni, mert listaként értelmezzük az osztópontokat, és a lista a 0-ik helyen kezdődik. Létrehozzuk ezután az "allistát". [SUB LIST].
Hozzuk létre ezekbe a pontokba a metszősíkainkat: [YZ;XZ] Ezekkel a síkokkal fel is osztjuk a modellünket [SEC BREP/PLANE]
itt tartunk eddig:





Második feladatunk: 

Határozzuk meg a felhasznált anyag vastagságát [térbeli modell létrehozása]


A létrehozott szeleteinket extrudálnunk kell. Eldönthetjük mi a jó nekünk, ha egy kicsit kiborul az egyensúlyból a modellünk és anyagvastagságnyival "kihúzzuk" a megfelelő XZ vagy YZ síkban vagy előbb 0,5 anyagvastagsággal az ellenkező irányba mozdítjuk, majd ezután húzzuk ki. Így a helyén marad az elem.
Egy problémát itt fel kell hozni. Mivel egy görbülő formáról van  szó a szeletünk kihúzása után nem fog tökéletesen illeszkedni a formánkhoz. Ha a felület ívesen emelkedik akkor egyik oldalon magasabb másik oldalon alacsonyabb lesz a valós formához képest. Ezt le kell nyelni. Kisebb problémát is okoz az illesztési hézagok létrehozásánál, de orvosolható egy kis trükkel.


Lépjük hát meg az előző feladatokat: definiáljunk egy slidert, amely az anyagvastagságot képviseli.
Az XZ síkban álló szeleteinket mozgassuk el [MOVE] az Y egységvektor [UNIT Y]segítségével. Az egységvektorba kössük bele a sliderünket és az expression segítségével osszuk el kettővel az értékét. YZ síkban egyértelműen az X egységvektorral dolgozunk.
Ezek után "húzzuk" ki a síkból [EXTRUDE]a szeleteket az ellenkező irányba [UNIT Y + REVERSE], teljes anyagvastagsággal.



A következő bejegyzésben folytatjuk az illesztési hézagok elhelyezésével.
Az algoritmus eddigi definíciója: waffle_step2.gh

Nincsenek megjegyzések: