Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Daniele Marelli

Creare grafici con Mandrill

Recommended Posts

Una delle grandi differenze tra il BIM e la semplice modellazione 3D è la I di informazioni, molto spesso sottovalutata. Iniziamo subito con una distinzione, come ci ricorda la PAS-1192-2:2013:
Dati: informazioni conservate ma non ancora interpretate o analizzate.
Informazioni: rappresentazione dei dati in una maniera formale adatta alla comunicazione, interpretazione o alla lavorazione da parte di esseri umani o computer.
Revit, per sua natura, è ottimo nella gestione dei dati e delle informazioni che ne derivano ma lascia a desiderare quando si tratta di rappresentarli, soprattutto nei grafici. Certo, potremmo esportare le tabelle in Excel e creare tutti i grafici che vogliamo da li. Se però vogliamo creare qualcosa di più del solito grafico a torta e per giunta senza uscire da Revit c'è un'altra strada.

 

graph.jpg.b28668230bb06b19cb01842d2b937fa3.jpg

Qualcosa da non fare.

 

D3.js e Mandrill

D3.js è una libreria per JavaScript (un linguaggio di programmazione) per la manipolazione dei dati. Qui potete vedere alcuni fantastici esempi di grafici che è possibile creare: https://github.com/d3/d3/wiki/Gallery 
Mandrill è la sua implementazione in Dynamo.

Alcune informazioni su Mandrill: qui https://konradsobon.gitbooks.io/mandrill-primer/content/charts_main.html trovate un elenco dei grafici disponibili, a cui potete aggiungerne infiniti personalizzati se sapete programmare. I grafici una volta creati possono essere visualizzati in una finestra di Dynamo, nel vostro Browser o stampati in un file pdf (nei primi due casi sono perfino interattivi!).

Andiamo al sodo e vediamo un esempio pratico. 

 

 

Installare Mandrill
Aprite Dynamo, andate in Pacchetti > Cerca pacchetto... e inserite "Mandrill" nella barra di ricerca. Premete su Installa. 

 

 

Estrarre i dati da Revit
Eccoci alla parte più complicata, estrarre ed organizzare i dati da Revit. Per prima cosa fissiamoci bene il nostro obiettivo: cosa vogliamo rappresentare e qual è il miglior modo di farlo? Decidiamo per esempio che in un progetto di una scuola vogliamo mostrare la superficie utilizzata da ciascuna categoria di locali. Scegliamo di utilizzare un grafico a ciambella (Donut Chart). 
Nel nostro caso la categoria di ciascun locale è data dal parametro "Locali D.M. 18/07/1975". La prima cosa da fare è andare sul manuale di Mandrill, alla pagina del grafico a ciambella per vedere il formato dei dati da utilizzare, che sarà:

 

name, value
Sample 1,100
Sample 2,1000
Sample 3,800
Sample 4,400
Sample 5,200


Dovremo quindi fornire due liste, una con i nomi delle categorie e una con i valori delle superfici.

Iniziamo a estrarre tutti i locali dal nostro progetto e a riordinarli in liste a seconda della loro categoria, usando il nodo List.GroupByKey

IMG2.jpg.32122ddcf673e27503fb46cdb0f05091.jpg

L'output saranno due liste: la prima, groups, con le istanze dei locali raggruppati per categoria, l'altro, unique keys, è un elenco dei nomi delle categorie (proprio come richiesto dal grafico a ciambella).

Occupiamoci ora delle aree, estraiamole da ciascuna istanza, sommiamole e arrotondiamo a numero intero. Diamo poi tutto in pasto a DonutChart.Data.

IMG3.png.9b52d58f14d5556c2618862dbb55b667.png

 

Creazione del grafico
Per creare il grafico ci basterà usare il nodo DonutChart.Chart, a cui collegare DonutChart.Data (già creato) e il nodo DonutChart.Style. Per quanto riguarda quest'ultimo può anche essere usato così com'è di default, senza collegare niente. Nel mio caso ho dovuto modificare larghezza e margini per via della dimensione eccessiva dei nomi delle categorie.

IMG4.png.276e4afb49d50b993a141962cde21d8a.png

Il nodo CreateReport ci permette di impaginare il nostro grafico. È possibile impaginare anche più grafici con uno solo di questi nodi. Report Window aprirà una finestra come quella mostrata sotto, con all'interno il nostro grafico interattivo.

IMG5.png.8daa72094a2fa5f7c19038b45a117ab5.png

 

Stampare in PDF
Per stampare in PDF vi basterà utilizzare lo schema di nodi illustrato sotto, specificando il percorso del file da creare. Potete anche esportare il grafico in HTML e inserirlo su un sito Web.

IMG6.png.1ae3ff1229783a0ab5f8cc27e43f367e.png


Edited by Daniele Marelli

Share this post


Link to post
Share on other sites

Grazie Daniele, ottimo articolo, semplice ed esaustivo come sempre; mi hai dato parecchio da visionare/studiare.
Spero di avere presto il tempo di farlo per implementare queste features nei mie progetti.


EDIL EDUCATION LAB - FORMAZIONE BIM ORIENTED
www.dellaschiava.it

 

Share this post


Link to post
Share on other sites

Entra nel Club

Devi essere un utente del Club per poter lasciare un commento. Entra


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...
Aspetta! x