Showing posts with label Force Density. Show all posts
Showing posts with label Force Density. Show all posts

Monday, 6 June 2011

Grasshopper GSA Form Finding Examples

I sat in on the recent Oasys GSA webinar on form finding conducted by Pete Debney, for those that missed it, don't despair.  Here's a recording of it:



I think it's a great resource and introduction/explanation of some of the form finding options provided by the Oasys GSRelax solver.

I also think each of the 3 example models are well suited to a parametric exploration using Grasshopper (using the Geoemetry Gym plugin to exchange the model data with GSA), and I'm posting these definitions here so you can try for yourself.

The gsa relax solver is not included in the standard evaluation license, but you can email them and ask for access to it.  I'm still enhancing the plugin in a few areas, you might see toolbars wander if you run GSA as a background service (ie if you don't have GSA running when you open the grasshopper definition, the plugin will start it in the background for you).  If you do have GSA open and Grasshopper appears to "freeze", activate GSA and close any confirmation dialogs that might appear.

Generating the model with geometric shapes using  BullAnt will be enhanced shortly, as well as any user requests so send them through.  Make sure you have latest GSA and BullAnt plugins from here: http://www.geometrygym.com/downloads and the definitions are derived on the basis of a rhino document being open with metre units.


Force Density form finding of a cablenet bridge.  Grasshopper Definition



Compression Shell form finding using Analysis properties.  Grasshopper Definition



Soap Film form finding of tensile membrane with back stay  Grasshopper Definition

Wednesday, 1 September 2010

Grasshopper Curve Force Density (Great Court Roof Revisited)

First thing to state, I plan to revisit the topology (connectivity) of the curve network to get a better result, so please come back soon and check if it's updated.

I've been adding curve network force density tools into the Grasshopper BullAnt plug-in.  There's progress on using the Great Court Roof as an example.



You can download the Rhino file here and the Grasshopper definition here.

Also possibly of interest is a "reverse" force density where it iterates through the network nodes and repels the neighbouring nodes rather that move the current node, which can be used in some circumstances to produce equal length curves.  Here's one example, although it seems there's lots of scenarios where it's not so successful. I've put a slider on the iteration so you can see it converge on an answer, and it's producing two adjacent loop results so you can compare.



Rhino file here and Grasshopper file here.

Saturday, 10 April 2010

Some Green

Ivan Kiryakov has produced some really stunning work with Grasshopper, and it's nice to see him using BullAnt to produce some of these forms and shapes.  I'm referencing some of the photos into this blog entry, but you should check out his album at http://www.grasshopper3d.com/photo/album/show?id=2985220:Album:56274



Thursday, 25 March 2010

Force Density Relaxing Roofs

Arthur Mamou-Mani posted on the Grasshopper forum (http://www.grasshopper3d.com/forum/topics/tensile-membrane?commentId=2985220:Comment:54158 ) about tensile membranes and Rhino plug-ins that can compute shapes and forms.

I thought the problem looked interesting, and thought I'd see what I could achieve with the new mesh minimal surface tools I've been improving in StructDrawRhino.

You need the latest version of BullAnt (http://www.geometrygym.com/downloads ) and a license file, but you can try this for yourself.
Note, if you altering the inputs such as the control curves, I'd recommend disabling the Grasshopper meshing component temporarily, and then reconnecting it when you want to recompute.

Rhino Model
Grasshopper Definition             

What you find in the basic definition, is that the isolated mesh restraint points produce a very pointed roof, in reality we wish to strength the links along the ridge line.

Here's a revised definition that produces a more desirable result
Strengthened Ridge Line Grasshopper Definition 

Note that the image shows the mesh baked, which helps identify the isocurves or underlying mesh.  Toggling the preview update input can give some insight into how the algorithm is working, at the expense of a slower result.

Sunday, 21 March 2010

Costa Minimal Surface

Force Density (Using the Mesh Vertex Repel command)


Grasshopper Definition     

This definition calls on the ggForceDensity Relax functionality to compute a minimal surface discovered by Costa.  This command doesn't compute minimal surfaces for all mesh, but at least seems to give a reasonable impression for Costa Minimal Surface.

Here's a generic model to also test it.

Grasshopper Definition     

Note, that unless you have a quick computer (or a lot of patience), it's probably worth disconnecting at the Mesh component (or disabling) and previewing the surface if you wish to adjust the sliders for variations.

Arc Poly Curve Extrusion boundary Minimal Surface

Grasshopper Definition

There is also capability to restrain mesh vertex to nominated points, curves and surfaces.  Some examples demonstrating this will be posted soon.

Sunday, 1 November 2009

British Museum Great Court Roof using StructDrawRhino

Another stunning, innovative structure that has inspired similar projects since.  It's a favorite space of mine, especially on a bright sunny day when the shadows and reflections are mesmerising.



Here's some papers, blog posts and links I found to determine how Happolds and Fosters designed this amazing roof.

http://opus.bath.ac.uk/14111/1/ChrisDeakin2001.pdf
http://www.enhsa.net/downloads/publi/con2004/102_Williams.pdf
http://people.bath.ac.uk/abscjkw/

So, now you can try to do something similar yourself using the structural plug-ins for Rhino.  My routines and commands don't follow exactly the description from the paper, but they allow something similar to be created.



To try this for yourself, the input Rhino file can be downloaded from here

I'm currently coding up algorithms for more powerful force density routines to include dynamic relaxation, but in the interim you can try the sdrMeshRepelVertex command to relax a rigid mesh outline with discontinuitys at nodes/vertices for continuing edges.  I used the sdrZigZagCurves command to divide the initial radial lines to generate the starting Grid.

From the starting flat grid, we can use the plug-in command sdrMeshProjectVerts to project the mesh vertices onto the mathematical surface.

Then we start the mesh relaxing process.  The command  sdrMeshRepelVerts uses force density to repel mesh vertex away from their neighbours.  Naked/Free edges/vertex will be restrained.  The more loops or iterations you allow, the better the result you will get.  Note that you can nominate a target surface that will vertically project the vertex back onto the surface (if you don't, the mesh will naturally flatten).  I found the best result was by nominating the balance force option for a number of iterations, and then to run a few loops of the target equal length for edges.

You can then extract the medge edges to curves using the sdrMeshDupEdges command.  By applying a structural profile (I assumed a much larger hollow profile than that used), the plug-in will automatically sweep the centreline curves.



There is also a number of routines in development for form finding and finding minimal surfaces.  Blog posts with worked examples will shortly follow, but if you look at sdrMinShapeMesh function you can try it for your self.  The other sdrMesh.... routines allow manipulation of mesh generated in Rhino to transform it to arrangements more appropriate for analysis/solving.

If you've any requests, ideas or suggestions for these routines (or need more help or other examples), don't hesitate to get in touch.