Superficie Rigata

In questa esercitazione sono partita dal progetto di Santiago Calatrava La Rioja, Bodegas Ysios (Laguardia,  Álava, Spain), al fine di riuscire a parametrizzare una superficie rigata.

1_Il primo passo è stato quello di creare una famiglia che contenesse un "trilite", costituito da due pilastri a base quadrata e una trave quadrata.

 

2_Ho fissato un'altezza ai pilastri. Attraverso il parametro variazione altezza, aggiungo e sottraggo rispettivamente a ciascun pilastro il valore assegnato al parametro.  Questo è un parametro di istanza, che mi permetterà di modificare singolarmente i vari elementi del progetto.

3_A questo punto ho unito le sommità dei due pilastri attraverso un piano di riferimento inclinato, al quale verrà collegata la trave.

4_L'angolo d'inclinazione del piano di riferimento è definito dalla formula trigonometrica α=arctan(a/b),
ricavata dalla formula nota tanα=a/b, dove a è la variazione dell'altezza e b metà della luce.

Creo il parametro, selezionando Angolo nellan finestra tipo di parametro.

Inserisco la formula nel parametro.

5_Blocco l'altezza della trave nell'estrusione (altrimenti non rimane fissa quando vado a variare l'angolo).
 


6_Inserisco la famiglia in un nuovo progetto.

7_Non avendo lo script che mi permette di modificare il parametro variazione altezza seguendo una funzione (associando cioè valori di ordinata di una curva), eseguo il processo manualmente, assegnando a ogni copia della famiglia un valore diverso al parametro.

 

8_Possibili variazioni:

andamento sinusoidale (diversi valori assegnati al parametro d'istanza)

aumento della luce tra i pilastri (diversi valori assegnati al parametro di tipo)

diminuzione dimensioni struttura (diversi valori assegnati al parametro di tipo)

e altro ancora...

Valeria Vitale

Gruppo di lavoro:
Valeria



Script per il controllo della "ripetizione variata"

cara Valeria,

come già visto in parte con Flavio Graviglia,
Stefano Guarnieri ha completato la implementazione dello script per il tuo caso,
che prende la famiglia (ricreata da Stefano, mancando nel tuo post la tua), le copia
e ne varia i parametri.  Puoi studiare il modo di funzionamento anche guardando i
post passati, si tratta dello stesso codice della Lampada Nagashima e dell'esempio
Nuova Caledonia (sito 2010)

Ecco uno stralcio del codice:

--
  public void santiago()
        {
            string FileName = @"C:\Documents and Settings\Gguarnieri\Documenti\Desktop\calatrava1\FamCalaValeria.rfa";
            string NomeTipo = "tipo";
            FamilySymbol tipo = null;
            if (!Document.LoadFamilySymbol(FileName, NomeTipo, out tipo))
            {
                throw new Exception("problema riscontrato nel caricamento della famiglia");
            }

            int i;
            int n = 79;
            for (i = 0; i <= n; i = i + 1)
            {
                XYZ position = Document.Application.Create.NewXYZ(0.0, i * 0.5, 0.0);
                FamilyInstance instance = Document.Create.NewFamilyInstance(position, tipo, StructuralType.NonStructural);
                Parameter angle = instance.get_Parameter("VariazioneAltezza_c");
                double t = i / n;
                //angle.Set(-2.0+(4.0*i/n));
                angle.Set(2.0 * (Math.Cos(4.0*(Math.PI)* i/n)));
            }
        }

    }
}

--

Allegate NEL TUO POST le famiglie e il progetto relativi.

Saluti,

 

Stefano

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer