algorithmic modeling for Rhino

A discussion thread for posting questions and examples relating to Analysis model generation in Grasshoper to Oasys GSA.

Wouter Brok raised the question here about how to generate an element capable of tension resistance only.

Tie elements are available in GSA to emulate cables and tensile rods.  They can be generated in the Geometry Gym plugin be assigning the Beam type in the Beam Attributes component.  Model attached.

Note this will force the GSA solver to use a non linear solver to enforce this.  If you're confident your loading scenarios will only induce tensile forces, you can still use the static solver by setting a bar element (and then verifying manually no compression force exists).

Views: 8490


Replies to This Discussion

Hello again,

thank you all for the answers! They are extremely valuable to us. Our exploration continues, and now we have more questions:

- Currently we have different normal forces in the 2 parts of each continuous  element (ie the ones connected with beam releases). How can we make sure that the normal force is constant throughout the element?

- We also get moments in the middle of the continuous beams that are slightly discontinuous.

- We notice in our structure that we have one row of beams, along the long side, that is continuously in
tension instead of compression (shown in red in the file). First we thought this was due to a local phenomena that
spread along the row, but now we have mapped the definition onto a plainer, symmetrical surface and
the problem persists. Any ideas of what this might be?

- Probably related, on both our long sides, towards the end, we have situations where
the beams go between two locked nodes. However, they behave differently on the different sides, with only one of them showing a zero moment. In fact, the non-zero one has a symmetrical match in the next one in on the other side! (More detail in the file.)

I realise these are veering away from strictly GSA-functionality questions, so feel free to disregard them if you're short on time... Any help is very appreciated!



Hi Agnes,

Interesting question, took me a little while to trouble shoot, but here's some hints for this.  

When trouble shooting, change the solver component "close model" to false.  I then displayed the node numbers, and saw some "coincident" nodes.  

I put the code through the debugger, and eventually noticed your restraint node component didn't have the seek tolerance set.  You should get better results with the attached.

Now, think of a shear force (you refer to this as normal force) diagram for a simply supported beam with a point load.  The bending moment diagram (BMD) is a triangle and the shear force diagram (SFD) has a change in magnitude at the location of the point load.

The continuous members in your model should have similar where the support at mid span the adjacent members (which have a pin end).  The adjacent members applying a point load at this location.

To keep numerical "stability" I don't think I released the pin members about torsion.  The small "twist" or torsion at the end can cause a small discontinuity to the moment diagram (but shouldn't be too significant).  You can try releasing the torsion and see if the model solves (even releasing one end should help).

Just check your terminology about the "normal" force, and compression/tension.  Axial force has a positive/negative value indicating compression/tension, but shear force can be considered absolute.  The positive/negative is simply a sign convention (dependent on member local axis) basically indicating upwards or downwards resistance.  

The last point related to the "disconnected" restraint node in the model referred to at the top (and should be addressed in attachment.

Hope this helps,



Hi Jon,

I was wondering if there is an easy way to switch between units (for instance meters and millimeters), when analyzing a structure in GSA.

My tensegrity dome analysis definition was based on mm and kN, but apparently GSA thinks this should be m and kN :)

Thanks for the help!

Hi Michael,

Do you have the units set correctly for "default" in models started in GSA?

The plugin will update GSA in SI unites, but it should set the units back to the active units when it is finished sending data.

If you have set default, I'll test this further on my end.



Hi Jon,

I've tried all kinds of settings in GSA (including the default setting). Changing them doesn't seem to help: if (for example) I change the length units from meters to millimeters, GSA scales the input sent from Grasshopper by a factor 1000.

I'm not exactly sure how GG works, but changing:

UNIT_DATA    LENGTH    m    1,00000
UNIT_DATA    DISP    m    1,00000
UNIT_DATA    SECTION    m    1,00000


UNIT_DATA    LENGTH    mm    1,00000
UNIT_DATA    DISP    mm    1,00000
UNIT_DATA    SECTION    mm    1,00000

could possibly work. This works when I save a model and alter this by hand (kind of unwieldy) I am assuming here that GG writes a comma separated or tab delimited file.

If the GG plugin changes the input values from my model 'one-on-one' to SI units, this may very well be the source of my problems: i.e. converting my model's (mm) to GSA's SI units (m), but not actually scaling them.

Ok, I'll test this.  Sounds like a comma decimal delimiter issue.  My plugin tells GSA to expect all input to have a . (DOT) decimal delimiter but it does extract the existing units which won't match.  I'll post a build shortly with a fix (assuming I have the issue caught).

Ok, sounds good! Thanks for the help!

For anyone else that might experience this issue, the rhino plugin wasn't loading. Please use rhino command PluginManager, or drag and drop .rhp files as outlined at


Im trying to create a solid wood cross section for a 1d beam without any luck. What is the best way to do that? Which component shall I use? So far I have tried to use the create section prop seams to create a section but the analysis will not run.

Thanks for answers :)

Hi Lukas,

Creating a timber section compared to a steel section is just a matter of changing the material assigned.  Can you post what you have tried so I can take a look?

Refer for my GSA examples.

You can also create a label for the section type and dimensions you want. There is an example of that in my tube truss bridge that you can use as a reference. Use the help function in GSA to find the abbreviation for a rectangular section.






  • Add Photos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service