Wednesday, 30 November 2011

Nurbs To Structural Analysis Profile

At the request of the user, I've advanced the routines to convert arbitrary profiles (including nurbs perimeters) into the structural analysis section profiles capable of approximating this shape.

I've started with GSA, and will look into the other software equivalents shortly.  In GSA the perimeter is defined as a polyline (I have enabled an input to define acceptable deviation from original curve), and properties such as area and inertia are computed from the polyline bounds.

The torsion property is not calculated, so I also enabled a section property modifier component to allow user specification of this value (as well as the others).  There is a means to compute the torsional stiffness using soap film (which was the original reason I started coding mesh inflation), and I'll try to test this approach soon.  If you have any papers or technical explanations/demonstrations of this technique, it can only help accelerate this if you can share it.  Grasshopper definition can be accessed from here.

Wednesday, 23 November 2011

Tributary Areas and Variable Loading

I've finally got some final improvements made to some useful functionality that can save hours of spreadsheet processing (or the like thereof).
I've enabled functionality within Grasshopper to compute tributary areas for nodes contained within a structural grid, as well as generating node loads from varying loading phenomena such as snow drifting or wind pressure.

This algorithm was used (in a more time consuming and specific way) for the 2012 velodrome roof in applying wind pressures from wind tunnel testing advice.  At the time we were still optimizing cable spacing but still wishing to test multiple loading scenarios.  This routine can work out tributary areas for arbitrary grids (based on mid distance from adjacent nodes), grid normals (although load can be applied in a uniform direction if desired) and utilize a varying loading intensity at different locations.  This can be defined (or checked) intuitively from a surface (or polysurface) relative to a reference plane (the local z from datum defines the magnitude of loading pressure).

