Thursday, 29 July 2010

Generate Finite Element model in Rhino and exporting back Stress Results

I've had a number of requests lately about analyzing Rhino/Grasshopper mesh and using the mesh results back in Rhino/Grasshopper.  Thanks to Tom of [UTO] for this particular example, which was mesh created in Grasshopper using WeaverBird.

The video above demonstrates this using GSA (which is free for Students).
The rhinocommand ssiGSAMeshtoGWA translates a Rhino mesh into GWA data which can be pasted in the gateway. The mesh remains unchanged, although the routine will triangulate quad faces that are not within GSA planar tolerance.

Node Restraints, finite element properties and loads are quickly applied in GSA, and the model analayzed for results. The results can be exported to a text file, which can then be loaded back into Rhino. The number and nature of these results can be controlled in the GSA export process, and this can be saved into the GSA model as saved output to be recalled later. ssiGSALoadResults command can be used to open this results file and false-colour the mesh. Note the model data must be active in either the Rhino (or Grasshopper) plug-in (thus I imported the model data back).

There's improvements to be implemented in the near future, including other results and importing into a Grasshopper component.

Here's the files so you can try for yourself:
Rhino Mesh Model
GSA Model

19th August 2010
Some further discussions and experiments with finding vector fields on the Grasshopper forum  for the model have prompted me to append this blog post.

I've added some additional functionality to ssiRhinoGSA (v0.8.0037 and newer) to allow using the command ssiGSALoadResults command to interpret Principal stress data results.  An export such as this results.txt
can be read, I used a scale factor of 2e-8 and unsigned magnitude to generate the lines representing the principal stress vector field.  You can then set these lines in Grasshopper and convert to vectors as shown in this Grasshopper model.

Tuesday, 20 July 2010

Sofistik CableNet from Grasshopper

Progress of Sofistik model generation from Grasshopper3d. You can now nominate lowest acceptable beam and node generation, apply beam properties such as releases, offsets as well as node restraints. Lots more coming

youTube screen capture or download better quality AVI from here

Tuesday, 6 July 2010

Grasshopper3d to Autodesk Robot - CableNet

Progress on the Geometry Gym Rhino3d/Grasshopper3d to generate and exchange Autodesk Robot data is going well, above is a screen capture demonstrating parametric exploration of a cablenet roof (I've used beam profiles so they can be seen in the video).

You can realize great benefits to determining an efficient cable scheme by parametrically exploring the spacing, depth and easily measuring quantity, cable end fittings etc.

In a near release the node restraint generation in Grasshopper will also be added to the Robot Model, and on the agenda in the short term is to add ability to generate loads, hinges and lists within the Grasshopper definition.

To try yourself, download the plug-in from
The Rhino model with saved profile/view can be downloaded here: Rhino Model
And the Grasshopper definitions : (Other programs coming shortly)

Saturday, 3 July 2010

Exporting Grasshopper to Digital Project/Tekla/BIM

Recently I've been concentrating on development of neutral BIM file formats, with the primary goal of enabling parametric modelling of structure in Grasshopper and then exporting those models into other modelling software such as Digital Project, Tekla, BIM software and other design software.

One of the biggest frustrations I've experienced, and a large reason why I've undertaken an opportunity to develop Rhino Plug-ins is to reduce duplicated modelling work and the associated time and cost in coordinating models.  On a given project, each of the design consultants (ie architects, structural engineers, services engineers,  contractors and project managers etc etc) will build digital models of the project to analyze, review and communicate their work.  Even within the same office, there might be multiple models created (and more importantly maintained and altered as the project changes).  The ambition and philosohy of BIM is ideal to improve efficiency and productivity, but I'm not expecting this to be a new idea to anyone reading this post.

So, to parametrically generate BIM information from parametric modelling software such as Grasshopper is an amazingly powerful tool and workflow.  Already available for use and testing of this workflow is the Geometry Gym SDNF plug-in (available from ), which is capable of skeletal or steel frame model exchange.  I've attached an example geodesic dome model for interested users to test and try this work flow.  Soon to follow will be IFC (Industry Foundation Class) attribute generation which will allow further information such as walls, slabs, doors, windows etc, and hopefully it goes a long way further than that.

Make sure you also download the StructDrawRhino plug-in for the Geodesic component, and you will need the free trial license to activate these Grasshopper components (follow the prompts).

Here's the Grasshopper definition and Rhino model with the SDNF property table saved in it: Rhino Model Grasshopper Definition
You can vary the inputs of the geodesic dome if you wish, and you can parametrically modify the beam profile using the property table accessible from the second button on the SDNF toolbar (use the spanner button to update the profile with that selected in the pull down menus).  When happy, bake the Steel Beams into the Rhino document to activate them (they are virtual whilst in preview mode) in the SDNF database.  If you alter the grasshopper definition and re-bake, the plug-in will try to detect the previous baked elements and delete/replace them.

If you click on the Export SDNF button, you are prompted to generate SDNF ver2 file (I believe Digital Project uses this format) or SDNF ver3 by default.  Then try importing the files into SDNF accepting software.

Note, there are issues to do with different software librarys labelling profiles with different formats, and you can try altering the catalogue definition.  It's possible a means of a mapping table facility may need to be provided in the near future.  If you can give feedback on what does work and what doesn't, I'm most grateful.

Some more examples coming soon, Here's my exports if you wish to try the generated files without the plug-in:

SDNF ver 2    SDNF ver 3