Vai al contenuto

Daniele Marelli

Members
  • Portfolio

    Portfolio
  • Numero messaggi

    17
  • Registrato

  • Ultima Visita

  • Days Won

    2

Daniele Marelli last won the day on June 10

Daniele Marelli had the most liked content!

Info su Daniele Marelli

  • Rango
    Matricola

Informazioni professionali

  • Impiego
    Studente (Student)

Ospiti che hanno visualizzato il profilo

587 lo hanno visualizzato
  1. Daniele Marelli

    Fonts per Revit

    Ciao, per impostare il font di un tipo di testo basta andare su modifica tipo, duplicare un tipo esistente e personalizzarlo in base alle tue esigenze. Dal campo "Tipo del carattere del testo" puoi modificare il font. Revit non supporta i font in formato OTF, quindi se è questo il tuo caso dovrai cercare un'alternativa in TTF, o un programma che ti permetta di convertirlo. Per le quote il procedimento è simile, una volta creato un tipo di quota puoi usarlo per creare più quote senza dover riselezionare il font gusto.
  2. thumb
    È difficile stabilire quando un modello di Revit diventa troppo pesante. Ci sono file perfettamente modellati che per via del loro contenuto non possono che avere dimensioni notevoli. Ciò che è certo è che molti file modellati senza seguire i giusti accorgimenti finiscono con il pesare più del dovuto. Stabilire la dimensione ideale di un modello è impossibile oltre che per la dipendenza dal contenuto dello stesso anche per la mutabilità dell'utente che ci sta lavorando e del suo computer. C'è chi non ha problemi a lavorare su file da più di un gigabyte ed altri che operando sullo stesso file possono dare fuoco al computer se, per sbaglio, trascinano un muro piuttosto che selezionarlo. Data la natura collaborativa del BIM anche questo può essere un fattore da considerare nella scelta del contenuto dei modelli. Le dimensioni non sono certamente il fattore primario ad influenzare le prestazioni, ma è comunque auspicabile rimanere entro un limite ragionevole. La scelta della divisione del modello (quanti file creare da collegare poi ad un file MASTER), il template da utilizzare e le regole di modellazione sono sicuramente delle scelte da fare a monte che determinano la dimensione finale del file. Ciò di cui mi occuperò ora è però come comportarsi quando ormai il "danno" è fatto, il modello è già finito o in corso e ci accorgiamo che le sue dimensioni stanno crescendo troppo, o semplicemente quando si vuole eseguire una manutenzione periodica del modello. Eliminare i DWG importati e non utilizzati, andando in Vista > Visibilità/Grafica > Categorie importate; Eliminare le immagini non utilizzate, si può fare da Inserisci > Gestisci immagini; Ripulire il browser di progetto dalle viste inutili; Usare lo strumento Elimina inutilizzati (nella scheda Gestisci) per eliminare le famiglie e i tipi inutilizzati. È consigliabile scorrere tutta la lista e selezionare uno ad uno gli elementi che realmente si vuole vengano eliminati. Se si stanno utilizzando dei gruppi può essere necessario ripetere l'operazione più volte Controllare la dimensione delle famiglie caricare nel progetto. Può capitare di scaricare una famiglia da internet e caricarla senza troppi pensieri nel nostro progetto. Se però di tratta di una famiglia non creata con geometrie native di Revit il suo peso può causare seri problemi di prestazioni. Andando su > Salva con nome > Libreria > Famiglia possiamo salvare in una cartella tutte le famiglie caricate nel progetto ed analizzare il peso di ciascuna. Quelle più problematiche dovrebbero saltare all'occhio e potremo eliminarle dal browser di progetto; Controllare il file all'apertura, mettendo la spunta alla voce Controlla, nella schermata di apertura dei progetti ( > Apri > Progetto) Comprimere il file al salvataggio, mettendo la spunta alla voce Comprimi file nella schermata Opzioni durante il salvataggio dei progetti ( > Salva con nome > Opzioni) Ridurre l'utilizzo dei gruppi e dei modelli locali solo a quando strettamente necessari; Risolvere gli avvisi legati al progetto, visualizzabili da Gestisci > Esamina avvisi. Se qualcuno conosce qualche altro metodo per controllare la dimensione dei file e vuole condividerlo con tutti lo scriva pure qui sotto e lo aggiungerò alla lista.
  3. Ho provato a dare un'occhiata alla famiglia. Il file .rfa è effettivamente un'unica piastrella come modello generico, nella quale è presente sia una geometria nativa di revit (un semplice parallelepipedo) che altra geometria importata che va ad appesantire il file. L'altro file è un template, .rte, e sinceramente non capisco perchè il produttore lo fornisca. Se provi a creare un pavimento nel file .rte uno dei due tipi disponibili è "Ferrari BK - Sasslong® - paving system", formato da un solo strato con il giusto materiale associato (le texture del materiale vengono fornite a parte, che apparirebbe altrimenti grigio, piatto e come un'unica lastra). A questo punto tutto dipende dal tuo obiettivo. Ti sconsiglio di usare la piastrella singola e copiarla, a meno che il tuo obiettivo non sia avere l'esatta disposizione e conteggio di tutte le piastrelle. Potresti comunque creare un "modulo" di piastrelle e ripeterlo sulla superficie. Se il tuo scopo è fare un render, usa il pavimento creato nel file .rte e copialo nel tuo file. Poi sistemi gli strati nel tuo pavimento con i materiali giusti delle piastrelle. Usa le texture fornite dal produttore per completare il materiale (manca la mappa bump, dovresti crearle te in photoshop o simile se vuoi un maggiore realismo nella fuga delle piastrelle). Se invece quello che ti interessa sono viste di pianta o 3D non realistici, puoi creare un retino di modello con la disposizione delle piastrelle e assegnarlo come "Motivo superficie" al materiale.
  4. Ciao, i pavimenti non sono famiglie caricabili di per se, sarebbe utile sapere qualche informazione in più sulla famiglia che hai scaricato. Si tratta di un file .rfa o .rvt? Puoi mettere qualche immagine o caricare direttamente il file?
  5. Daniele Marelli

    Music Corner

    thumb
    Un rendering fatto nel tempo libero, volevo provare a realizzare una scena di interni notturna e con un'illuminazione artificiale scarsa (spero non sia uscita troppo scura ). Software: Blender 2.9 e Cycles (circa 1:30 h a 450 samples, con denoising), Photoshop per qualche modifica leggera finale.
  6. Daniele Marelli

    Importare famiglie in rvt

    Per le famiglie di sistema (muri ecc.) o gruppi di famiglie può essere utile fare un semplice copia/incolla tra il file rvt che hai scaricato e quello del tuo progetto.
  7. thumb
    Quello che proveremo a fare oggi è creare delle masse in Revit corrispondenti a edifici reali presi da una mappa, il tutto come sempre attraverso Dynamo e alcuni suoi pacchetti aggiuntivi. Lo script in questione è un po' lungo quindi eviterò di ricrearlo passo a passo in questa guida e mi limiterò a commentarne i punti salienti. All'interno dello script troverete comunque ulteriori commenti e una divisione in gruppi per facilitarne la lettura. Download: https://drive.google.com/open?id=1jLOqyhaB8mFNp3N_qgLL6GM8uenkeKsH È necessario Dynamo 2.0 o versione superiore. OpenStreetMap OpenStreetMap (OSM) è una mappa completamente gratuita e libera, creata dagli utenti, perfetta per il nostro obiettivo. Oltre alla loro posizione e forma in pianta, gli utenti possono attribuire agli edifici anche parametri come il nome, indirizzo, numero di piani, funzione e molti altri. Potete vederli andando sul sito https://www.openstreetmap.org/, premendo sul punto interrogativo a destra, cliccando in un qualsiasi punto e scegliendo a sinistra uno degli edifici nei dintorni. Purtroppo questi parametri non sono sempre disponibili per tutti gli edifici, ma siete liberi di aggiungerli voi stessi e contribuire alla mappa. Pacchetti utilizzati GIS2BIM (facoltativo) - Per il download diretto della mappa Elk - Per l'analisi del file OSM Clockwork - Per una veloce operazione su una lista Springs - Per la creazione delle masse in Revit Download della mappa Ci sono due opzioni: il download manuale e quello automatico tramite il nodo GIS2BIM. Download manuale Basta andare sul sito di https://www.openstreetmap.org/ e cliccare su esporta in alto a sinistra. Cliccate su Seleziona manualmente un'area differente per decidere voi che porzione di mappa scaricare. Cliccate esporta per scaricare la vostra mappa in formato .osm. Download da GIS2BIM Nonostante alla fine abbia deciso di non utilizzarlo (i nodi sono congelati, come potete vedere dalla linea tratteggiata che hanno intorno), ho voluto includere anche questo metodo nello script. Vi basterà inserire l'indirizzo che volete e penserà a tutto Dynamo. Tutto molto bello, se non fosse che il parametro WidthMeters sembra non funzionare e di conseguenza non si può controllare la dimensione della mappa da scaricare. Maggiori informazioni sul suo utilizzo sono comunque contenute nelle note. Estrazione dei dati dal file .osm Una mappa in formato .osm può contenere davvero tante informazioni, Elk ci permette di estrarre solo quelle che ci interessano. Il nodo OSM.OSMData ci permette di ottenere la geometria (Points) e le informazioni (Keys) degli elementi che ci interessano. Oltre alla mappa che abbiamo scaricato dovremo indicargli la categoria da analizzare, nel nostro caso "building", e la sottocategoria, "*" cioè tutte. Nello script è presente anche un esempio di utilizzo con la categoria "highway", per estrarre le strade. Sotto il nodo OSM.Features c'è una elenco di tutte le categorie disponibili Creazione dei solidi Semplicemente creiamo dei poligoni (Polygon.ByPoints) a partire dai punti ottenuti prima. Creiamo i solidi con Curve.ExtrudeAsSolid. Da qui in poi alcuni nodi avranno la funziona Anteprima spenta (tasto destro > anteprima) per avere una visualizzazione più chiara sullo sfondo. Definizione dell'altezza degli edifici Come accennavo prima, gli utenti di OSM possono assegnare dei parametri agli edifici. In questo caso sono due quelli che possono tornarci utili: levels e height. Levels è il numero di piani mentre height è l'altezza esatta. Sarebbe meglio utilizzare height per stabilire l'altezza del nostro edificio ma purtroppo è abbastanza raro da incontrare. Più comune è levels, che possiamo moltiplicare per 3 metri per avere un'altezza approssimativa dell'edificio. Ricordate comunque che se nessuno dei due parametri è presente potete aggiungerli dal sito di OSM, facendo un favore a voi stessi ed ai prossimi che useranno quella mappa. La prima cosa da fare in questi casi è analizzare la struttura della lista. Abbiamo 25 liste corrispondenti ciascuna ad un edificio, nello stesso ordine della lista dei punti usata prima. Dentro ogni lista ci sono stringhe di testo con informazioni, alcune utili altre inutili. Iniziamo a sbarazzarci di tutto ciò che non contiene le parole "building:levels:" (che è ciò che ci interessa) creando una maschera di true e false con il nodo String.Contains e poi applicandola al nodo. Eliminiamo poi tutto il testo inutile che rimane con il nodo String.Split. Seguono delle operazioni di "pulizia" della lista, nelle note trovate alcune informazioni sui parametri. Sottrazione dei vuoti Un'ultima operazione da fare per ottenere una geometria più pulita in Dynamo è sottrarre i vuoti da alcuni edifici. Se osservate la lista a sinistra vedrete che è composta da sottoliste, alcune con uno, altre con due elementi. Il secondo solido presente in alcune sottoliste è un vuoto. Iniziamo selezionando tutti i vuoti e tutti i pieni. Useremo il nodo List.GetItemAtIndex, con l'utilizzo dei livelli. Per usare i livelli premete sulla freccetta da parte all'input List e cliccate su usa livelli. Lavoreremo sul livello 2 che è quello nel quale si trovano i solidi, gli oggetti veri e propri (Il livello 1 è quello della lista principale, che contiene le sottoliste). Tutti gli elementi con indice 0 sono volumi, quelli con indice 1 sono vuoti. Quando non viene trovato un vuoto in una sottolista viene inserito un elemento null. Non ci rimane che sottrarre i solidi e ricombinare la lista. Creazione delle masse Non ci sono molti commenti da fare. Il file che deve essere selezionato è un template .rft e non una famiglia di massa .rfa. Occhio al metodo di collegamento del nodo finale (tasto destro sul nodo > collegamento) che è impostato su "più lungo" (come si deduce anche dal simbolo II\ in basso a destra del nodo). Questo permette ci assegnare ad ogni geometria il proprio nome. Il collegamento è utile quando si lavora con più liste in input e si vuole stabilire come devono essere interpretate (più info nel DynamoPrimer). Ho testato lo script solo su una mappa, abbastanza piccola, quindi non escludo possa dare problemi in alcuni casi particolari (es. edifici più complessi con più vuoti). Nel caso ci siano problemi o domande non esitate a commentare qua sotto e lavoreremo insieme ad una soluzione.
  8. Daniele Marelli

    Creare grafici con Mandrill

    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. 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. 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. 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. 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. 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.
  9. Daniele Marelli

    Dynamo - Concetti base

    Dynamo è una piattaforma di programmazione visuale open source per progettisti. Prima di iniziare a dare definizioni e spiegazioni vorrei soffermarmi su una caratteristica di Dynamo, l'essere open source. Questo non vuol dire solo gratuito, ma anche la possibilità di studiare, sviluppare e creare versioni alternative a quella ufficiale. Continuando a parlare di software libero, anche la sua guida ufficiale, il Dynamo Primer, è open source e da la possibilità di creare le proprie versioni o collaborare a quella ufficiale. Citando il sito di Dynamo, il Primer è "una risorsa introduttiva per principianti e un riferimento a lungo termine. Una spiegazione strutturata di ogni cosa, dalla gestione dei dati alla geometria computazionale e la collaborazione con Revit". Il Dynamo Primer è disponibile a questo indirizzo: http://dynamoprimer.com/en/ in inglese, tedesco, giapponese e taiwanese. Una buona notizia per quelli che preferiscono studiare argomenti come questi in italiano piuttosto che in inglese (o in taiwanese): qualche anno fa avevo iniziato a tradurre il Primer, purtroppo abbandonando il progetto per mancanza di tempo, ma traducendo comunque i primi quattro capitoli, sufficienti a dare un'introduzione generale ed a capire di cosa stiamo parlando. Lo potete trovare qui: https://github.com/Mareck1996/DynamoPrimer/tree/master/it Non ha la formattazione della guida ufficiale, ma dovrebbe essere comunque fruibile. cercate nelle singole cartelle e aprite i file .md per trovare la pagina che vi interessa. Vi consiglio di seguirlo in simultanea con la guida in inglese per avere un riferimento nella formattazione del testo. Riporto qua sotto la sezione 1.1 - "Cosa è la programmazione visuale?". Alla fine trovate un'altra piccola spiegazione di alcuni termini utili. Cosa è la programmazione visuale? Progettare spesso richiede stabilire relazioni visive, sistemiche o geometriche tra le parti di un progetto. La maggior parte delle volte, queste relazioni sono sviluppate dal flusso di lavoro, che ci porta dal concept al risultato seguendo delle regole. Forse senza saperlo, noi lavoriamo algoritmicamente - definendo un serie di azioni passo dopo passo che segue una logica base di input, elaborazione e output. Programmare ci permette di continuare a lavorare in questo modo ma formalizzando il nostro algoritmo. Algoritmi in concreto Sebbene offra delle potenti opportunità, il termine Algoritmo può portare a dei fraintendimenti. Gli algoritmi possono generare risultati inaspettati, imprevedibili o fantastici, ma non sono magici. Infatti sono abbastanza semplici di per sé. Usiamo un esempio concreto come l'origami di una gru. Iniziamo con un pezzo di carta quadrato (input), seguiamo una serie di ripiegamenti (elaborazione), ed il risultato è una gru (output). Quindi dov'è l'algoritmo? È la serie astratta di azioni, che possiamo rappresentare in due modi - testualmente o graficamente. Istruzioni testuali: Inizia con un pezzo di carta quadrato, con una faccia colorata. Piegalo a metà e aprilo. Poi piegalo a metà, nell'altra direzione. Gira verso l'alto il lato bianco. Piega il foglio a metà, premi bene e apri. Piega ancora nell'altra direzione. Usando le pieghe che hai fatto, porta i tre angoli del modellino in alto sotto, all'angolo in basso. Appiattisci il modellino. Piega i lembi esterni verso il centro e riaprili. Piega la parte superiore del modellino verso il basso, piega bene e riapri. Apri il lembo inferiore del modello, portandolo verso l'alto e premendo i lati del modellino verso l'interno allo stesso tempo. Appiattisci, piegando bene. Capovolgi il modellino e ripeti i passi 4-6 sull'altro lato. Piaga i lembi superiori nel centro. Ripeti sull'altro lato. Piega entrambe le “gambe” del modellimo verso l'alto, piega molto bene, poi riapri. Ribalta verso l'interno e piega le “gambe” lungo le pieghe che hai appena fatto. Ribalta verso l'interno e piega un lato per fare la testa, poi piega verso il basso le ali. Ora hai una gru. Istruzioni grafiche: Programmazione - Definizione Usando una qualunque di queste due serie di istruzioni dovresti ottenere una gru, e se hai seguito il procedimento tu stesso, hai applicato un algoritmo. La sola differenza è il metodo con cui leggiamo la formalizzazione di quella serie di istruzioni e questo ci porta al concetto di Programmazione. La programmazione è l'atto di formalizzare il processo di una serie di azioni in un programma eseguibile. Se trasformiamo le istruzioni scritte sopra per creare un origami in un formato che il nostro computer può leggere ed eseguire, stiamo programmando. La chiave ed il primo ostacolo che incontreremo nel capire la programmazione è che dovremo affidarci a una qualche forma di astrazione per comunicare efficacemente con il nostro computer. Questa può essere uno qualunque dei numerosi linguaggi di programmazione, come Javascript, Python o C. Se riusciamo a scrivere una serie di istruzioni ripetibili, come per l'origami della gru, ciò che dobbiamo fare è tradurla per il computer. Siamo sulla buona strada per rendere il computer capace di realizzare una gru, o perfino una moltitudine di gru diverse, con leggere differenze tra una e l'altra. Questo è la potenza della programmazione - il computer eseguirà ripetutamente qualsiasi compito, o serie di compiti, gli assegneremo, senza ritardi e senza errori umani. Programmazione visuale - Definizione Se fossi incaricato di scrivere le istruzioni per piegare l'origami della gru, come ti comporteresti? Useresti la grafica, il testo o una combinazione di entrambi? Se la tua risposta contiene la grafica, la Programmazione visuale fa senz'altro per te. Il processo è essenzialmente il medesimo sia per la programmazione che per la programmazione visuale. Utilizzano la stessa struttura e formalizzazione; ciò nonostante, definiamo le istruzioni e le relazioni del nostro programma tramite un'interfaccia utente grafica (o "visuale"). Invece di digitare le istruzioni testuali in una sintassi, ci basterà connettere dei nodi preconfezionati tra loro. Ecco un confronto dello stesso algoritmo - "disegna un cerchio sulla base di un punto" - programmato con i nodi e con il codice: Programma visuale: Programma testuale: myPoint = Point.ByCoordinates(0.0,0.0,0.0); x = 5.6; y = 11.5; attractorPoint = Point.ByCoordinates(x,y,0.0); dist = myPoint.DistanceTo(attractorPoint); myCircle = Circle.ByCenterPointRadius(myPoint,dist); Il risultato dei nostri algoritmi: La caratteristica visiva della programmazione, in questo modo, riduce le barriere per la comprensione dell'algoritmo e spesso è più apprezzata dai progettisti. Dynamo ricade nel paradigma della programmazione visuale ma, come vedremo più avanti, possiamo anche utilizzare la programmazione testuale. Vorrei aggiungere infine qualche altra definizione che potrebbe essere utile usando Dynamo e non solo. API - Acronimo di Application Programming Interface (in italiano interfaccia di programmazione di un'applicazione), è l'insieme di procedure che un determinato programma mette a disposizione degli sviluppatori. Ad esempio, se un normale utente di Revit per creare una parete deve cliccare sull'icona "Muro" e cliccare ancora per dare un punto di inizio e fine, uno sviluppatore ha a disposizione un comando del tipo: Wall.Create(Curve curve, WallType type) da inserire nel suo codice per creare all'istante una o cento pareti. DesignScript - Il linguaggio di programmazione sviluppato da Autodesk, alla base di Dynamo. Python - È un linguaggio di programmazione orientato ad oggetti, si può utilizzare in Dynamo per creare nodi personalizzati, creare estensioni per Revit (collegandosi all'API di Revit), data analysis, e molto molto altro. Ha una sintassi semplice rispetto ad altri linguaggi del suo livello. Vi farà risparmiare più tempo di quello impiegato per impararlo. Programmazione orientata agli oggetti (OOP) - Prima della programmazione orientata ad oggetti veniva usata la programmazione procedurale, i programmi erano una serie di comandi lineare. L'OOP ha introdotto il concetto di "oggetti", a cui è possibile assegnare valori, regole, funzioni. Per fare un esempio un muro in Revit è un oggetto, con le sue regole, a cui è possibile assegnare parametri e valori. "Il BIM implica la rappresentazione di un progetto come combinazione di "oggetti" - vaghi e non definiti" (Chuck Eastman - "What is BIM?"). Per qualsiasi altro dubbio o curiosità potete consultare il Dynamo Primer linkato sopra, o scrivere qua sotto.
  10. Daniele Marelli

    Convertire da Dynamo a Python

    Certo, appena posso creo un post con un po' di spiegazioni. Comunque non credo che creerò altre discussioni così tecniche, visto che non anche io ne capisco fino ad un certo punto e rischierei di commettere errori. Preferisco restare più sul lato utente che su quello sviluppatore.
  11. Daniele Marelli

    Convertire da Dynamo a Python

    Qualche mese fa parlando con un altro appossinato di Dynamo era sorta una discussiane sul fatto se fosse possibile o meno convertire un workspace di Dynamo (programmazione visuale) a un codice in Python (programmazione "classica"). Sono arrivato a delle conclusioni un po' tecniche ma comunque interessanti per capire come funziona Dynamo. L'unico comando che ho trovato è "nodo da aggiungere al codice" (NodetoCode) che converte i nodi selezionati in una porzione di codice in DesignScript, quindi neanche Python. Inoltre non converte i nodi creati in Python (pacchetti aggiuntivi, nodi Python Script e probabilmente anche quelli che interagiscono con Revit). Ho cercato quindi una soluzione un po' più a fondo, dando un'occhiata anche al source di Dynamo (i vantaggi dell'open source...) per vedere come compilasse i grafici prima di eseguirli: da quanto ho capito tutti i nodi vengono convertiti in DesignScript, non in Python, e poi eseguiti. I nodi di sistema sono tutti scritti in C#. L'unico modo che mi viene in mente per ottenere uno script in Python che converta tutti i nodi sarebbe creare una versione di Dynamo che salvi tutto il grafico convertito in DesignScript su un file di testo e poi convertire da DesignScript a Python (manualmente, visto che DesignScript non è un linguaggio diffuso e non esistono convertitori). Per ultimo c'è da dire che Dynamo utilizza IronPython non Python "puro" quindi potrebbe essere necessaria un ulteriore conversione a seconda dello script finale che si vuole ottenere. Questo è tutto quello che sono riuscito a scoprire, se qualcuno ha suggerimenti o altre informazioni è il benvenuto.
  12. Daniele Marelli

    Revit. Cineprese ed obiettivi fotografici.

    Grazie per il chiarimento. Ho provato a creare la stessa scena in Blender e in Revit e a sovrapporre il risultato per vedere se combaciassero. Per impostare la camera in Blender mi sono basato sul Field of View, su cui non ci dovrebbero essere dubbi che sia 50°. Impostando un sensore 4:3 la lunghezza focale risultante è 18,5 mm. Utilizzando un full frame la lunghezza è 38,6 mm. In entrambi i casi il risultato è il medesimo, essendo fisso il Field of View. Nell'immagine sotto, in rosso è segnato l'oggetto di Revit. Ora rimane da capire perchè gli sviluppatori abbiano deciso di utilizzare un formato 4:3 per l'immagine(parlo del riquadro 150x113 mm). Se dovessi avanzare un'ipotesi credo che la scelta del sensore (ff, 4:3 o APS-C che sia) non influenzi una camera virtuale nello stesso modo in cui viene influenzata una reale. In una camera reale il sensore influenza sia il formato dell'immagine, sia il fattore di crop, e da ciò tutto quello che ne consegue, come indicato da Ferruccio nel post precedente. In una camera virtuale viene modificato solo il fattore di crop, come ho notato anche in Blender, nel quale quando si andava a cambiare il sensore veniva modificata solo la lunghezza focale, e non il formato dell'immagine, controllato da un parametro a parte. Credo il formato 4:3 sia stato scelto più per ragioni pratiche che per legami al mondo fotografico tradizionale e ai sensori. La prima release di Revit è stata nel 2000 quando i monitor dei computer era tutti 4:3, solo nel 2003 arrivarono i 16:10 e nel 2008 i gli odierni 16:9. Non ho mai utilizzato le prime versioni di Revit ma non mi stupirei se le cineprese siamo rimaste ai primi anni 2000, visto la scarsità di parametri presente anche al giorno d'oggi. Per concludere vi segnalo un file di excel che permette di calcolare le dimensioni di ritaglio di Revit a seconda della lunghezza focale e del fattore di crop desiderato (utile per esmpio nei fotoinserimenti). https://onedrive.live.com/view.aspx?resid=9F01F08488EB7B23!29964&app=Excel (Crediti: Cad-Q / Petter Alm 2013.07)
  13. Volevo segnalarvi un corso gratuito di più di 4 ore sulla creazione di una colonna corinzia in Revit. Seppur non sia una famiglia che capita di creare tutti i giorni, è interessate vedere come possano essere gestite forme così complesse. Qui trovate il link. Il corso è in inglese, con la possibilità di attivare i sottotitoli e di avere una trascrizione del testo. Se qualcuno fosse interessato all'argomento vi segnalo che l'autore del video ha scritto anche un libro, Renaissance Revit. Se non ricordo male il pdf era stato caricato sul gruppo A360 del Project Soane dall'autore stesso. Sempre sullo stesso sito potete trovare altri due corsi interessanti, Revit: Tips, Tricks, and Troubleshooting e BIM Tools Weekly. Ogni settimana viene inserito un nuovo video ed è possibile vedere quello della settimana corrente (e alcuni più vecchi) anche senza essere registrati.
  14. Daniele Marelli

    Revit. Cineprese ed obiettivi fotografici.

    Lo trovo un argomento veramente interessante. Non sono un grande esperto di fotografia, ma dopo aver fatto delle ricerche mi sono sorti dei dubbi. Quanto influisce il fatto che Revit utilizzi un sistema Four Thirds nel caso in cui dovessimo imitare le impostazioni di una camera Full Frame o APS-C? Fino ad adesso quando ho letto come calcolare la lunghezza focale standard di Revit ho sempre visto utilizzare la formula L = (36 mm/2)/(tan(50°/2)) = 38,6 mm Utilizzando per l'appunto 36 mm come larghezza e non i 17.5 mm del Four Thirds (che risulterebbe quindi la metà). In altre parole, se nella realtà scattassi una foto con una camera full frame e focale a 38,6 mm, corrisponderebbe a quella standard di Revit? Se si, non potrebbe essere che Revit utilizzi un sensore full frame, con un aspect ratio di 4:3 e non invece un sensore Four Thirds, che non per forza è vincolante sull'aspect ratio (senza quindi la complicazione del raddoppio della lunghezza focale)? Probabilmente sto facendo confusione, forse sto confondendo il significato di sensore nella fotografia tradizionale e nel rendering.
  15. Daniele Marelli

    Estrusione muro

    Se stai utilizzando lo strumento Muro: estrusione (quello dalla tendina sotto al comando muro, per intenderci) puoi provare ad utilizzare invece Modifica struttura verticale dal pannello Gestisci stratigrafia del tipo di muro che vuoi modificare. Con il comando estrusione puoi aggiungere tutti i profili che vuoi solo al tipo di muro che ti interessa, avendo anche la possibilità di gestirli più facilmente. Se invece volessi utilizzare lo strumento Muro: estrusione, oltre a creare un nuovo profilo, dovresti creare un nuovo tipo di estrusione (duplicandone uno già esistente) e caricare il profilo che hai creato al parametro Profilo in Modifica tipo.
×