Buongiorno a tutti, dopo aver affrontato il tema delle famiglie e della parametrizzazione con tanto di abaco, per questa consegna ci è stato chiesto di creare un progetto in cui trovassero utilizzo le nested families, o famiglie nidificate. Con famiglia nidificata si intende una famiglia che al suo interno ha altre famiglie; chiaro è l'esempio di una famiglia porta in cui sia inserita una famiglia maniglia. I parametri che definiscono la famiglia nidificata non saranno condivisi, anche se tuttavia sarà possibile editare i valori che gli appartengono.
In aula dopo la spiegazione di cosa siano e come trovino applicazione, ci è stato chiesto di creare una famiglia nidificata costituita da solaio e due pilastri differenti, che magari all'aumentare dello spessore del pilastro aumentassero di sezione. Nella gestione delle singole famiglie non ho faticato affatto, ho creato i parametri che mi servivano per ogni pilastro,fissando l'altezza a 5 metri per tutti i pilastri,e ho condiviso solo il parametro Larghezza pilastro.
Una volta giunto al creare la famiglia solaio con tanto di pilastri però all'aumentare dello spessore del solaio,e relativo volume,non vedevo cambiare di altezza i pilastri; successivamente aiutato da Stefano e Claudio abbiamo visto che era per causa di un mancato aggancio tra gli oggetti e i piani di riferimento, quindi mi duole ammettere che a livello pratico ho ancora delle carenze, che spero di sanare a breve.
Per questa esercitazione avrei potuto continuare sullo stesso progetto oppure crearne uno nuovo da zero. Inizialmente ho pensato al fare una ciminiera,in cui sarei andato a inserire la famiglia scala, per tutta l'altezza della ciminiera, ma ho pensato che sarebbe stato un po' uno spreco per il potenziale delle famiglie nidificate e della parametrizzazione. L'idea successiva è stata quella di progettare le banchine del treno, ovvero la copertura estrusa per la lunghezza del binario con n pilastri in cls di un determinato spessore in base al peso della copertura, ma anche in questo caso non mi pareva azzeccato. Passandoci al ritorno da lezione, per la Stazione Termini, ho avuto la malsana idea di pensare di modellare l'atrio della stazione, quello progettato negli anni '30 da Eugenio Montuori.
Purtroppo non avendo le misure posso solamente approssimarne la forma,però sarebbe interessante vedere,ipotizzando le travi in CLS e i pilastri in acciaio quanto peso gravi su di essi.
Come di consueto mi pongo in ottica parametrica e ipotizzo i vari step che dovrò seguire.
1 - Famiglia trave,dove modello il profilo estruso e ne definisco volume (non so ancora come), materiale e peso e eventuale costo.
2 - Famiglia pilastri bend, che avranno un parametro di altezza variabile fino a che non incontrano la copertura.
3 - Famiglia montanti trasversali
4 - Famiglia lamiera di copertura
5 - Famiglia vetrata
Chiaramente mi pongo nell'ottica di ispirarmi all'opera, andandone solo a riprendere il profilo, poi per quanto riguarda i pilastri faccio finta di non saperne le effettive dimensioni e le regolo in relazione al peso. Per cui bando alle ciance e iniziamo a progettare.
1 - Famiglia trave estrusa
Sebbene la forma sia complessa si tratta pur sempre di un estruso di circa 30 cm, per cui si tratta di definire la forma e poi analizzarla. Come prima cosa sono partito da una fotografia come reference e in photoshop ho tracciato una griglia con i righelli per misurare circa le dimensioni base della forma.
Dando per scontato che la Citroen C3 è lunga 394 cm posso capire che circa la distanza tra un pilastro e l'altro è di 1.5 metri,da cui ragiono con la griglia per vedere le ipotetiche misure.
Da cui vado a tracciare subito il profilo di estrusione, con delle Splines.
Chiedo scusa se dovesse saltare il collegamento perchè ho finito lo spazio sul server,quindi mi trovo obbligato nuovamente a uploadare le immagini su un host esterno. Nell'immagine si vede il vertice di controllo (è uno dei punti che gestisce la curvatura della splines),a cui ho applicato un offset per l'altezza necessaria.
Adesso vorrei determinare i parametri condivisi Volume, Massa,Peso, Materiale, ma sinceramente non so da dove partire in quanto non riesco a trovare alcun tipo di proprietà che mi indichi quanto è il volume della figura da me generata. Alla cieca l'unica cosa che mi viene da fare è assegnare un materiale CLS alla trave e sperare che in qualche proprietà che non conosco ci sia il dato che mi interessa.
La mia libreria è decisamente sfornita,nonostante abbia reinstallato il software e abbia scaricato i template e le librerie dal sito ufficiale Autodesk! Attualmente sto cercando di risolvere il problema libreria che è più di natura tecnica che logistica. Non riesco a venire a capo del problema dei materiali, ho solo scoperto che tutte le texture sono correttamente installate,infatti sotto Appearence trovo tutti i materiali di default di Revit 2012, però nella vera e propria categoria del materiale, la tendina a sinistra,non compare nulla se non le categorie che vedete nell'immagine sopra. Ho quindi dovuto editare una generica categoria default,assegnarle una classe concrete, assegnargli una texture Concrete - Gray e nelle proprietà strutturali mettere 23 kN/mc, che è l'equivalente di 2300 kg/mc. Applicato il materiale all'oggeto passo alla ricerca dell'infame proprietà del volume!
NB: Leggo in questo post: http://www.cad3d.it/forum1/showpost.php?p=226079&postcount=4 la risposta che mi fa intuire che una volta assegnato il materiale tutto verrà da se,per cui assegnato il materiale tramite PARAMETRO e non tramite assegnazione diretta, smetto di preoccuparmene. Immagino esista anche un parametro volumetrico,ma per ora non me ne preoccupo. Purtroppo l'ideale sarebbe stabilire lo spessore del futuro pilastro in funzione del peso della trave, ma lo vedremo più avanti,ora posso preoccuparmi di passare al pilastro!
2 - Famiglia pilastro bend
Come accennato nei commenti al post, in anticipo sui tempi di realizzazione, i pilastri che vado a progettare saranno in linea con quelli della stazione,in alluminio anodizzato, ma con torsione,da un profilo romboidale alla base a un profilo rettangolare in prossimità della trave.
Procedo come di consueto stabilendo le distanze dei piani di riferimento dagli assi principali,e fissando a 0.30 la larghezza del pilastro, che è lo stesso valore dell'estrusione della trave,e lasciando libero solamente l'altro valore di lunghezza.
Da qui procedo con la definizione dei profili di bend, con il disegno di un rombo alla base,con vertici in mezzeria,e un rettangolo al piano top. Una volta creato il solido bend cambio visuale e passo dal Ref.Level al Elevation:Front, per andare a inserire un piano di riferimento a quota generica, alla quale assocerò un parametro Altezzapilastro. Allineo il top del bend al piano ed il gioco è fatto! Per ora rimane in fase di wip anche la definizione di lunghezza del pilastro, dato che non so ancora quale sarà il numero totale di pilastri da cui dipenderà la sua misura. Infine assegno un materiale Alluminio anodizzato, che ha densità di 2700 kg/mc.
La fase di aggancio tra il pilastro e la trave avverà in fase successiva,e sarà l'approccio alla famiglia nidificata.
EDIT: Sto proseguendo con la stesura man mano che la faccio,è per evitare di ridurmi come l'altra volta che ho perso tutto il lavoro fatto per esser scivolato sul tasto!
EDIT-2 : Consiglio a tutti questo tutorial, che è spiegato in maniera davvero minuziosa: http://www.cadway.com.au/Signatures/CLP/NESTEDFAMILIESARRAYS.pdf
Proseguo lungo lo stesso post anzichè intasare la homepage con un nuovo post,al massimo ne sposto i contenuti da uno all'altro.
PENSILINA PER FERMATE AUTOBUS
Purtroppo la creazione della copertura ispirata all'atrio della Stazione Termini è stata rimandata a data da definirsi perchè sono sorti problemi che non sono ancora in grado di gestire. Mettendo da parte l'assegnazione di una curva guida a segnare il percorso dei profili estrusi (cosa che intuisco sia possibile fare,anche se non è detto), mi sono ritrovato a non riuscire a associare l'estrusione del pilastro al punto in cui avesse incontrato la trave. Il comando associa base/altezza probabilmente è disponibile solo per il template muro e non per un Generic Metric Model, quindi qualora io avessi dovuto andare a riportare le altezze dei pilastri uno per uno si sarebbe perso completamente il senso del progetto parametrico.
Per cui ho voluto momentaneamente (intendo proseguire nella creazione della precedente copertura una volta acquisite le conoscenze necessarie) creare da zero una pensilina per autobus con struttura in acciaio e copertura in legno.
Il workflow da seguire pertanto sarà il seguente:
1 - Creazione di una famiglia Trave HEA in acciaio
2 - Creazione di una famiglia pilastro HEA in acciaio di 2 misure differenti, HEA 260 , 220
3 - Creazione di una famiglia montante scatolato che andrà posto tangente alle falde
4 - Creazione di una famiglia pannello di rivestimento in legno.
5 - Unione delle famiglie in una famiglia nidificata
Chiaramente la parte del leone la farà la gestione delle famiglie nidificate,anche perchè voglio far si che cambi la pendenza delle falde in base al luogo di posa,e si adatti tutta la struttura, tra cui l'altezza del pilastro a parità di larghezza di trave.
1 - Creazione di una famiglia Trave HEA in acciaio
Apro il solito template Generic Metric Model e vado a fissare in pianta i piani di riferimento ai quali associare le misure della HEA in question. Momentaneamente comincio con la HEA 300, per cui metto le dimensioni come da tabulato su:
http://www.oppo.it/tabelle/profilati_hea.htm
Quindi 300x290 mm come rettangolo nel quale andare a mettere altri parametri come lo spessore dell'anima, delle lingue, il raggio di raccordo tra anima e lingue. Confesso che è stato un lavoro non immediato perchè ho dovuto mettere tre assi per dimensione in modo da garantire in caso di cambiamento dei valori la completa assialità (ho fissato l'equidistanza tra le distanze delle superfici di bordo dall'asse centrale). Ho creato quindi dei parametri condivisi che definissero queste misure, in più ho creato dei parametri strutturali, come peso lineare e peso trave. L'altezza di estrusione sarebbe stato poi il parametro fondamentale per la gestione all'interno della famiglia nidificata.
2 - Creazione di una famiglia pilastro HEA in acciaio
Apro il template Generic Metric Model e imposto come vista Right,per poter estrudere orizzontalmente. Faccio questo perchè il parametro di altezza comunque sarà differente dal parametro di lunghezza, anche se forse non era necessario. Ho disegnato il solito profilo ad HEA utilizzando gli stessi parametri condivisi.
NB: Mi sono dibattuto parecchio sul fatto che il parametro condiviso fosse caricabile in altre famiglie, ma non sapevo se avesse caricato anche il valore relativo al parametro di conseguenza. Il procedimento è stato analogo. Ho creato due altre categorie di Travi modificandone i valori, e avendo stabilito correttamente i piani di riferimento e i vincoli la modifica dei valori non comporta distorsioni geometriche.
Prima di passare alla modellazione dei pannelli dei rivestimento ho preferito provare l'assemblamento della famiglia nidificata, caricando in una famiglia a parte sia le travi che il pilastro, perchè poi questo gruppo andrà ripetuto in array per lunghezza della pensilina.
Ho quindi fissato il vincolo tramite piani di riferimento posti sulla vista right. Ho posto un piano di riferimento nella parte superiore delle travi,e ho legato ad essi la base delle travi ruotate di 90° che serviranno poi come base per la copertura. Fissati i vincoli ho provato a caricare i parametri del pilastro in modo tale che editandone il valore di estrusione veda se la struttura si adatta,e come potete vedere il risultato è soddisfacente.
3 - Creazione di una famiglia Montante scatolato
Confesso che in questo caso ho dei dubbi sul come andare a posizionare il montante in modo che sia tangente alla superficie superiore delle travi lunghe quanto la pensilina, e noto il template Generic Model Face Based potrebbe fare al caso mio anche se non so come funzioni! Quindi nella vista right creo un profilo scatolato sempre secondo le dimensioni di Oppo.it, con procedimento analogo. Il parametro di estrusione dovrà essere uguale al parametro di estrusione della trave.
Creato il mio profilo con relativi parametri di estrusione, peso lineare e angolo. L'angolo dopo numerossime prove ho sperimentato che non può essere modificato nella macrofamiglia, host, magari solo nel mio caso, quindi ho dato per scontato potesse essere ruotata nella famiglia nidificata. Eppure nonostante non metta vincoli di alcun tipo il software mi da come errore l'impossibilità di ruotare l'oggetto in questa vista. Le uniche rotazioni che mi fa fare solo quelle in pianta,che mantengono indeformata la rappresentazione...E sinceramente non so perchè, infatti sono all'ennesimo punto morto della progettazione. Avevo creato i piani di riferimento ai quali la faccia dovrà essere tangente,ma con il comando associa mi dice che è impossibile ruotare l'oggetto, perchè non rispetta dei vincoli, ma io volutamente non ho creato vincoli nella famiglia nidificata. Il passo successivo sarebbe stato quello di estrudere il tutto per una certa lunghezza,secondo un parametro condiviso già caricato,e andare poi a fare due array, uno con questi scatolati, uno con i pannelli di legno,e soprattutto uno con la "croce" costituita da pilastro e le due travi trasversali, ma la creazione non può proseguire e me ne scuso. L'esempio semplice di parametrizzazione in una famiglia nidificata era già stata fatta vedere in classe quindi spero non ci siano problemi di credibilità in merito,solamente che è un peccato che non sia riuscito a completare questo lavoro; domani mattina in aula ne parlerò a sufficienza con chiunque possa aiutarmi.
Non sono riuscito a risolvere il problema dell'angolo, però in compenso sono riuscito a risolvere il problema della superficie adattabile ad un'altra superficie. Ho provato a importare la famiglia Pannello copertura in legno creato tramite template Generic Model Face Based; ho ruotato, senza parametro, lo scatolato in acciaio, e ho caricato in esso la famiglia, e noto,come da figura,che si accosta esattamente allo scatolato.
3.1 - Creazione di una famiglia Montante scatolato RE-MADE
Stranamente nonostante la forma più semplice la creazione dello scatolato si è rivelata la più complicata,per via del parametro angolare che cercherò di trattare nel
modo più dettagliato possibile, in questa seconda edizione del paragrafo,a problemi risolti. Lascio pubblicato il mio post precedente così chiunque all'occorrenza può fare il confronto.
Procedo nel post come di routine con il mio "flusso di coscienza", così vi rendo partecipi di tutti i problemi che sono sorti passo dopo passo e come li ho risolti.
- Scelta del template: Essendo lo scatolato un estruso lungo una linea, che poi andrà ruotato,potrei scegliere il template Generic Model Line Based, ma preferisco
continuare sulla strada del Generic Metric Model per poterlo capire a fondo e capire come ovviare dei problemi sorti dalla necessità di faraderire l'oggetto alla
superficie ad esempio (cosa risolvibile semplicemente scegliendo il template Generic Model Face Based).
- Analisi mentale del workflow da seguire: In questo momento scrivo dopo averci sbattuto numerose volte la testa contro quindi spero di riuscire ad essere imparziale nella descrizione del processo da seguire; mi pongo il problema della creazione dello scatolato. Potrebbe avvenire tramite creazione di piani di riferimento in
prospetto, che poi andranno associati alla geometria di riferimento ed estrusi, per poi successivamente associare l'estrusione ad una linea di riferimento con un
determinato angolo che sarà parametrizzato. Potrebbe avvenire tramite creazione di piani di riferimento per il profilo da estrudere e per creazione della linea guida
alla quale associare l'estrusione successivamente,e solo DOPO estrudere il tutto. Sono due strategie simili ma molto differenti per approccio, perchè l'estrusione
comporta per forza un limite di modificabilità, per cui sono orientato al secondo approccio.
-Scelta dei parametri e associazione.
-Composizione in una famiglia più "elevata".
Procedimento:
Per questi primi step non intaso lo spazio del server con screenshot che sono già catturati nei primi post del blog.
Nuova famiglia, seleziono il template Generic Metric Model.
Seleziono la vista Elevation - Front e comincio disegnando i primi reference plane per definire la forma del profilo.
Ho creato dapprima i piani di riferimento,li ho posti a distanza generica per poi andarla a modificare successivamente tramite parametri. Ho battuto parecchio la testa
contro le problematiche derivanti dalla scelta o meno dell'estrusione come fenomeno generativo del mio solido. Senza andare a postare ogni cosa che sia stata fatta che
mi abbia portata a questa decisione, posso affermare con convinzione che il comando ESTRUDI in fase di parametrizzazione dell'angolo mi ha impedito la rotazione
dell'oggeto, mentre il comando SWEEP mi ha permesso la corretta rotazione. A posteriori capisco che il motivo sta nell'assegnazione intrinseca del comando estrudi ai
piani di riferimento globali della famiglia, mentre il comando sweep non se ne preoccupa,in quanto gode di più "libertà". Per i novizi, il comando estrudi appunto
estrude una faccia lungo una linea perpendicolare e assiale alla faccia, mentre lo sweep estrude lungo una linea direttrice,dritta o curvilinea che sia.
Pertanto dapprima creo in vista frontale come detto i piani di riferimento in cui disegnare la faccia di cui eseguire lo sweep, successivamente mi sposto nella vista
laterale, Right nel mio caso, e disegno una Reference Line, che sarà il binario lungo il quale eseguire lo sweep.
Prima di procedere con il comando creo i parametri che vanno a definire e lockare le distanze tra i vari piani, a cui allineerò poi le geometrie del profilo dello sweep.
Inoltre creo una LINEA di riferimento sulla vista Right che dapprima ruoto,solo ai fini di poterle associare una quota angolare,a cui a sua volta associo un parametro angolare, e poi imposto come valore del parametro 0°. Solo allora potrò permettermi di assegnare questa linea di riferimento come percorso di sweep da seguire. Tutte queste complicazioni di ruota e poi ri-ruota le ho fatte perchè nel caso di due linee parallele non è possibile stabilire una quota angolare,anche solo per motivi di natura rappresentativa immagino,visto che l'arco che rappresenterebbe l'angolo verrebbe raffigurato come una linea!
Definite queste geometrie base comincio a fare lo sweep, che come prima cosa mi chiede la selezione del percorso da seguire come rotaia, come seconda di disegnare il profilo da estrudere lungo la direzione di sweep. Ho aggiunto i parametri che definiscono il raccordo tra le facce dell'estrusione, disegnando dapprima il rettangolo esterno, poi con il commando fillet arc ho definito degli archi di raccordo, in cui il raggio diverrà il mio parametro Raccordo, e poi completato questo rettangolo ho fatto un offset, per mantenere lo stesso centro dell'arco, e per poi andare a allineare il tutto con i piani di riferimento.
In questa fase ho scoperto,un po per caso, che è possibile creare più profili concentrici nella base dell'estrusione; riporto qui l'esempio perchè mi è stato chiesto da Stefano di postarlo perchè potrebbe essere una novità di Revit 2012. Probabilmente il software interpreta i profili a ritmo alternato di pieno/vuoto/pieno/vuoto/pieno a partire dalla superficie esterna,e questa immagine ne è la conferma:
In questa fase di "progetto" ho lockato dopo l'align tutti i segmenti al rispettivo piano di riferimento, e fino a questo punto non si sono presentati problemi,a determinata lunghezza di sweep si allungava il solido,e così come per le dimensioni del profilo di base. Ho composto una gif animata per far vedere il corretto funzionamento della parametrizzazione e associazione delle dimensioni:
Come si vede il profilo è ancora di colore magenta,quindi nulla di definitivo ma sono solo in fase di editing della geometria base,però ho la dimostrazione che sul piano ortogonale alla vista le associazioni funzionano. Clicco sulla V verde per rendere definitiva l'estrusione. Il passo successivo è quello fondamentale ai fini del corretto funzionamento in ottica della creazione di una famiglia nidificata,e la fonte di tutti i miei problemi,ovvero la gestione del parametro angolare.
Come detto inizialmente avevo stabilito da subito una linea guida a cui associare il parametro angolare, e fissati tutti i vincoli tra i piani che definiscono la geometria e la geometria stessa avrei potuto ruotare il mio oggetto tramite parametro ( ricordo che tramite estrusione semplice non sarebbe successo perchè l'estrusione esige come piani di riferimento quelli globali,e non creati da utente). Nel caso in cui io avessi fatto tutto correttamente avrei dovuto avere la mia rotazione perfettamente stabilita da parametro,ma invece mi si è posto davanti questo:
A differenza dell'errore che mi capita di solito, in cui mi viene detto Constrain not satisfied, in questo caso mi si pone un errore riguardante le dimensioni. Ragionandoci su ho capito si che il problema era di natura geometrica più che vincolare, infatti nell'immagine seguente cerco di spiegarvi il motivo per cui non avveniva la rotazione:
Le linee nere sono quelle che definiscono il mio solido nel momento in cui avviene lo sweep. Io ho vincolato la mia geometria a questi 4 piani, più quello ortogonale come direzione di sweep. Nel momento in cui io applico una rotazione con come asse di riferimento il piano inferiore, le coordinate cartesiane dei 2 punti superiori (e anche degli altri 4 dall'altro lato del solido) variano. Le ascisse, lungo l'asse orizzontale, non variano come spaziamento, mentre invece le ordinate SI'! In questo caso il valore delle ordinate diminuisce,come potete vedere dalla figura,per cui se rimuovo quel vincolo dovrebbe funzionare tutto, non resta che provare.
Come si può vedere dall'immagine soprastante il parametro angolare funziona, e anche il parametro orizzontale in quanto correttamente allineato ai piani, ma il parametro di altezza dello scatolato non è correttamente associato, o meglio, è associato al piano,che non è più associato allo scatolato.
4 - Nidificazione di pilastro, travi e scatolato
Anzichè andare a definire subito la famiglia pannello di rivestimento e il giunto che unisce travi con scatolato,voglio prima andare a stabilire i parametri che collegano tra di loro le dimensioni reciproche dei miei elementi fondamentali, anche perchè la mia "croce" composta da pilastro,travi e scatolato andrà a ripetersi per una determinata lunghezza POI da definirsi.
In questo caso occorre fare molta chiarezza sulla composizione dell'opera. Come al solito è necessario fare prima luce su quale sia la natura dell'opera,e su come si andranno ad articolare i vari parametri tra di loro.
1 - Unione pilastro con le travi
2 - Unione scatolato alla composizione pilastro-travi
Il lato meccanico della procedura lo lascio a dopo, una volta spiegato lo sviluppo mentale, in particolare l'aspetto trigonometrico legato alla disposizione dello scatolato. Per evitare di andare a "sporcare" una famiglia componente preferisco creare una famiglia ex-novo, con template Generic Metric Model; importo dapprima il pilastro e poi dopo le travi. Le vado a disporre in linea di massima come le voglio io e dopo gestisco il rapporto che esse hanno con i piani di riferimento e relativi parametri, andando a stabilire un parametro per la distanza delle travi dal piano di riferimento tangente alla superficie superiore della trave di colmo, un parametro per la lunghezza di estrusione della trave ortogonale al pilastro,e stabilendo due vincoli tra la trave che correrà in senso longitudinale e quella normale al pilastro. Il passo successivo sarà quello di andare a vincolare in modo assiale lo scatolato con la trave, con lo spigolo inferiore dello scatolato tangente a quello superiore esterno della trave. L'immagine sottostante l'ho fatta per cercare di riassumere in modo più chiaro possibile l'iter trigonometrico che porta al collegamento tra le travi di bordo e quelle di colmo senza l'utilizzo di vincoli tra di esse,ma solamente tramite risoluzione matematica.
Descritto il ragionamento per l'applicazione dello scatolato sulla mia "croce", non resta che farlo!
Comincio pertanto andando a definire come annunciato una famiglia Generic Metric Model, e carico in essa la famiglia pilastro.
NB: Non c'è bisogno di creare nessun parametro condiviso nelle sottofamiglie,tipo pilastro,trave, a meno che non mi servano per l'abaco e i computi finali; per la parametrizzazione di una famiglia nidificata basta andare ad associare ai parametri delle famiglie locali i parametri della famiglia hostante,a seconda della necessità.
Se nella famiglia locale ho creato il mio oggetto ruotato in un certo modo rispetto ai riferimenti globali, questo manterrà l'orientamento,per cui diventa necessario ruotare nella vista desiderata l'oggetto secondo necessità. Importo il pilastro nella vista Reference Level, passo alla vista prospettica frontale e creo un piano orizzontale,al quale poi andrò ad associare un parametro definito come PNSL Altezza pilastro. Clicco su Edit Type per passare ai parametri del pilastro,e nel parametro che definisce l'altezza di estrusione associo il parametro della famiglia hostante PNSL Altezza pilastro. In questo modo modificando dal pannello parametri il valore di altezza,questo andrà a modificare localmente il valore di estrusione del pilastro.
Definisco un piano passante per l'asse del pilastro,in modo da fare eventuali associazioni ad esso in futuro. Carico la famiglia Trave Acciaio HEA Orizzontale, e la posiziono approssimativamente come da me desiderato, dopo averla ruotata di 90°.
Mi sono reso conto sulla mia pelle che è necessario un grande rigore nell'ordine di assegnazione dei piani, perchè basta un'assegnazione sbagliata come ordine che è compromesso tutto il funzionamento parametrico della struttura. Per cui elenco di seguito, passo dopo passo,tutte le assegnazioni che ho fatto:
1 - Creo un piano orizzontale
2 - Creo la quota tra il piano e il livello 0.
3 - Creo un parametro definito come PNSL Distanza dal piano di colmo dalle travi e lo associo alla quota
4 - Allineo il bordo inferiore della trave al piano di riferimento ( NB: Click prima sul piano che fa da host e poi sull'oggetto da vincolare ad esso)
5 - Entro nelle proprietà della famiglia locale e al valore di estrusione associo il parametro del pt.3
6 - Creo un piano di riferimento verticale
7 - Creo la quota tra il piano verticale e il bordo esterno del pilastro
8 - Creo il parametro Lunghezza braccio e lo associo alla quota
9 - Associo il piano di riferimento al bordo esterno della trave
10 - Allineo il bordo inferiore della trave longitudinale al bordo superiore della trave trasversale e lo locko
11 - Allineo il bordo esterno della trave longitudinale al piano di riferimento verticale,che è allineato al bordo esterno della trave trasversale
12 - Posiziono la trave di colmo in asse con la punta del pilastro ( fissando l'equidistanza tra due assi esterni alla trave di colmo e l'asse principale) e allineo il bordo inferiore con il piano di riferimento del pt.1
13 - Creo un piano di riferimento orizzontale e lo allineo al bordo superiore della trave di colmo
14 - Creo un piano di riferimento orizzontale e lo allineo al bordo superiore delle travi di bordo
15 - Creo un parametro di tipo Istance - Reporting Parameter , al fine solo di poterne leggere il valore e poterlo utilizzare per il posizionamento dello scatolato. I reporting parameter non sono editabili e sono solo utilizzabili come output.
16 - Creo la quota da un piano all'altro e vi associo il parametro.
Qui sotto si può vedere una gif animata della corretta parametrizzazione della struttura fino a questo punto.
Riflettendoci a posteriori forse ho fatto male a vincolare le travi longitudinali fin da subito perchè poi quando andrò a fare l'array della mia croce verranno ripetute pure le travi longitudinali, ma in questo momento non so come altrimenti potrei legarle visto che gli scatolati e la copertura poggiano per forza sulle travi longitudinali.
17 - Importo lo scatolato, lo ruoto in modo che sia simile alla posizione da me richiesta
18 - Passo alla vista laterale e creo un piano di riferimento orizzontale
19 - Allineo il piano di riferimento orizzontale con il bordo superiore della trave longitudinale
20 - Allineo il bordo inferiore dello scatolato obliquo con il piano di riferimento
21 - Torno alla vista frontale e creo due parametri
a) uno che stabilisce la lunghezza di estrusione secondo il teorema di pitagora,con la formula =sqrt((PNSL Y Distanza trave di colmo da bordo non report ^ 2) + (PNSL Lunghezza braccio ^ 2))
b) uno che stabilisca l'angolo dello scatolato in base alla lunghezza dei cateti di riferimento,secondo la formula =90° - atan(PNSL Lunghezza braccio / PNSL Y Distanza trave di colmo da bordo non report) NB :Ho dovuto usare l'accorgimento 90° - ecc, perchè avendo io inserito il mio oggetto sul reference level anzichè in prospetto ho dovuto poi ruotarlo,perdendo l'angolo originale anche se è solamente ruotato di 90°.
Faccio le prove modificando i parametri,e modificando il parametro lunghezza braccio questo è quello che ottengo:
Come vedete funziona, e secondo i vincoli geometrici che avevo imposto! Chiaramente dal punto di vista costruttivo ci sto ancora lavorando, è molto il tempo che ci sto mettendo a far quadrare tutto dal punto di vista parametrico che al mio attuale stato abilità pratica con il software mi sento molto soddisfatto già di questo risultato! Purtroppo devo aver sbagliato qualche posizionamento dei vincoli o allineamento dei piani con gli oggetti perchè andando ad alterare il parametro che caratterizza la distanza altimetrica tra la trave di colmo e quella di bordo il programma mi dice Constrain not satisfied, ma lascio la risoluzione del problema a domani.
EDIT: Ho rimosso il vincolo indicato dal programma e questo è il risultato!
Immagino la rimozione del vincolo forzatamente così abbia comportato qualche danno che ora non riesco a individuare, ma è probabile si sia trattato di un caso di eccessivo vincolamento,per cui potrebbe non crear danni. Buonanotte!
Rieccomi, ho affinato l'appoggio dello scatolato sulla trave di colmo andando a creare un parametro aggiuntivo; tale parametro è associato alla quota che va dall'asse del pilastro al piano di riferimento tangente alla superficie esterna di quest'ultimo. Questo avviene perchè io andrò ad aggiungere nel parametro caratterizzante l'estrusione dello scatolato un valore definito come (PNSL Metà parametro / cos(PNSL Angolo scatolato arctan). Ho utilizzato come reference per imparare la sintassi corretta il sito della autodesk stesso, http://wikihelp.autodesk.com/Revit/ita/2012/Help/0000-Manuale_01/2654-St... , per ottenere il seguente risultato.
Ho tribolato un pochino riguardo lo specchiamento dello scatolato dall'altro lato rispetto all'asse del pilastro, perchè giustamente non manteneva l'assegnazione al piano in quanto vincolo globale e non intrinseco alla famiglia. Ho scoperto che è possibile, se è stato precedentemente creato un piano di riferimento, allineare il bordo dello scatolato con lo stesso piano di riferimento visibile nella vista laterale, in quanto è un piano bidimensionale ma visibile nello spazio.
EDIT: Purtroppo devo tornare all'università, ed è da un po di ore che cerco su internet se sia possibile associare la lunghezza totale della matrice a un parametro dimensionale...Sono riuscito a impostare come parametro il numero totale di pilastri da inserire nella matrice,ma non la lunghezza,qualcuno può aiutarmi?
Eureka! Nella famiglia Generic Metric Model non riesco a impostare come parametro la lunghezza dell'array, ma ho risolto andando a nidificare ulteriormente la famiglia pensilina all'interno di un nuovo Generic Metric Model Line Based!
Essendo il template basato su una linea, ha al suo interno una proprietà intrinseca per cui l'unico parametro "esportato" nel progetto sarà la lunghezza, ovvero punto iniziale e punto finale ( probabilmente posso posizionare i due punti nelle coordinate x,y,z e non solo x,y ) .Ho posizionato la linea di riferimento esattamente in asse con la mia pensilina, e ho provato a verificare se la lunghezza di estrusione è stata correttamente associata al parametro lunghezza del mio template.
Ho salvato la famiglia, l'ho lasciata nella categoria di appartenenza,e ho aperto un progetto di prova per verificarne la corretta editabilità. Come potete vedere si può vedere il corretto funzionamento nella gif sottostante.
Il post iniziale,riguardante la stazione Termini, lo lascio a questo stato, e aprirò un nuovo post prossimamente per riprendere l'argomento.
Se qualcuno avesse domande in merito vi lascio allo spazio dei commenti.
Marco Vanetti
Allegato | Dimensione |
---|---|
Scatolato.rfa | 224 KB |
Trave Acciaio HEA orizzontale.rfa | 228 KB |
Trave Acciaio HEA.rfa | 248 KB |
3 - Copertura Termini - Pilastri estrusi.rfa | 240 KB |
3 - Copertura Termini - Travi estruse.rfa | 248 KB |
PENSILINA.rfa | 964 KB |
Pensilina Line Based.rfa | 664 KB |
PENSILINA.rfa | 552 KB |
Commenti
spazio aumentato!
ciao Mugen
lo spazio sul server è stato appena aumentato - prova subito!
leggi le specifiche della consegna, miraccomando!
saluti,
S.C.
per il volume, fai "computo dei materiali"
invece che schedule, fai "material take off"
e vedrai apparire magicamente il volume....
Grazie della risposta
Grazie della risposta professore, purtroppo però sto avendo parecchie difficoltà perchè temo,e non ne sono sicuro, di non avere l'icona del create panel nel mio layout.
http://i42.tinypic.com/2e18xw1.jpg
Come può vedere dalla mia immagine manca questa icona che vedo in questa pagina:
http://cad-notes.com/2009/10/creating-schedule-from-revit-model/
Invece ne approfitto per chiederle se sto andando fuori tema,perchè ho deciso di cambiare rispetto alla continuazione del gruppo solaio+pilastri per testare un po meglio la potenzialità del software,ma se sto andando oltre oppure non rispondo a requisiti mi fermi subito!
il software non va testato
caro Mugen,
"testare la potenzialità del software" è un campo pericoloso:
siamo sicuri che ci interessi?
Ne riparliamo a lezione, è un tema importante, che ho visto
anche in altri post, dove si volevano sperimentare nuovi modi
di modellazione. Ok ma modellazione rivolta a cosa?
A cosa vi sarebbe servito modellare molto durante il workshop?
Il tema del corso è che i parametri non sono solo geometrici,
sono ANCHE geometrici.. ne parleremo diffusamente sabato.
Quindi ottime intenzioni e bellissimo post, al solito,
ma sulla base di queste suggestioni (poche) ti invito
a "ricollocare" la tua consegna in chiave di un oggetto
della serie - Hai letto l'articolo di Cache?
http://architettura.it/extended/20040214/index.htm
--
a presto,
S.C.
Mi sono espresso male
Professore innanzitutto la ringrazio per l'appunto doveroso, tuttavia temo di essermi espresso male.
Probabilmente dalle mie parole sembra che il mio voglia passare come un tentativo di modellazione come un'altro, ma non è mai stato questo il mio scopo, altrimenti sarei rimasto nell'ambito di software non parametrici. La mia intenzione è solamente quella di prendere ispirazione dalla modalità in cui è stata concepita la copertura della stazione Termini, ovvero come applicazione in successione di un profilo tendenzialmente curvilineo per andare a definire una forma grande e suggestiva, perchè è questo lo scopo di quel tipo di architettura penso. Mi è piaciuta molto l'idea del ripetersi della successione pilastro-trave per tutta la lunghezza dell'atrio, ma questo non ha mai implicato per me la volontà di copiare questa costruzione per permettermene la modellazione.
Dapprima io intendo modellare la copertura secondo lo stesso principio,e magari anche con la stessa forma, per poi andare a variare la proporzione al variare della forma della copertura. Io vorrei associare in qualche modo una linea curva al prospetto frontale dell'edificio anzichè un semplice piano di riferimento, in modo che al variare di questa copertura vari anche la disposizione delle travi. Le uploado un esempio della mia concezione,che poi andrò anche a inserire nel post:
Questa immagine grezza rappresenta la mia concezione iniziale,in cui i pilastri,che già precedentemente avevo parametrizzato con parametro altezzavariabile, hanno medesime altezze. Le linee nere rappresentano il profilo curvilineo estruso, mentre la linea rossa è la linea che ho citato poche righe fa,una sorta di linea di controllo.
In questo caso si può capire come la mia volontà sia,tramite questa linea di controllo, o qualcosa di simile, di modificare tutta la struttura in relazione a questo, non andando a modificare il profilo della trave,ma la disposizione come l'altezza dei pilastri si! Voglio inoltre collegare il parametro altezza del pilastro a un valore di bend, per cui un pilastro più corto avrà una torsione (in proporzione all'altezza) maggiore. Se in tal caso sbaglio nell'approccio alla consegna e al parametrico non esiti a dirmelo! Le ho scritto questo post perchè penso sia più un problema derivante dalla mia insufficiente descrizione.
Tra l'altro la questione si collega proprio all'articolo che ci ha suggerito che ho letto qualche giorno fa; il problema è nella natura intrinseca del mezzo inteso come tale, che sia il software che sia il linguaggio. Tuttavia mi dissocio da Cache per certi punti, soprattutto per quello che ai miei occhi è un suo esagerare con l'attaccamento dell'uomo al mezzo, cosa che lo porta a una deformazione della concezione. Secondo me dapprima deve per forza avvenire una concezione. e sarà pura,senza il limite del mezzo, dettata da input, perchè la mente umana come la natura in generale sono fatte in questo modo, poi segue il mezzo di espressione, e anche di lavorazione chiaramente! Per cui il consiglio di fondo che approvo è la necessità di una mente elastica e lungimirante, che è anche l'unica invariante che accomuna tutti i filosofi-scienziati descritti nell'articolo. Quindi procedo come intuito, con un itinere fatto di input-output basato sulla realtà, non sul software che per quanto ponga l'utente nell'ottica corretta,rimane pur sempre un mezzo del mezzo secondo me! L'ideale sarebbe di avere una mente completamente distaccata dal programma e di procedere in completa simbiosi con esso,senza subirne rallenamenti e soprattutto limiti.
Mi scuso per la prolissa risposta ma spero sia esaustiva! Intanto procedo con l'editing delle famiglie!