Facciata parametrica con Dynamo pt.1
Tentata la strada (fallimentare) della famiglia partendo da Revit per creare il pattern di cui forati, ho provato a studiare le opzioni che fornisce l'Add-in di visual scripting nodale Dynamo 0.7.6.4045.
Dynamo possiede le funzioni base dello scripting classico però in forma visuale, rappresentata da un nodo con un input e un output, in modo che il fruitore possa concentrarsi sulle relazioni fra i parametri che intende utilizzare.
Ho iniziato riparametrizzando il mio cubo forato in liguaggio Dynamo:
Il nodo Cuboid.ByLengths permette di parametrizzare i due volumi (cubo esterno e vuoto interno) in funzione delle lunghezze come accadeva, per gli stessi, in Revit. Lo stesso nodo quindi richiedeva un punto di Origine nel quale posizionare i due solidi: con la funzione Coordinate System.Identity si possono quindi associare semplicemente al WCS (World Coordinates System) fissato in 0,0,0.
Una volta generati i due solidi dobbiamo creare una differenza booleana per far si che il volume interno venga sottratto a quello esterno ottenendo così il cubo forato desiderato. Importante sottolineare che la visibilità di alcuni elementi dev'essere disattivata per poter vedere il prodotto della differenza senza interferenze, perciò sui due cuboidi di partenza va tolta la spunta Preview e va mantenuta sulla Solid.Difference.
La prima difficoltà incontrata su Revit è stata generare una serie planare dei componenti base della facciata parametrica. Su Dynamo ho pensato di creare una superficie e di suddividerla in quadrati uguali, con i lati legati al numero dei parametri U e V. Il comando Surface.ByPerimeterPoints permette, dati i quattro vertici di un quadrilatero, di generare una superficie. Generati i quattro punti occorreva raccogliere le informazioni delle loro coordinate in una lista da inserire nell'input della funzione Surface.ByPerimeterPoints (più sotto).
Abbiamo la nostra Superficie!
Ho cercato nel browser di Dynamo varie funzioni che trasformassero la mia superficie in un componente regolato da U e V o soluzioni alternative utilizzando più nodi concatenati...
Niente da fare...Comincio a chiedere aiuto al web scrivendo "Dynamo U V divided surface" ed arrivo quasi subito sul blog dei Dynamo Packages: http://dynamopackages.com/# nel quale cercando un po' si arriva a questa serie di Packages di nodi customizzati molto interessanti:
Quello che risulta calzante è Quad Points on Face che crea una griglia regolare di punti su una superficie con un pattern quadrato. In input chiede una superficie e un numero (possibilmente intero) per il conteggio dei parametri U e V dando in uscita una griglia di punti equidistanti fra loro.
Ho quindi generato la mia griglia di punti la quale non può che essere il centro di ogni singolo cubo forato del mio pattern.
Ora manca solo la variazione della foratura in funzione della posizione.
To be continued...