Generare funzioni

Generiamo con dynamo una curva da una sequenza di punti ricordando che per definire un punto nello spazio abbiamo bisogno di 3 coordinate x,y,z. Cominciamo con il generare una sequenza di valori quindi ricerchiamo i nodi come compaiono in immagine.

Number sequence consente appunto di generare una lista di valori, richiede un valore dal quale cominciare, la quantità di valori richiesta e il loro passo.Questi appena generati saranno i valori che assumerà la nostra varibile della funzione parametrica che necessita quindi di valori x,y,z.

 

 

 

 

 

 

punti xyz.PNGPrendiamo i nodi formula che saranno le nostre funzioni generanti ognuna una lista di punti: cos(x) saranno i punti sull’asse x, sin(x) saranno i punti sull’asse y e per ora lavoriamo in due dimensioni quindi non ci sono valri che si muovono sull’asse z. Vediamo come i punti precedentemente generati vengono sostituiti contemporaneamente alla variabile di due funzioni generando a loro volta due liste differenti.

 

 

 

 

 

 

 

Adesso abbiamo bisogno di convogliare questi valori in un unico sistema di che genererà i punti come coordinate e per fare ciò ci avvaliamo del nodo Point by coordinates e colleghiamo i valori generati dalle funzioni coseno e seno agli input x,y,z. Si vede come i punti seguano l’andamento di una circonferenza e aumentando i valori della quantità di punti e variando il passo riusciamo a modificare la distrubuzione dei  punti.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Se a questo punto inseriamo la variabile x per la coordinata z, i punti si muoveranno anche su quest’asse. Possiamo ora creare la curva definita da queste coordinate utilizzando il nodo Nurbs Curve by Control Points.

