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...

Mer, 11/02/2015 - 00:23
parete Cortina

Ciao a tutti,

Ecco la mia consegna sulla parete cortina. Vorrei ringraziare a Manuel per il suo aiuto. È stato fondamentale per riuscire a completare di forma perfetta la mia idea, che é creare 3 modulli di parete cortina: una parete opaca ( che ho diviso in 2 modulli: una bianca con spessore maggiore e una rossa minore), 1 modullo di balcone e 1 modullo di schermo verticale. Vediamo il passo a passo:

1) Cominciamo generando una famiglia di Pannello di parete cortina per fare il primo modullo.4.01.jpg

2)prima di cominciare la modelazione, ho creato una serie di parametri condivisi per ogni modullo, di maniera a non perdere tempo con tutto il processo

4.02.jpg

3) Dopo di fare i piani di riferimenti , faccio una estrusione e blocco con i piani di forma a manipolare facilmente utilizzando il parametro di spessore, dopo di fare una quota tra i piani di riferimenti ( mi dispiace spiegare di maniera veloce questa parte ma penso che ho già fatto questo processo nelle etape anteriore ) 

4.03.jpg

4.04.jpg

4) dopo di creare ed includere i parametri nelle quote, creo due tipi di famiglie come già avevo detto prima: una bianca più grossa e una rossa più leggera. e così finallizzo il mio primo modullo4.05.jpg

5) Il secondo modullo è un balcone: como abbiamo da fare le gambe per il parapetto, ho bisogno prima di fare una nuova famiglia basata sul un modello metrico generico appoggiato sull'una faccia.

4.46.jpg

6) Genero i parametri per le gambe e applico sul modello

4.47.jpg

4.48.jpg

7) Creo anche un parametro di materiale per controllare più facilmente questa proprietà

4.49.jpg

8) Con il modello finito già posso creare il modullo 2 del balcone...

4.50.jpg

9) Carico la gamba nella famiglia di pannello di parete cortina e faccio un array di maniera a comporre il perimetro del balcone. Utilizzo anche un parametro per l'array con formula di " =VIT_Larghezza balcone/15cm "..

4.08.jpg

4.09.jpg

10) Comincio a disegnare il solaio del balcone faccendo una estrusione e bloccando suoi lati nei piani di riferimenti creato e "non creato", ossia, già datto per la interface di modellazione di famiglia di pannello di parete cortina.4.11.jpg

11) e poi la metto un parametro di spessore di solaio

4.12.jpg

12) Di seguito, creo più piani di referimenti e li collego con i piani di riferimenti datto per la famiglia di pannello di parete cortina di maniera a creare un rapporto che fará con che il parapetto accompagni la lunghezza del balcone. 4.14.jpg

13) finito il balcone, facciamo lo stesso processo per il modullo 3: come si tratta di un schermo verticale, ho bisogno di fare prima un modello di Schermo e poi spostalo alla mia famiglia di pannello..

4.15.jpg

14) Questo è un disegno sbagliato di quando ho fatto lo schermo dentro famiglia di pannello di pareti cortina. L'ho messo perché ho dimenticato di fare i "printscreen" della modellazione giusta. Ma il processo é lo stesso della gamba del balcone.

4.20.jpg

15) dopo di inserire lo schermo nella famiglia facciamo un array con formula "=VIT_lunghezza/30cm" 

4.23.jpg

4.25.jpg

16) Adesso possiamo caricare nostro 3 modulli sul progetto e finire il lavoro. Scegliamo il pulsante "Parete" e poi "parete cortina" per fare la parete nel nostro progetto.

4.27.jpg

17) Selezioniamo la vista 3d per disegnare lo schema di griglia ed asse della nostra parete.4.29.jpg

18) posso utilizzare il comando " uno segmento " per disegnare linee che non si definiscono con i suoi termini nell'estremità della parete cortina.

4.31.jpg

19) Posso anche cambiare la forma della parete faccendo un "doppio-clic" ( non lo so si questa espressione esiste in italiano )

4.34.jpg

20) Finito tutto, inserisco i 3 modulli della maniera che mi piace.

4.44.jpg

 

21) il modello finale non è bello ma sempre cerco come priorità imparare il meccanismo i tutte possibilità di forme di parametrizziazione. Per me è stato un buono esercizio. Ciao tutti ed a prossima consegna! 

4.45.jpg

Mar, 10/02/2015 - 20:15
Approccio ad una famiglia nidificata ricorsiva

L’idea è quella di creare una pattern di cubi forati i quali buchi si modifichino in maniera parametrica andando dai più esterni ai più interni.Il tutto legato da un Parametric Array in modo che, in funzione del numero di cubi che ho abbia un gradiente di foratura parametrizzato.

Primo passo. Creare la famiglia CUBO BUCATO

Accorgersi che cubo e buco invertano le loro consonanti in uno strano parallelismo topologico è solo una delle mille scoperte che troverete in questo post.  Prima di tutto creiamo i nostri Reference Plane (da qui in poi RP da tastiera) e costruiamo il quadrato con Create-Extrusion allineando i lati (comando AL) ai quattro RP. Leghiamo i lati del quadrato e del buco a due parametri: LATO CUBO & LATO BUCO.  

Passo 2 

Importiamo questa famiglia parametrizzata in un’altra famiglia che diverrà la famiglia madre che sarà anche l’ambiente in cui opereremo un Parametric Array (Linear Array in questo caso). Col comando Array selezioniamo il Cubo e impostiamo la distanza fra i centri dei cubi e il numero dei cubi ricordandoci di apporre le spunte “Group and Associate” e “Move to 2nd”. 


 

A questo punto serve legare il numero di cubi ad un parametro che in un impeto di originalità chiamerò “N CUBI” posto in questo caso uguale a 9.

 

 

Adesso il punto è legare il parametro N CUBI all’ampiezza del buco in modo iterativo, in modo che il lato del Buco si modifichi man mano (precisazione chiave) che il Numero di Cubi aumenta (come nello sketch ad inizio post).

ARRIVA L’ILLUMINAZIONE...il numero di cubi (N CUBI) è un parametro di tipo Integer che può essere considerato come se stesso (ovvero un numero intero) più un valore 1, dando così al parametro un caratteristica ricorsiva. Imponendo quindi un valore intero, per esempio 5, si dovrebbe ottenere un parametro non più statico, ma variabile nel range di valori che va da 0 a 5, passando per dei valori interi intermedi (0, 1, 2, 3, 4, 5).

Ma ecco che tutto l’entusiasmo per aver trovato un legame potenzialmente valido si infrange contro l’intransigenza del messaggio di errore di Revit.

I parametri si rincorrono in una CIRCULAR CHAIN, ovvero una catena ciclica...ma era esattamente quello che volevo! Forse i parametri di Revit possono essere legati solo a formule algebriche?

Mar, 10/02/2015 - 14:39
Final Sheets

See you very soon!

Post6_1.jpg

Post6_2.jpg

Post6_3.jpg

Post6_4.jpg

Lun, 09/02/2015 - 14:19

Pagine