Esercitazione 3:
Per iniziare ho creato una famiglia (AP - child) si tratta di fatto di un montante che può cambiare all'occorrenza grazie ai parametri instance, quindi il tipo è uno solo, che però può subire infinite variazioni: in questo caso può subire variazioni solamente in altezza essendo Altezza_Var_F l'unico parametro INSTANCE della famiglia. La larghezza non ho bisogno di cambiarla quindi non le attribuisco alcun parametro ma la indico semplicemente con una quota.
Quindi, vista FRONT di AP - child: il parametro instance Altezza_Var_F dopo l'inserimento del figlio nella madre, varierà a seconda del parametro s_Larghezza_M (quindi della larghezza della madre), avrà di fatto la stessa dimensione di s_Larghezza_M.
Adesso incerisco la famiglia "AP - child" in "AP - Madre", la "madre" inizialmente è una semplice estrusione che possiamo assimilarla a un solaio, e intorno ad essa vengono messi i figli, quindi i montanti verticali. Il parametro "Spessore_M" lo possiamo quindi considerare come lo spessore del solaio, il quale dipende dal parametro "s_Larghezza_M" con un rapporto 1:15. Il parametro s_Larghezza_M è un parametro condiviso, quindi comparirà anch'esso nella schedule, mentre Profondità_M è semplicemente un parametro di TIPO.
C'è stata la necessità di creare dei cugini per completare la struttura nel file assembly!!! Quindi questo è il primo cugino! il quale non dipenderà dalla madre ma solo da alcuni parametri globali inseriti nel progetto (assembly), dai quali anche la madre dipenderà... Come si può vedere dall'immagine, in questo caso i parametri instance sono "s_Altezza_C" ed "s_Profondità_C" i quali sono anche dei SHARED PARAMETERS. Mi servirà in fatti richiamare questi parametri all'interno di una schedule per poterli modificare da lì;
"AP - cugino" vista frontale: ho deciso che la variazione avverrà verso il basso (solo il piano sottostante a "Ref. Level 0" che io ho creato si muoverà, mentre quello la cui posizione è esattamente "Ref. Level 0" non si può muovere perchè insieme agli altri due piani originali del template "Metric generic models.rft" visibili in pianta definisce l'origine della famiglia e quindi tutti e tre i piani sono bloccati). Solo il piano di riferimento da me creato potrà quinid variare.
Vista Ref. Level: Questo è un scondo cugino che dovrà avere lo stesso spessore della madre, quinid del "solaio" di prima, quindi dovrà avere uno spessore cha ha la possibilità di variare, quindi Spessore_C_2 è un parametro instance così come Larghezza_C2 è anch'esso un parametro instance che dovrà variare a seconda del caso, entrambi varieranno a seconda dei parametri globali che andrò a definire nell'assembly. Mentre l'altra dimensione la lascio uguale a se stessa (7m), non le attribuisco un parametro perchè non deve cambiare.
Successivamente creo un nuovo progetto che sarà il mio file Assembly, in cui vado a inserire la madre e i cugini attraverso il comando Load Into Project:
Questo è il mometo dell'inserimento di AP - Cugino, del primo cugino che verrà montato sui montanti appartenenti alla madre e definirà di fatto la profondità del montante (i figli non essendo modificabili dal file assembly, se non unicamente in modo indiretto, hanno chiesto aiuto ai cugini per avere uno spessore variabile).
Nella schedule posso adesso dare una profondità variabile ai montanti cambiando il valore del parametro condiviso s_Profondità_C (appartenente di fatto alla famiglia AP - cugino che è anche la seconda famiglia da me inserita nel file assembly in dopo l'inserimento della madre).
Questo è il risultato conseguente al cambiamento del parametro precedentemente fatto per ogni pezzo: come si può notare, adesso la profondità è variabile. Anche qui la direzione delle variazioni è stata decisa a priori a partire dl file AP - Cugino (egli può variare dal basso e dalla faccia opposta al montante figlio, quindi non dovrà essere riposizionato in seguito alla modifica del parametro profondità o del parametro altezza).
Quinidi inserisco tutti i parametri condivisi nella schedule.
Dalla vista Sud (vista Front nelle famiglie) usando il comando ALIGN vado a bloccare la madre ad alcuni piani di riferimento; qui blocco i montanti:
Blocco anche la parte inferiore del "solaio:
dopo la creazione di altri piani di riferimento e dopo aver copiato più volte la madre e averla bloccata sia lateralmetne che nella parte superiore; questo è ciò che ne risulta; adesso però voglio connettere i pezzi tra di loro.
Quinid blocco anche ognuno dei cugini nella parte superiore, allineandoli nella parte superiore con i rispettivi montanti di modo che i cugini possano spostarsi insieme alle madri (quindi ai montanti) che sono anch'esse bloccate rispetto al medesimo piano.
Qui sono state aggiunte delle quote nel file assembly a ognuna delle quali è stato attribuito un parametro globale. Ognuna di queste quote lega il piano di riferimento superiore a quello sottostante: Quindi dalle proprietà del file madre si può notare un quadratino grigio sul quale il cursore è posizionato: da lì vado a legare il valore del parametro INSTANCE "s_Larghezza_M" della madre al parametro globale della quota corrispondente.
Come si può vedere, adesso la larghezza della madre (che a sua volta comanda l'altezza dei montanti figlio) è stata correttamente associata al parametro globale "Livello_2_A" in questo caso..
Ripeto il processo per tutte e 5 le madri.
Adesso manca solo il cugino, la cui dimensione in altezza deve essere anche essa associata ai parametri globali Livello_1_A, Livello_2_A... dell assembly, come le madri, di modo che la dimensione in altezza dei montanti figli siano quindi pari alla dimensioni in altezza dei cugini, come se figlio e cugino fossero quindi un solo oggetto... per fare questo i cugini sono anche stati ancorati ai piani che definiscono i vari livelli esattamente come le madri, quindi anche i cugini seguiranno le madri nolla variazione in altezza.
Risultato:
3D Risultato:
Nella schedule adesso l'unico parametro modificabile è s_Profondità, perchè asesso s_Altezza_C (altezza del cugino) e s_Larghezza_M sono comandati dai parametri globali dell'assembly.
Prova di modifica dei parametri globali:
Risultato: modifica avvenuta con successo
Introduzione di una regola per la qualetutti i parametri globali dell'assembly variano in modo NON-proporzionale, in base al valore del parametro Livello_1_A.
Modifica della madre: aggiungo figli tutto intorno alla madre:
Quinid sostituisco nel progetto Assembly:
Ma il risultato non è quello voluto: i figli non hanno seguito l'amplamento di dimensione della madre:
Quindi uso di nuovo align per bloccare i figli aggiunti al piano di riferimento al quale è bloccata anche la madre.
Faccio load into project, ed ecco il risultato:
Il risultato non è ancora pienamente soddisfacente: sembra che i figli volano in aria: quindi creo un secondo cugino che possa diventare la parte di solaio mancante, che possa quindi diventare un estensione del solaio madre.
Eccolo qui il cugino 2, però adesso devo fare in modo che le sue dimensioni possano variare creando anche qui un link tra i parametri globali e quelli instance del cugino 2.
Quindi creo nuovi parametri globali che mi definiscano lo spessore della porzione di solaio che andrò ad aggiungere e lego attraverso un rapporto 1:15 (come nel caso del solaio della madre) ai parametri globali iniziali ai quali la madre stessa obbedisce. --> quindi andrò ad attribuire il parametro globale Spessore_C2x1 al parametro instance Spessore_C2 (del cugino) sempre attraverso il solito quadratino da Properties:
Quindi abbiamo in totale 2 parametri instance: "Spessore_C2" e "Larghezza_C2" a cui andrò ad attribuire i rispettivi parametri globali:
Ed ecco qui che gli spessori cambiano adesso in base ai parametri globali:
Adesso blocco anche i "cugino 2" (che è anche la terza e ultima famiglia che inserisco nel progetto) con il comando align ai diversi reference plane che mi definiscono i diversi livelli del mio progetto, di modo che non solo possano cambiare di dimensione insieme alle madri, ma che si spostino anche insieme alle madri (negli spostmenti in altezza):
Adesso devo bloccare anche lo scorrimento orizzontale: devono scorrere orizzontalemtne insieme alle madri quindi li devo connettereli in qualche modo alla famiglia madre:
Dunque sfrutto un piano nascosto nell'assembly che però è presente nella famiglia madre ed è stato quindi introdotto anche nell'assembly anche se non viene visualizzato; sfrutto questo paino che definisce la larghezza della madre per bloccare il cugino, il quale dipenderà quindi nei suoi spostamenti orizzontali solo ed esclusivamente dalla madre:
Adesso che i Cugino 2 sono bloccati, osservo che il solaio va oltre i montanti, e io non voglio qusto quindi sfrutto il parametro Larghezza_C2 collegandolo ai parametri globali precedentemente creati.
Ho creato dei nuovi parametri globali (Larghezza_C2x1...) che di nuovo dipendono dai primi parametri che ho creato (Livello_1_A, ...), ed esattamente dipendono dalla loro differenza (trovando in questo modo la parte di solaio mancante):
Attribuisco quindi gli ultimi parametri globali che ho creato la parametro instance di cugino 2 che si chiama "Larghezza_C2":
Ed ecco qui il risultato der ridimesionameto del cugino 2 evidenziato in blu:
Questo è il risultato finale renderizzato:
Commenti
StefanoConverso
Lun, 30/04/2018 - 17:23
Collegamento permanente
Interessanti parentele
bello il rapporto tra "cugino" e figlio,
lo hai sfruttato poco, mi pare, dal punto di vista architettonico.
Inoltre, il cugino è appeso sotto al solaio, ma parte troppo in basso,
come potrebbe tenersi nella realtà? Dovresti farlo face based, vedo
invece che non lo è. E' una funzione che abbiamo introdotto proprio
per rendere "tettonico" l'insieme.
Prova a "variare" la tua composizione ragionando in modo tettonico,
parti da chi sostiene, e arriva a chi è sostenuto.
Bravo comunque, processo spiegato molto chiaramente.
un suggerimento: quando mostri immagini "finali", togli l'interfaccia, a quel
punto si parla di archi-tettura