Mar, 21/10/2014 - 19:29
Dynamo + Revit: Random Pattern Curtain Wall
Ciao,
Innanzitutto vorrei segnalare qualche link utile:
Hello,
I started experimenting with Dynamo (downloadable from here: http://autodeskvasari.com/dynamo). First let me point out a few useful links:
 
istruzioni e buone pratiche per diventare sviluppatori di Dynamo, come ad esempio le indicazioni su come si crea un nodo. Infatti attraverso il github chiunque può copiare il codice, fare delle modifiche e condividerle, utilizzando i linguaggi C# ed F# in Visual Studio.
instructions and best practices to become Dynamo developers, such as directions on how to create a node. In fact, through the github, anyone can copy the code, make changes, and share it, using C# and F# languages in Visual Studio.

 

https://github.com/DynamoDS/Dynamo/wiki/Learning-Dynamo:
pagina del github dedicata all’apprendimento di Dynamo.
github page dedicated to Dynamo learning.
 
 
 

serie di video tutorial per partire da zero con dynamo. Soprattutto i primi sono molto utili per conoscere l’interfaccia e capire qual è la logica del programma. Ad esempio molte delle cose che in Revit e Vasari spesso usiamo implicitamente, come coordinate cartesiane nello spazio e codici ID degli oggetti, spesso con Dynamo sono più esplicite, essendo i principali strumenti di dialogo tra i due software.

series of video tutorials to start from scratch with dynamo. Especially the former are very useful to know the interface and understand what is the logic of the program. For example, many of the things that we often use implicitly in Revit and Vasari, as Cartesian coordinates in space and objects ID numbers, often with Dynamo are more explicit, being the main instruments of dialogue between the two softwares.
 

 

http://buildz.blogspot.it/:

blog di Zach Kron, uno degli sviluppatori: c’è una lunga serie di post su Dynamo, la maggior parte riguarda la creazione di geometrie complesse.

Zach Kron's blog: there are many posts on Dynamo, most of them concerns the creation of complex geometries.

 

Acosa serve Dynamo?
Dynamo estende le capacità parametriche di Vasari e Revit, consentendo di utilizzare algoritmi anche complessi e soprattutto di stabilire nuovi tipi di relazioni, esplicitate graficamente. Infatti fa parte della famiglia dei software di visual programming, cioè programmazione effettuata manipolando graficamente gli elementi invece che utilizzando il linguaggio scritto, attraverso l’uso di nodi (Nodes) e connessioni (Wires) di input e output.
Dynamo è uno strumento molto flessibile, quindi è difficile elencare tutti i possibili impieghi, è  difficile anche solo immaginarli tutti. Cercando di sintetizzare, queste sono le principali categorie di nodi:
 
Trasformazioni geometriche: sia trasformazioni rigide (disposizione geometrica di componenti ed elementi nello spazio), sia deformazioni di masse e di componenti adattive (architetture con superfici complesse).
Analisi: analisi geometriche complesse (come calcolo dell’area di superfici) e altri tipi di analisi, come studio della radiazione solare. La cosa interessante degli strumenti analitici è che i dati possono essere messi in relazione diretta con i parametri e quindi generare trasformazioni essi stessi, per minimizzare o massimizzare i risultati (ad esempio relazione tra sun path e parametri di componenti ombreggianti: http://www.youtube.com/watch?v=Ek8kTNU0Imw , http://www.youtube.com/watch?v=8U15Q4FqCgw&list=PLk-weHTE00P3m-yK-UlLa_h0rzRdrKmvw).
Input e output: nodi che consentono il dialogo tra Revit e file esterni come ad esempio immagini raster e file excel; tra Revit e tra Revit e Hardware esterni, come Arduino.
What is Dynamo? 
Dynamo extends the parametric capabilities of Revit and Vasari, allowing to use complex algorithms and to establish new types of relationships, explained graphically. It is part of the family of visual programming softwares: programming done graphically manipulating the elements instead of using the written language , through the use of nodes and wires of input and output.
Dynamo is a very flexible tool, so it is difficult to list all possible uses, it is hard even to imagine them all. Trying to summarize, these are the main categories of nodes:
Geometric transformations: both rigid transfomation (geometric arrangement of components and elements in space), and deformation of masses and adaptive components (architectures with complex surfaces).
Analysis: complex geometric analysis (such as calculation of the area of surfaces) and other types of analysis, as the study of the solar radiation. The interesting thing about the analytical tools is that the data can be put in direct relation with the parameters and then generate transformations themselves, to minimize or maximize the results (for example, relationship between sun path and parameters of shading components:http://www.youtube.com/watch? v = Ek8kTNU0Imw, http://www.youtube.com/watch?v=8U15Q4FqCgw&list=PLk-weHTE00P3m-yK-UlLa_h...).
Input and output: nodes that enable dialogue between Revit and external files such as raster images and excel files; between Revit and external hardware such as Arduino.
 

 

Uno degli aspetti che più mi interessano è la possibilità di mettere in relazione e manipolare matematicamente i parametri di istanza delle famiglie direttamente nel progetto. In questa prima sperimentazione ho quindi voluto tentare di ampliare le potenzialità del curtain wall, uno degli strumenti più utili di Revit, ma che spesso si rivela troppo rigido.
One of the most interesting things is the ability to relate and manipulate mathematically the family instance parameters in the Revit project file. In this first experiment, I wanted to expand the potential of the curtain wall, one of the most useful tools in Revit, but often too rigid.
 
 

FACCIATA CONTINUA CON VUOTI CASUALI:

 

 

Ho voluto modellare una facciata continua simile a quella del nuovo teatro dell’opera di Firenze dello studio ABDR, con doghe di laterizio disposte a giunti verticali alternati, ma mancanti di alcuni elementi con una logica casuale.

CURTAIN WALL WITH RANDOM VOIDS
I wanted to model a facade similar to that of the new opera house in Florence, a project by ABDR architects, with slats of bricks arranged in alternating vertical joints, but missing some elements with a random logic.

Per prima cosa ho modellato la famiglia di pannello composta da due doghe sfalsate di un quarto rispetto alla dimensione del pannello, in maniera che si sovrappongano con giunti verticali alternati, ad imitazione della muratura.
First I modeled the family of panel composed of two slats staggered by one-fourth the size of the panel, so that they overlap with alternating vertical joints, in imitation of masonry.

 

 

Poi ho assegnato il parametro di istanza “visibilità 1” alla doga superiore e “visibilità 2” alla doga inferiore.

Then I assigned the instance parameter "visibility 1" to the top slat and "visibility 2" to the slat below.
 

 

Una volta caricato nel progetto il risultato è questo, con le doghe tutte visibili e quindi il rivestimento di facciata pieno:

This is the result, with all the slats visible.

 

A questo punto ho aperto il plug-in Dynamo dal pannello add-in. Per prima cosa ho selezionato tutte le istanze dello stesso tipo con il nodo “get family instances by type”, in questo modo le modifiche successive saranno assegnate a tutte le istanze.

At this point I launched Dynamo from the add-in panel. First I selected all instances of the same type with the node "get instances by family type", so that subsequent changes will be assigned to all instances.

 

Poi ho usato il nodo “Random number list”, ripetuto tante volte quante sono le istanze. In questo modo ho creato una lista di numeri casuali compresi tra 0,00 e 1,00 e, applicando il nodo “round” li ho arrotondati e trasformati in numeri interi, cioè in una serie fatta di numeri 1 oppure 0. 1 e 0 corrispondono a Yes or Not e quindi ho potuto assegnare questi valori al parametro “visibilità 1”, con il nodo “set family instance parameter” (notare come questo nodo e anche gran parte degli altri nodi può essere assegnato sia ad un singolo oggetto sia ad una lista di oggetti, come in Grasshopper).

Then I used the node "Random number list", repeated as many times as the number of instances. In this way I created a list of random numbers between 0.00 and 1.00 and, then using the node "round", I've rounded and converted these numbers into integers, creating a series of numbers 1 or 0. 1 and 0 are equal to Yes and Not, and then I was able to assign these values ​​to the parameter "visibility 1" using the node "set instance parameter family" (note that this node and also most of the other nodes can be assigned both to a single object or to a list of objects, such as in Grasshopper).

 

A questo punto, premendo il tasto Run, automaticamente in molti pannelli disposti casualmente sparisce la doga superiore.
Poi ripeto lo stesso procedimento anche per le doghe inferiori.
At this point, pressing the Run button, automatically in several panels the higher slat disappears. Then I do the same for the below slats.
 

 

Pur non conoscendo l’algoritmo che genera i numeri casuali,  posso notare che il numero di pieni e vuoti si equivale, ma non ho ancora modo di agire sul grado di apertura del rivestimento di facciata. Per farlo aggiungo un “number slider” con un dominio compreso tra -0,5 e 0,5 e poi lo sommo alla lista di numeri generati dal “random number list”. in questo modo facendo scorrere lo slider posso decidere di aumentare la quantità di 1 rispetto a 0 e viceversa. Cioè posso decidere di aumentare o diminuire il numero di vuoti.

I can see that the number of full and empty spaces is the same, but I have no way yet to change the amount of voids in the facade. To do so, I used the "number slider" node with a domain between -0.5 and 0.5 and then I added this number to the list of numbers generated by "random number list". In this way by sliding it I can decide to increase the amount of number 1 or number 0. That is, I can decide to increase or decrease the number of voids.
 

Slider quasi al minimo:
Slider almost to a minimum:

 

 

Slider quasi al massimo:

Slider almost to a maximum:

 

 

Questo è il video di tutto il procedimento:
And this is the video tutorial:
 
Mar, 21/10/2014 - 19:27
Dynamo, Visual Scripting for Revit

Ciao,

Ho fatto delle prime piccole sperimentazioni con Dynamo, che vorrei condividere con voi.

Dynamo è un progetto open source sviluppato da Ian Keough ( http://iankeough.com/wordpress/?cat=3 ), ed è tutt’ora in fase di sviluppo. E’ un’interfaccia (nato per project Vasari, ma adesso disponibile anche per Revit), che -  attraverso l’uso di nodi e connessioni - consente di creare relazioni parametriche e di svolgere funzioni. E’ molto simile a Grasshopper per Rhino.

Da qui è possibile scaricare l’ultimissima versione che viene continuamente aggiornata: https://github.com/ikeough/Dynamo

Purtroppo non sono ancora riuscito a installarla, perché, essendo in fase di sviluppo, bisogna convertire alcuni file .cs in .dll (o almeno credo che sia questo il problema).  C’è qualcuno che lo sa fare?

Quindi ho dovuto ripiegare su una versione più vecchia, dove mancano la maggior parte dei nodi, scaricabile da qui:http://wikihelp.autodesk.com/Vasari/enu/Community/Works_in_Progress/Dynamo_for_Vasari/Installation_and_Getting_Started

Un aspetto molto interessante di Dynamo è la sua interfaccia intuitiva in grado di compiere operazioni complesse senza dover ricorrere ai linguaggi di programmazione. E, ancora più importante, grazie alla visualizzazione grafica dei nodi e delle connessioni, è possibile condividere e replicare i lavori di altri anche solo attraverso uno screenshot. Ad esempio è così che si fa la tassellazione di una superficie:

Immagine presa da: http://autodeskvasari.com/forum/topics/watch-3d

Sono stati creati anche dei nodi che ci consentono di mettere in relazione i nostri modelli con Arduino, sia in input che in otput ( http://www.youtube.com/watch?v=IyLq6ZnHzDA ). Sarebbe molto interessante fare qualche prova!

Per lanciare dynamo si deve andare nel pannello Add-Ins e si può utilizzare sia nell’ambiente di progetto, sia nelle famiglie, sia nelle conceptual mass.

Questi sono i miei primissimi passi con Dynamo (sia per la mia inesperienza, sia per il fatto che in questa versione mancano un sacco di nodi, ho potuto fare solo cose molto semplici):

Questo è un array disposto lungo una spline:

 

Quando cambio il numero degli elementi (number) o modifico la spline, basta che poi clicco su RUN e il modello si aggiorna.

 

Qui invece ho disposto automaticamente delle istanze della stessa famiglia su una griglia di punti:

 

Se avessi avuto una versione aggiornata, avrei voluto mettere in relazione -  attraverso una funzione matematica -  il parametro di istanza “altezza” di tutti gli elementi, in maniera che fossero tutti di altezze diverse, ma non casuali.

Mar, 21/10/2014 - 19:18
Master Thesis: Requalification of a schoolhouse in the area of Messina (Sicily), towards an high efficiency mediterranean architecture.

Innovation and tradition, technology and tectonics, energetic and structural design, they are the pairs we have condensed to develop our project. This abstract will depict a design for the architectural requalification of a schoolhouse located in Altolia, a small village in the surroundings of Messina (Sicily). By mean the energetic requalification of the existing building, the design of a new enclosure and the addition of a public space, we aim to create a place of aggregation for the community to fill the gap coming from the loss of identity suffered by people living in the rural areas of Italy.

Requalification of a schoolhouse in the area of Messina (Sicily), towards an high efficiency mediterranean architecture.

Candidates: Vincenzo Panasiti, Nicolas Ombres.

Supervisor: Prof. Arch. Gabriele Bellingeri

Assistant Supervisor: Prof.ssa Ing. Ginevra Salerno, Prof. Arch.Stefano Converso.

 

 

Nowadays, the major problems about civil buildings in Italy are the strong emissions of CO2, as 70% of them were built before the introduction of any regulation about energy saving, and the depopulation of the rural villages leading to the loss of that cultural diversity which is a specific peculiarity of Italy.

Altolia is the typical italian rural village, which history and tradition, culture and landscapes represent a valuable cultural asset which we intend to preserve and valorize to contribute to keep high the quality of life of the residents.

 

A recent report of the National Trust for Historic Preservation has highlighted that requalification should be preferred to rebuilding, as the lower environmental impact and the benefits for employment

We have decided to work on the schoolbuilding as, besides being a traditional meeting point for local population, it was the operations headquarter during the 2009 flood emergency, thus becoming a symbol of the village identity.

 

 

 

Altolia is a small village near Messina (Sicily) located among vineyards, citrus and olive tree grooves on the hills over the Giampilieri creek. The village name changed several times during the centuries (Actilia, Artilia, Artalia, Lartilia, Artolia, Altolia) which ancient meaning is “a place far away from the sea”.

The most aged portion of the village is located on the north side of the hill, which is the best from an hydrogeological and climatic standpoint. The modern side, which also includes a small settlement on the N.W. hillside, has grown along the main road to Messina.

In the 70s an housing project was build downline of the main road, near to the creek. Those buildings have been almost completely destroyed by the 2009 flood. The schoolhouse instead, even if built in the 50s in the same area, suffered just minor damages.

 

 

The schoolhouse is a two-floor building with a bricks bearing walls structure. It is located on the southern hillside (classrooms on S.E. hillside) thus absence of an efficient thermal insulation requires a large amount of energy for climatization. The large courtyard cannot be comfortably used by people as the absence of kind of shading.

 

 

The buildings are currently not only the part that produces more CO2, it is also the sector where the emissions reduction potential is greater.

 

We adopted several solutions, early introduced along the past centuries, to make the building comfortable in the mediterranean climate, where cooling is the most important and energy-consuming goal. The strategies are: protecting the interiors from sun radiation adopting very thick walls, integrate internal spaces with external shaded spaces, as obtaining an appropriate external microclimate is an important step towards the hygrotermal wellness.

We decided that the best approach to an existing building was the adoption of an external shell, preserving the building statics from any impact.

 

The design process adopted is composed by an innovative network of multi-discipline platforms based on advanced digital technologies. That approach could lead to the risk of developing several independent and inconsistent models.  Thus the first step was the creation of a core parametric model to share information obtained by analysis (energetic, structural, etc.)

 

To develop the core model we decided to use Revit, a software for BIM (Building Information Modelling) produced by Autodesk. The decision was driven both by the large diffusion of the software, and from a positive usage experience during the Solar Decathlon Europe 2012 competition.

 

The adoption, from the beginning of the design stage, of a parametric model allowed us to a strong teamwork, work in parallel on the structural and energy efficiency aspects.

 

 

 

 

Using a geometric 3D wireframe we have implemented the data interchange process between the graphic modelling software (triangular meshes model) and the FEM software.

 

The roof has been modeled using Vasari, esporting data to the FEM model using a visual scripting tool. In that way we have been able to optimize the roof surface energetical performances.

At the beginning of the design process we have studied the climatical conditions.

 

 

Our goals were to reduce the thermal loads on the building, improve ventilation assuring to have an acceptable thermal behaviour in the winter as well. The process was iterative, starting from assuptions based on qualitative behavioural patterns to be verified by software analysis and eventually revised.

 

Specific attention has been devoted to thermal insulation, taking advantage of the thermal inertia of existing walls.

 

 

We designed the enclosure using a fluid dynamics software (Autodesk CFD Simulation) with the goal to take advantage of natural ventilation

 

 

As far as the sun radiation is concerned the goal was to protect the building with a shield to absorb as much sun radiation as possible, We used the Vasari plugin: Dynamo, (a software that combines the calculation of incident solar radiation and the ability to manage and vary geometries parametrically), to implement an iterative algorithm driven by geometry paramethers to optimize the orientation of the facade and the roof, as well as the performance of the photovoltaic panels.

The climatization system has been designed and optimized using CFD Simulation, having the goal to avoid sudden temperature changes or excessive air flow.

 

 

Quality of lighting was one of the central themes of the design, which has been developed taking in account perception considerations (Juhani Pallasmaa, “Through vision we touch …”)

 

 

 

We adopted for each building zone the most appropriate artificial light, replacing existing lamps with dimmerable LED lamps. Infact the work of M.R. Bradley “Advanced Sensors and Controls for Building Applications: Market Assessment and Potential R&D” shows that adoption of dimmering, besides reducing children visual stress, can lead to 58% of cost reduction inside a schoolbuilding classroom,.

 

The design of shading elements has been driven by an accurate sun radiation analysis. The facade shades the direct sun radiation and diffuse it towards the building. Adopting the software Revit to perform the simulations, we have mixed diffused radiation with artificial lighting (using dimmering) to create the optimal equilibrium for the different daytimes.

 

 

 

To perform these analyzes we have made ​​full use of the Revit model, which as we have already said, it combines the features of architectural lighting to the model. From this analysis we were able to perform the mixed dimming artificial light according to our needs.

 

 

 

Or for emergency scenario.

 

We have chosen to use wood for the roof structure, as it is a natural material which behaves well in the high sismic risk environment of Altolia.

 

 

The facade is inspired to Buro Happold’s  ‘dragonfly’. It is composed by cells of aluminium connected by rivets.

 

 

The facade has been verified, according to Italian law, the deformation and stress to shear, moment and axial tension through the importation of a wireframe from the shared model.

 

 

 

In order to get a feeling of the actual design choices we thought it was necessary a real-time monitoring of energy consumption of the building and bioclimatic conditions. Usman Haque Director dell'Haque + Research, has developed a platform for sharing data called Pachube (now Xively).

 

Pachube allows you to send data collected from sensors all over the world, after the earthquake in Japan in 2011 Pachube was used by volunteers to connect all of the Geiger counters to study the fallout of Fukoshima radiottiva. Based also on the design of the environment ministry "the sun to school" initiative for the dissemination of knowledge for the sustainable use of energy and use of renewable resources devoted to secondary school. Increased awareness of different sources of energy production and environmental consequences of their use by citizens, built since the time of the school, may in fact contribute to the achievement of commitments undertaken by the country to national and international level on emission reductions greenhouse gas emissions and other environmental challenges.

The building will be provided with an Energy Manager System based on the Arduino open source framework, The Energy Manager will collect real-time data from a network of temperature sensors, monitoring both energy used by the building and produced by the fotovoltaic system.

 

 

The Energy Manager data will be available online to the building energy usage.

 

 

In the future, sharing Energy Manager data and requalifications actions about multiple schoolhouses in a nationwide database could create an effective tool for Public Administration for monitoring and prioritise requalification initiatives, as well as a learning tool for designers.

 

We have purposely decided to automatize only  the monitoring leaving to human operators the choice about reactions. Infact  automatization of reactions would be quite expensive. Moreover leaving to users freedom about the reaction to adopt in any specific case (open the windows, turn off some lights, …) would be educative for pupils.

We thank the architect Augusto Cesare, for help with the land records and plans of the school, the accountant Giuseppe Micali for logistics and local contacts, a forester in the province of Messina for the mapping and documentation air and finally but not least, the whole community of Altolia for the availability, advice and enthusiasm for this work.

Mar, 21/10/2014 - 19:17
RhOME Iterative Daylight Analysis with Dynamo [Work in Progress]

Mar, 21/10/2014 - 19:15

Pagine