Sono tornato ad utilizzare la famiglia del post http://design.rootiers.it/2012/node/1199 con l'intenzione di migliorarne il comportamento anomalo dovuto ad un errore all'interno della formula che avevo stabilito come condizione.
L'errore consisteva nel dire al programma che se il valore di rotazione era inferiore a zero, Revit doveva rappresentare quel valore come + 0.2, il che rappresentava un salto improvviso all'interno della funzione sinusoidale abbastanza fastidioso. L'immagine seguente mostra la formula all'interno della quale stava l'errore.
Lasciando alla funzione sinusoidale di scorrere senza interruzioni l'andamento della stessa è fluido
Le immagini che seguono mostrano come la famiglia presenta un andamento più fluido di quella precedente (nella prima immagine la nuova famiglia è quella a sinistra, mentre la seconda immagine mostra l'andamento precedente e la terza il nuovo andamento).
Qui si vede nettamente il "salto" di cui parlavo
Qui l'andamento è fluido
In questa fase ho messo fianco a fianco i due modelli di facciata per vedere che ombra producevano: il nuovo modello (quello a sinistra) apparentemente sembra ombreggiare di più di quello precedente, ma questo è dovuto semplicemente al punto in cui si prende la funzione, vuol dire che entrando nella stanza seguente ci sarà una illuminazione maggiore nel nuovo modello e minore in quello vecchio.
La grandezza dei pannelli mi sembrava esagerata, quindi ho deciso di variare il parametro di tipo "scala form h" per diminuire l'ampiezza della funzione e quindi anche la larghezza dei pannelli, passando dal valore 0,5 a 0,1.
L'ombreggiatura della pannellatura sembra aumentata ulteriormente e questo mi spinge a pensare che questi pannelli possano essere semiopachi, in modo da far passare della luce.
A questo punto era però importante riuscire ad estrarre le dimensioni di larghezza di ogni pannello, visto che in questo caso l'altezza dei pannelli è sempre uguale. Nel primo tentativo mi sono affidato direttamente ad un parametro condiviso>istanza>rapporto, chiamato "larghezza new", che mi andava a calcolare direttamente dal punto adattivo 1 al punto con l'offset dettato dal parametro di istanza "h rotaz pannello"
Tuttavia andando a caricare la nuova famiglia nel progetto ed impostando negli abachi il conteggio del parametro di rapporto "larghezza new" ho scoperto con orrore che Revit non è in grado di calcolare distanze prese da un punto adattativo ad un punto "figlio"!!!
Ho pensato quindi che il teorema di Pitagora potesse tornarmi utile in questa situazione, tuttavia ero costretto a porre un parametro di rapporto ad un elemento "figlio" dei punti adattativi per conoscere l'ipotenusa, sia che volessi sfruttare la base e l'angolo, sia che volessi sfruttare il lato di altezza della rotazione. Visto che ero consapevole della scarsa possibilità di successo di entrambi i metodi ho scelto quello più facile, andando a mettere un parametro di rapporto all'altezza della rotazione, chiamandolo "h rotaz".
Per sfruttare la formula trigonometrica ho per fortuna avuto bisogno di impostare un parametro di rapporto fra i punti adattativi 1 e 2 chiamato "larghezza base" che mi sarebbe anche servito per sapere se ci stavano altri problemi (visto che almeno questo sarebbe dovuto apparire sicuramente negli abachi).
Per calcolare la larghezza di ogni singolo pannello ho quindi utilizzato un calcolo all'interno dell'abaco, un "valore calcolato", un valore che sfruttava chiaramente i due parametri di rapporto che avevo importato. Questo valore calcolato è stato chiamato "largh single panel".
Aprendo le schedule mi accorgo che non solo i valori non sono calcolati (presentano un valore uguale a zero) ma che sono meno del numero di pannelli presenti all'interno del progetto!
Ho cercato in ogni modo di rimediare a questo problema ma non ci sono riuscito: nelle prossime immagini mostro tutte le impostazioni che ho dato all'abaco di calcolo.
Manualmente andando nella famiglia e variando il numero del pezzo posso conoscere la larghezza di ognuno ma speravo di riuscire a rendere tutto più agevole facendo comparire questi valori all'interno dell'abaco, non riesco a capire dove sia il problema, almeno il parametro di rapporto larghezza base dovrebbe funzionare perchè è identico a quello con il quale avevo calcolato in un post precedente ( http://design.rootiers.it/2012/node/1192 ) la lunghezza dei pannelli della Camera Obscura..
P.S.
Da un pò non riesco più a caricare i file delle famiglie perchè sono troppo pesanti, chiedo scusa per l'inconveniente
Commenti
Ciao Matteo! ricontrolla bene
Ciao Matteo!
ricontrolla bene i passaggi che hai fatto quando hai impostato i parametri condivisi di rapporto, perchè Revit TI PERMETTE di estrarre all'interno degli abachi i dati relativi la distanza tra un punto adattativo e un reference point "figlio"...quindi credo che il problema sia un altro.
Non potendo vedere il tuo file non riesco a capire dove sia l'errore...prova a ricontrollare!