British Museum's node in Generative Components

The node of the British Museum is very simple, has an exagonal form and studying the design of the roof I think that the angles between the beans don't change because all panels have the same size. The only one variable of the node is the angle which creates a curvature of the roof.

 

I'm trying to model this node in GC:

I begin placing seven points, one for the center of the node and others for the beams. Those nodes create an exagon.

 

 

 I create the beams of the node using the points

 

 

 

 

 

 

 

 

 This is the top view of the face's node.

 

 

Now I have the problem to create a variable which express the angle for the variation of the roof. To variate this angle I think is just possible to change the two face's dimensions. I'll try it and I'll write here the results.

commenti

Ho scritto nel Forum di bentley.com spiegando la mia ipotesi di come funziona il nodo in questione, e chiedendo di come poter variare le dimensioni delle superfici. Speravo inoltre in qualche intervento che confermasse o il contrario la mia ipotesi, per ora ho avuto una sola risposta che mi ha illuminato di come poter procedere nel modellare il nodo.

I wrote on forum of bentley.com asking advising about the creation of this node. I restarted from this suggestion (thank you Jens Sauer!)

http://communities.bentley.com/forums/thread/58213.aspx

----------------------------------------------------------------------------------------------------------------------------

transaction modelBased "Add radius"
{
feature Radius Bentley.GC.GraphVariable
{
LimitValueToRange = true;
RangeMaximum = 10.0;
RangeMinimum = 1.0;
RangeStepSize = 1.0;
Value = 5.0;
}
}

transaction modelBased "Add circle01"
{
feature circle01 Bentley.GC.Circle
{
CenterPoint = baseCS;
Radius = Radius;
Support = baseCS.XYPlane;
}
}

transaction modelBased "Add point01"
{
feature point01 Bentley.GC.Point
{
Curve = circle01;
EndBayFraction = 0;
NumberOfEquallySpacedBays = 6;
StartBayFraction = 0;
}
}

transaction modelBased "Change circle01"
{
feature circle01 Bentley.GC.Circle
{
Visible = false;
}
}

-------------------------------------------------------------------------------------------------------------------------------

ho rimodellato quindi il nodo e sto cercando di farlo diventare un "generative component".

posterò immagini al più presto e credo che continuerò a rompere le scatole sul forum

Caro Matteo,

ho abilitato le transaction, ora puoi spedire GCT.

Dovrei riuscire a farti avere materiale sul nodo del British presto. Stai analizzando quello della vela con il nuovo materiale?

spero di vedere presto una tua "population" su una superficie.

Stefano

p.s.
Ho anche introdotto i tag "GenerativeComponents" e "tesi" che dovresti usare nei prossimi post.

p.p.s.
posterei in un nuovo post il tema della rimessa barche, appena hai qualcosa. 

ecco alcuni screenshot fatti durante la creazione del nodo:

questa è la situazione dopo aver inserito lo script consigliatomi nel forum della bentley, consiste in una circonferenza (nell'immagine è nascosta) con centro nel "BaseCS" e una serie di 6 punti su di essa. Ho quindi proseguito a creare la prima superficie di base del nodo.

Here some pictures about the creation of this node.

Per creare le aste del nodo ho messo dei piani sulle linee create in precedenza, in questo modo trovo delle "direzioni" perpendicolari alle linee che mi saranno utili per disegnare le basi delle aste.

I placed planes on the lines so I can create a feature "direction" and make the node's beams

 

 

 

 

a questo punto creo il corpo centrale del nodo unendo tutte le linee delle aste

I create the central part of the node

 

 ripeto le stesse operazioni per la faccia superiore

I create the other node's face with the same method

 

 

 

 

 questo è il nodo con le varie configurazioni.

 

 Ho fatto diventare questo nodo un generative component ed ho cercato di popolare una "BSplineSurface" con questi nodi.

I created a BSplineSurface and I populated this with my node by a grid point.

 

 

  

 

 

come si può notare dalle immagini, solo due file di nodi vengono inserite bene, le altre non so per quale motivo ma GC impazzisce e le storpia, altro problema è che non so come far variare automaticamente le variabili dei nodi così da avere i cambi di curvatura...

The population is correct only for two lines of nodes, others are warped...

Provo ora a chiedere aiuto anche nel forum...

Spedisco inoltre i file del nodo e quello della superficie (grazie Stefano!!)

Ps. si, ho visto il nuovo materiale sulla vela e appena possibile porto avanti anche quel nodo. 

Come mi è stato consigliato nel forum credo che dovrò ricominciare a modellare il nodo partendo per ora semplicemente dal 2d, e quindi lavorare sulle connessioni tra nodi sulla superficie. Nella fretta e curiosità di arrivare a vedere un qualcosa di completo ho saltato dei passaggi che sono fondamentali.

Proseguo a studiare il nodo del British, a quanto sono riuscito a capire non è vero che le lunghezze delle braccia del nodo sono tutte uguali, queste variano di lunghezza facendo variare quindi anche l'angolo tra di esse. Ho provato a ridisegnare un nodo tipo in Autocad

nel disegno le braccia del nodo sono tutte diverse mentre gli spessori per ora (per non complicarmi la vita) li ho fatti uguali. La cosa che non riuscivo a capire è quale deve essere la direzione delle aste partendo da un nodo con quella configurazione. In questo caso le aste hanno spessori evidentemente diversi ma non ne sono sicuro se nella realtà sono così accentuati. Per ora ho ipotizzato che la direzione delle aste è data dalla direzione del segmento tra il centro del nodo ed il punto medio della linea congiungente le braccia...è molto contorto a dirlo posto un pò di immagini da prese da Generative Components.

in questo modo, variando la lunghezza delle braccia varia l'inclinazione delle aste.

Fin qui, è come ho pensato e modellato il nodo. Sono partito dalle variabili delle lunghezze delle singole braccia del nodo per poi poter avere la direzione/inclinazione delle aste.

Il problema che si presenta ora è come fare in modo che la variazione delle lunghezze delle braccia sia automatica in base ai lati dei poligoni che formano una qualsiasi superficie.

Purtroppo non avendo ricevuto input dal forum della Bentley sto cercando di risolvere il problema da solo...

ho ripensato a come ho modellato il nodo, forse invece di cominciare da delle variabili di lunghezze delle braccia, che devono essere impostate all'inizio, si dovrebbe cominciare dalla "variabile" direzione delle aste, in quanto quella sicuramente sarà data, al momento del posizionamento di tutti i nodi su una superficie, dagli spigoli dei singoli poligoni che descrivono la copertura.

caro Matteo,

credo la tua intuizione sia corretta.
Proverei a lavorarci in 2D, come saggiamento suggerito nel forum Bentley.

Make it simple, magari fai un nodo con pochi angoli e una griglia rettangolare,
per iniziare. In fondo è come per le facciate modellate Revit.

Nel frattempo organizziamo un incontro per parlarne con i nostri matematici,
li hai contattati?

a presto,
Stefano

 

Ho iniziato a modellare il nodo, ovviamente per ora solo in 2D. Documenterò il tutto quando arriverò ad un punto soddisfacente.

Nel frattempo ho anche scoperto un modo per mettere degli elementi su una superficie che siano automaticamente tangenti alla superficie stessa nel punto di applicazione.

Si, sono d'accordo su un incontro con i "matematici", no sinceramente non li ho contattati perchè mi sono  concetrato solo sul nodo senza pensare ad altro...li puoi sentire tu? oppure mando io una mail alla prof. Tedeschini?

A presto

Matteo

non riesco a spedire qualunque tipo di allegato.