Generisanje linijske potkonstrukcije – Faza 3

Za razliku od prošle, nova grasshopper definicija za početni input uzima mesh geometriju. Iz tog razloga je morala biti cela izmenjena.

Cela definicija može da se podeli na dva dela: generisanje linijskih elemenata i generisanje spojeva koji će se 3d štampati.

GENERISANJE LINIJSKIH ELEMENATA

Nakon odabira mesh-a, treba ga podeliti u dva pravca da bismo dobili linijske elemente.

Za početak je potrebno odabrati tačku u kojoj će biti postavljene ravni kojima se seče mesh. Pomoću komponente DeMesh izdvajamo tačku na ivici mesh-a. U njoj postavljamo seriju ravni u dva pravca, čiji se broj i rastojanje mogu menjati pomoću slajdera.

1

Komponentom Plane|plane intersection (PPX) međusobno sečemo ravni i dobijamo presečne linije, a zatim komponentom Mesh|curve intersection (MCX) radimo presek presečnih linija i početnog mesh-a. Odavde dobijamo tačke čijim spajanjem u polilinije dobijamo osnovu za linijske elemente.

2

Zatim, komponentom Curve|curve intersection (CCX) sečemo dobijene polilinije i dobijamo tačke preseka koje dalje koristimo za generisanje dijagonala u gornjem pojasu rešetke, kao i za kasnije generisanje spojeva štapova.

3

Projekcijom gornje rešetke u XY ravan dobijamo donju, planarnu rešetku. End points komponentom dobijamo krajnje tačke linija gornje i donje rešetke čijim spajanjem dobijamo vertikalne štapove.

5

Sada imamo sve potrebne linije i tačke koje predstavljaju input za drugi deo definicije – generisanje spojeva.

6

GENERISANJE SPOJEVA

Spojevi se sastoje od sfera sa brojem spoja i cilindara koji izlaze iz nje. Generisani su na mestima preseka štapova.

Generisanje cilindara

Potrebno je za svaku tačku, iz skupa njoj najbližih tačaka, odabrati linije koje se sustiču u njoj. Cull pattern-om iz skupa najbližih tačaka biramo tačke sa distancom jednakoj nuli, jer su to tačke linija koje se sustiču u spoju.

Item list-om iz skupa svih linija biramo linije sa indeksom koji smo dobili iz cull pattern-a.

7

Analizom ovih linija dobijamo vektore pravaca cilindara koji izlaze iz sfera. Na osnovu njih generišemo linije koje Shatter komponentom skratimo za određeni procenat radi lakšeg izvođenja Boolean operacija koje slede.

8.1

Sa dve Pipe komponente sa dva različita radijusa generišemo cevi. Njih prvo Cap-ujemo, a nakon toga Solid difference komponentom uradimo razliku, pri čemu dobijemo šuplje cilindre.

9

Generisanje sfera sa brojem spoja

Tačke preseka štapova su centri sfera čiji radijusi mogu da se kontrolišu preko slajdera. Problem je kako naći odgovarajuću poziciju teksta na sferi tako da se ne seče sa cilindrima.

Sfere su Quad panels komponentom podeljene na panele kako bi bio pronađen najudaljeniji panel od mesta preseka cilindra i sfere, jer tako znamo da neće doći do preklapanja teksta i cilindra, što bi dovelo do problema sa 3d štampanjem.

10

Komponentom Brep|brep intersection (BBX) se vrši presek sfere i cilindara, dobijaju se skupovi linija koji se spajaju u polilinije, a zatim se traže njihove središnje tačke.

11

12

Za svaku središnju tačku se traži njoj najbliža tačka na svakom od quad panela sfere uspomoć komponente Surface closest point, zatim se meri rastojanje između njih i izbacuju se tačke (a sa njima i paneli) koje se nalaze unutar dvostrukog radijusa cilindra.

Od preostalog broja panela se bira onaj sa najvećom površinom Sort list-om.

13.2

Evaluate surface komponentom se nalazi vektor normale izabranog panela, u pravcu kog se sa negativnom amplitudom, 3D tekst pomera ka centru sfere. Tekst je dobijen preko komponente Surface morph i  komponentom Solid difference je oduzet od sfere.

14

Na kraju, koristeći Solid union, sfera sa utisnutim brojem i cilindri se sjedinjuju i daju konačni igled spoja.

15

Za automatsko generisanje spojeva, umesto svakog pojedinačno, iskorišćena je komponenta Loop start/ Loop end.

18

Konačan izgled potkonstrukcije

17

Potkonstrukcija bi služila kao podloga za ređanje lakih isečenih elemenata krive površi.

This entry was posted in 16/17 Radovi. Bookmark the permalink.