- Na samom pečetku rada smo napravili eksperimentalni mesh , u Rhino-u. Mesh smo napravili pomoću alatke CurveNetwork, koja je spojila prethodno nacrtane preseke terena. Povezali smo ga sa programom Grasshopper , kako bi kasnije mogao biti zamenjen sa modelom pravog terena. U ovom programu počinje dalje programiranje.
U daljem postupku smo izvuki konturu terena koja će generisati podelu linearnih elemenata.
- za distancu u alatki Contour , smo stavili Slider (mogućnost promene razmaka izmedju kontura i samim tim njihovog broja)
- kao pravac prostiranja ( Direction) postavili smo XZ ravan
- Shape sa alatke Contour smo povezali sa već napravljenim meshom
- da bismo odredile početnu tačku od koje će se iscrtavati konture napravile smo Box, koji obuhvata čitav mesh. Zatim smo sa alatkom Decontruction Brep (DeBrep) izdvojili tačke Box-a i preko alatke Item kojoj je dodat Slider odabrali jednu od tačaka box-a.
- Svaka od kontura podeljena je tačkama na odredjenom rastojanju koje je generisano slajderom. Pomoću alatke Evaluate Curve (Eval) smo odredile tangente od svake od tih tačaka.
- Kada smo odredile tangente, pomoću alatke Angle odredile smo ugao izmedju vektora tangente svake tačke (B) i vektora X ose (A).
- Bilo je potrebno da uporedimo te uglove. Da bismo to uradile orvo smo napravile Shift list(Shift) koja je pomerila indexe uglova za jedan unapred.
- list – 1 2 3 4 5 —> shiftlist 2 3 4 5 1
12345 23451
- kao što se na primeru vidi poslednji članovi iz lista se ne mogu uporediti.
6. Prethodna stavka nam je omogućila uporedjivanje uglova. To smo uradili sa operacijom Substraction (A-B), gde smo kao A stavili Shiftlist , a kao B običnu listu sa poslednjim obrisanim članom.
- poslednji član iz liste obrisan je opcijom Cull Index (Cull) – gde je u expresion editor-u kao uslov postavljeno x-1 (x je uzeto iz LIST LENGHT-a)
7. Nakon uporedjivanja uglova, njihova veličina pretvorena je u stepene ( alatka Degrees) 8. Postavili smo uslov pomoću alatke Smaller Than : ako je razlika izmedju dva susedna ugla manja od broja odredjenog slajderom, onda se tačke izmedju dve uporedjene brišu. ( pomoću alatke Cull Pattern, gde smo kao P postavili naš uslov, a kao listu tačaka koje treba da se brišu, našu osnovnu listu tačaka koje su dobijene podelom kontura). 9. Tačke koje su ostale povezali smo ravnim linijama alatkom Interpolate (IntCrv).
Svaku od interpoloranih krivih smo pomerili levo i desno, za istu vrednost, odredjenu slajderom. Vektor po kome smo ih pomerali je Y osa. A za pomeranje u suprotnom smeru , takodje smo postavili vektor Y ose, ali smo u expresion editoru stavili – X.
10. Zatim smo te pomerene krive povezali u površinu sa alatkom Loft.Opet smo upotrebili alatku DeBrep na pomenutim površinama. Površinu smo pomerili za odredjenu veličinu generisanu slajderom po vektoru Z ose.
11. Opcijom Graft promenili smo unutrašnju strukturu gornjih i donjih površina i te površine povezali opcijom Loft.
Na kraju smo sve te dobijene površine spojili opcijom Join.
12. Ukoliko bismo želeli da vidimo kranji ishod ovog programiranja , uz pomoć opcije ListItem ( Item) možemo izdvojiti samo jednu pločicu.
Prvobitno je zamišljeno da između rastojanja elemenata nema razlike, a to će se postići podešavanjjem slajdera.