If you download the models below, you'll see it uses a reference plane from the structure (required for non-planar grids), and the relative position from the loading plane.  I haven't yet developed grasshopper visualization of the generated node loads (it's on my todo list along with boundary conditions, releases etc) so you'll have to visualize in the analysis software.  I also plan to implement face loading for finite elements in a similar manner, and any other suggestions that might arise from users, so don't hesitate to send them through.

Please check the results carefully, I hope you find it useful.  I'm also very happy to assist in applying or testing this with your own applications to projects.
GSA model,  SAP model (others to be added shortly).

Tuesday, 8 November 2011

Grasshopper Mesh to Finite Elements

The ability to convert Mesh from Grasshopper (it could have been generated or imported into Rhino) into finite elements with ability to triangulate quad faces failing shape checks has been in the Geometry Gym plugin for some time.  Recent requests from users recently enabled for the GSA plugin have included orthotropic material generation, nomination of finite element shape acceptance criteria (warning, severe warning, all) and ability to nominate varying orientation and property assignments throughout extent of mesh.  Update from and study this file for GSA, and this file for SAP.

Thursday, 3 November 2011

SAP2000 Point Local Axis

For the Geometry Gym plugin users, remember that I encourage and look forward to receiving suggestions and ideas for improvements and new features to the tools.

Here's a fairly simple one that where identification of node local axis can be straight forward in Grasshopper, but not so easy to do within the Structural Analysis software.  This user wants to be able to apply a local coordinate system to the points (nodes) generated to SAP2000.

You can try for yourself here Download

Sunday, 16 October 2011

IFC MEP and Reinforcement

A quick post to highlight recent improvements to importing MEP and reinfocement data from IFC files, as well as Grasshopper Generation of these items.  Still lots of improvements I'd like to make on this front, so please get in touch if you have particular requests.

Tuesday, 11 October 2011

Rhino/Grasshopper to Tekla

In the past two months I have been progressing a Grasshopper plugin that enables direct exchange of data between Rhino/Grasshopper and Tekla.  Tekla is a quite compehensive BIM application, although I have initially concentrated on the structures aspect for Fabrication.

This has been driven by a couple of projects where the steel work has been modelled in Rhino to fabrication detail and precision, either by python scripting or manual modelling.  Rhino does not presently have direct extraction to NC format for fabrication, so a means to automatically extract this information from Tekla without duplicating modelling efforts has many benefits.

As part of this, I have been advancing some "reverse engineering" components to convert rhino polysurfaces (that do not contain "explicit history" information such as profile extrusion, end conditions such as miters or cut parts, or drilled hole locations.  This can be implied from the features that the polysurface (brep) has.

I still find Grasshopper a very convenient means to assign attributes such as steel grade, finish, part/assembly numbering etc, so the Tekla plugin is only a GH addon at this moment.  I am happy to assist with explaining/applying this tool to your project if it is of interest.

To download the installer, please visit

As part of a presentation I will make later this week to the Light Weight Structures conference in Sydney, I prepared a grasshopper definition to emulate the primary structure of the velodrome (which owes a lot of it's success to the generative approach taken by all designers).

Here's another example model that you can try for yourself. Download

Tuesday, 6 September 2011

Mesh False Color

A new component added to BullAnt for generating mesh with false color from a list of values.

Grasshopper Example

Friday, 26 August 2011

IABSE-IASS Symposium 2011

Taller, Stronger, Lighter

The 2011 IABSE-IASS Symposium is approaching very quickly now, and having received the program, I thought I would highlight a couple of recognized peers (real world and online) that might be of interest to followers of this blog.

Chris Wise, Expedition Director is presenting on the London 2012 Velodrome on Tuesday 20th at 3pm.  This project (shortlisted for the Stirling Prize) was extensively modeled in Rhino using Geometry Gym plugins to exchange with Oasys GSA.

Michael Drobnik is presenting From Image to Parameter. Double Curved Canopy Muenchner Freiheit at 4pm.

Following soon after at 5pm is Gennaro Sennatore presenting Pumping vs. Iron Large Scale Adapative spatial Structures for whole-life energy savings.

Wednesday the 21st has John Harding presenting Structural Form Finding using Zero-Length Springs with Dynamic Mass at 10am

My paper Generative Models Utilized for Superior Design Development is scheduled for 12:15pm

Thursday the 22nd, Milos Dimcic is presenting Structural Optimization of Free-Form Grid Shells at 9:30am.

I was fortunate to work for Koroush Kayvani for 6 months on Wembley, and he is presenting Performance-based Design of Tall and Longspan Structures at 11:45am.

Expedition colleague and friend Fred Labbe is at 4:45pm with Evolutionary Design for "Environmental

On Friday the 23rd Odysseas Georgiou will present Interactive Structural Analysis & Form finding at 10am.

Other presenters recognized from the Grasshopper forum that are presenting include Roel van de Straat, Clemens Preisinger and I'm sure I've overlooked others, please let me know if this is the case.

It should be a great opportunity to meet in person some online friends, and swap notes and learn from each other the application and use of these powerful digital tools.

If you, a friend or a colleague are attending, please don't be shy in coming forward to discuss.  I look forward to the event and can't wait.

20th - 23rd September
Queen Elizabeth II Conference Centre

Monday, 18 July 2011

Generative Models improving Design Development

I'm not sure how obvious the collaboration is between Geometry Gym and [UTO] to develop the Rhino/Grasshopper addons, but it's nice to see a co-authored article published in the Taiwan Architects magazine, Tawain Architects 2001/07  

Here's the article in English
As performative design concepts become more accessible to designers, we will see more analysis tools being developed for the design process. As we establish methods for understanding surface-based-analysis, we will be moving into volumetric-base-analysis.

Generative tools such as Grasshopper3d (Robert McNeel Associates) and Maya (Autodesk) are being utilized to explore architectural projects and inform design decisions with increasing popularity. However, rapidly produced multitudes of options will not be utilized to full potential if entire design team assessments take days or weeks to fulfil. To maximise the potential of these tools, teams must efficiently assess multiple objectives and criteria, to seek optimal solutions. Utilizing the generative information model as input to analysis and simulation tools (including structure, services, environmental, construction programming and cost assessments) can facilitate superior design decisions.

This article outlines and demonstrates software developments enhancing Grasshopper3d as a generative design tool for the architecture and construction industry. Additional functionality enables designers to assign attributes of design elements that can be utilized in exporting the information model for wider design consideration. Present industry practises where multiple models are independently created require consuming efforts in updating and coordinating. Duplicated, abortive and redundant design efforts are rife, and given the time consuming nature of these tasks, the potential to improve and assist these procedures is enormous. There is scope for substantial improvements for this process in the earliest phases of design, when identifying the strongest concepts can have the greatest impact on the final product and the least constraint is experienced to change.

Structural Analysis

Generative modeling for developing structural analysis models has been prevalent for years, primarily in the form of authoring spreadsheets. Geometrical description using imports such as DXF or DWG cad models have also been used extensively, although this process typically requires manual application of analysis attributes not supported such as constraints, materials and loads.
Evaluation of performance relating to alternate design scenarios is accelerated by producing in bulk the structural analysis attributes as related to the generative model.
This is shown for the 3-dimensional proximity truss structure as a Structural Analysis with Geometry Gym plugin for Grasshopper and Oasys GSA

Building Energy Analysis

Ecotect is a highly visual software for architects to work with environmental performance issues. It is designed for early stages of conceptual design, and encourages play to understand environmental factors and interactions. Ecotect works on the principle of “progressive data input”, that means that it is prepared to give visual feedback even with very little information. Not all aspects of a scenario have to be spelled out in detail.
In fact the simulation can be done earlier, and as the model is refined, results become more accurate.

GECO is a Grasshopper plug-in developed by [UTO] that offers a direct link between Rhino/Grasshopper models and Ecotect. The Plug-in allows you to export complex geometries very quickly , evaluate the design in Ecotect and access the performances data, to import the results as feedback to Grasshopper. This could be done as single process or loop to improve performance and the design of a building in the context of its environment.
The single results of the process could be saved inside Rhino in the vertices of the analysis mesh to store data for later use inside different design approaches.

Thursday, 30 June 2011

BIM Enhancements for Rhino/Grasshopper

RhinoForYou presented Geometry Gym BIM enhancements for Rhino3d / Grasshopper3d at the BIM Day event in Paris earlier this week.

It was a good opportunity to enhance and improve the IFC plugin testing IFC files generated with other software.  Improvements have been made for file processing times (with more to come, but better for all IFC authoring software to produce higher quality files).

This clip shows importing of the Tekla House model authored in Archicad, and an associated MEP file.  It demonstrates the new IFC tree data viewer in Rhino.

The second clip is a model prepared by VisualARQ, the IFC data was optimized using Geometry Gym tools to reduce the file size by a factor of 10 (permitting more acceptable access time for Rhino/Grasshopper).  The file is then imported and edited in Grasshopper, first deleting some members and then generating a new parametric set.

This plugin is undergoing continual improvement, if you have requests or requirements that you would like included, please get in touch to discuss them with me.

Sunday, 19 June 2011

Grasshopper Catalogue Profiles

I've just added a new feature to BullAnt addon for Grasshopper that allows easier nomination of catalogue profiles (before you had to use a string).  If I haven't already included a catalogue profile or range that you would like to use, please get in touch and I'll add it ASAP.

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.  A recording of it, as well as the presentation and example models can be found here:

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: 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

Friday, 3 June 2011

Rhino v5 Extrusions, GeomGym Plugins

I've been enabling Rhino version 5 light weight extrusions to the Geometry Gym Rhino plugins, that uses less memory, meshes faster and saves out to much smaller file sizes.

I've seen and heard some positive demonstrations and reports of this improvement, but decided to do some quick bench marking for myself and the results are impressive.

I prepared some approximate models of the British Museum Great Court Roof as part of this discussion with importing IFC models into Archicad.

The model comprises 5180 members, and the improvements from v4 to v5 are really impressive.
I've benchmarked using the Geometry Gym IFC importing plugin, which will use the new extrusions when running in v5.  If you want to try for yourself, install/update the plugin, and the IFC data file can be downloaded here.

Or, if you just want to open the rhino model, download here.

Time wise (only considering the generation of the extrusions, ignoring file reading time etc) it took 35 seconds on my computer to generate 5180 version 4 extrusions.  In version 5, it took less than a second.

When saving out the rhino model, version 4 produced a file 74 MB, version 5 produced a 3 MB file.

And there is very little lag or delay when panning, zooming and rotating the v5 model, in comparison with v4.

The only drawback (which should be a temporary matter and improved as the beta version of 5 progresses) is a much slower start up time for version 5, particularly 64 bit (which seems to be made slower by loading geometry gym plugins which is being investigated).

However, if you're working on skeletal or frame models, I strongly recommend taking the step up and using v5.  Extrusion elements also can accomodate end miter planes, which I'm in progress of enabling to the plugins.

With regards to the IFC plugin, you might also notice some other speed improvements when importing large faceted brep models generated by other BIM software.

Feel free to comment with any suggestions or observations of your own.

Tuesday, 3 May 2011

Grasshopper - Solver Results

I've been progressing components for accessing Structural Analysis solver results recently, primarily for Oasys Gsa and others will shortly follow.  I'm also in early phases of testing a structural analysis solver directly within a Grasshopper plugin (to analyze linear static frames directly and extract results, which should be quicker than sending data to external programs).

I've enabled a Grasshopper component for my vector field to streamlines algorithm, also the work of SPM is looking encouraging in this area.

If you don't have Oasys GSA, you can try this definition (I've baked some principal stress lines into the Rhino document) or you can test the result extraction from GSA using this definition.  Both need this Rhino document with basis mesh.

Also, here's a definition demonstrating generation of false color mesh for Von Mises Stress.

I've also enabled some new features for form finding directly from within Grasshopper using the GSA fablon solver, here's a nice example from a user request outlined here.  Grasshopper Definition

I look forward to hearing suggestions and questions from users.

Thursday, 31 March 2011

GH GSA Form Finding Tensegrity

A first study of tensegrity form finding using GSA, I plan to add to this post some models of some nice towers.

Here's a start to that, note I'm looking to adjust the component calculation order as the solver needs to be computed only after all other components have calculated.  If you have problems of only partial model update, try deleting and adding a new solver component (or disabling, recomputing, and enabling).

Model Files to try yourself.

Wednesday, 23 March 2011

Galapagos and GSA solver

It's still early stages of testing and development of some recent work I've been doing to enable access to GSA solver directly within Grasshopper (and importantly Galapagas).

The attached example is still primitive, I'll find a moment to extend it to include a stiffness per mass objective, but it does demonstrate a few aspects of using this technique.

All feedback appreciated, including requests for more components to save manual generation of GWA attributes (which is shown for the point load generation).

Grasshopper Definitions
GSA    SAP    SpaceGASS    Egret    Robot

Monday, 21 March 2011

Grasshopper-GSA Form Finding and Structural Analysis

Some really exciting new features to be activated in the next public build of the Rhino/Grasshopper plugin connecting to Oasys GSA that will allow generation of a complete Structural Analysis model within Grasshopper including loads, materials, analysis tasks and solver controls.  This will allow form finding of membrane and tensegrity structures incorporating advanced structural attributes including loads, with realistic materials.

This will not be real time "dynamic" response such as kangaroo physics plugin (which at present can not perform at real time speeds with realistic materials and stiffness).

Interrogating and utilizing analysis results will also be enabled, including more conventional models and frames.

If you have requests/suggestions for this release don't hesitate to get in touch.  Other popular solvers including SAP2000, Robot and Strand7 are expected to follow in the near future.

I'll shortly be posting more detailed instructions, but for the time being you can download the grasshopper definition from here : Grasshopper Definition  You'll need latest Plugin for GSA from

Tuesday, 22 February 2011

GH to GSA Finite Elements from Area and Regions

A feature that I added earlier this year was the ability to generate Structural Areas and Regions for Oasys GSA from Grasshopper.  You then mesh the structural areas within GSA.

Here's the associated models to try yourself.

Rhino model  Grasshopper Definition

Sunday, 20 February 2011

SCIA and Grasshopper

Thanks to the Scia Open Interface (which is a library for reading and writing XML data files for Scia) I'm pleased to present a new plugin for exchanging data with Nemetschek Scia.  Thanks in particular to Mark Flamer and Peter Zalman for their assistance with this.

Here's two example files to start with, the popular 3 pin truss generation

Rhino Model    Grasshopper Model   Scia XML Export
and generating a mesh model:

Rhino Model   Grasshopper Model   Scia XML Export

The Scia open interface is still work in progress, it's not allowing me to open models yet and I see node restraints are generated in xml but do not seem to be acknowledged by scia in the latest version.  So please use with care.  But if you would like to see these improvements and more in the tools, the more interest I can demonstrate I'm sure will encourage fixes and support for this development.

Installation instructions are here:  I'd recommend installing StructDrawRhino as it is also used in some sample models.

Friday, 4 February 2011

IFC Generating Quantity Measurements

I've just returned from two weeks of visiting various architecture and engineering firms in Paris and London, and one of the latest features that generated lots of interest is the new developments to generate quantity and
planning information within Grasshopper and Rhino3d.

Not only can you have real time response of these quantities, but also export these downstream to your other BIM software for use in schedules, reports etc etc.  I have set it up so the property sets and element quantities are fully customizable, so that you can ensure the attributes are tagged as your BIM software will recognize it (In the attached example, I've based this on a Revit sample file provided to me).

There's a lot more that I can enable with this including building services, costing, building performance etc etc, so if you have ideas or requests, please send them through.

Please test this out for yourself on this sample tower model, you'll need the latest IFC plugin.  Installation instructions:

Grasshopper Model
IFC Model Data