algorithmic modeling for Rhino

Identifying the compressional members in a space frame?

Ok this is what I would like to do:

Is there a way to determine which members of a space frame are compressed, and then replace those compressed one with new ones? For example all the members of the space frame structure have tube cross sections. And I would like to determine which one of them are under the compressional load, and then increase the size of their cross sectional area.


Is this possible to do in grasshopper and Rhino tools, addons and scripts?


Thank you.


Views: 5046

Replies to This Discussion

Is that possible?

Hi Djordje,


Is this what you're after?

YES, this is what I am looking for !!!

I downloaded your karamba_test04.ghx, and .3dm files, and I can not figure out how to select the compressional members only, in order to change their cross sections.

Hi Jacek,

I'm trying to make basically the same thing you attach in the image here (hi after 4 years by the way), but for some reason i'm not able to get it to work.

Perhaps it's the version of Karamba etc. but the components are a bit different, and basically it doesn't work. I've spent a lot of time trying to find a solution but for now nothing works.

Is there a way to perform a simple load analysis on something like the attached image (a 3D truss-like frame), so that I can figure out the weak parts etc...?

It would be helpful to know which components to use or how to modify the definition you uploaded.

Thank you very much!


Hi Yafim,

I no longer actively pursue this topic, so I cannot help you specifically. I'm sure someone here is up to date with karamba. (check out kangaroo also).

Just a quick thought after looking at the screenshot of your structure - it's stiffness depends on the stiffness of the nodes (not like in the examples above, where the truss is completely made out of  tetrahedrons).

Thank you Chris. It seems I do owe a couple of beers to each member in this topic.

So, the code now continues from me past compressional members "Line" parameter? How can I do the same effect like Jacek did, in his last reply two posts above this one?

Here's the definition for the example above.

It's a bit messy, didn't have time to clean it up.


btw. here's the video with increasing loads on the space frame.

btw2. I'm pretty sure that you can check multiple load scenarios within one gh definition by inserting additional karamba assemblies... haven't testet it though.



Hi guys, 


This is a very interresting and practical discussion.

I took a shot at the problem using Karamba, here are the results:

(left: load&support case, right: stress identification; red=compression, blue=tension, black=zero or very little stress (there's an adjustable treshold slider for that))


the members are dispatched into separate lists according to stress types, so you can easily apply different cross-sections - see attached definition.





Thank you for the file Jacek.

But that one you gave me, automatically creates a space frame structure. I want to assign a compressional members on my own structure, drew in Rhino. So I want to draw a space frame structure in Rhino, on my own, then apply the nodal loads and support positions (in this case with Karamba), and then to identify the compressional members and continue to edit them, further.

Did you take a look at the file I posted the other day ?

It does exactly this - takes a spaceframe you draw in Rhino, applies loads and supports of your choosing, and separates them into tension and compression members.

Guess I should have posted a screenshot...


@Daniel Piker:

Sorry mate, I did not. I will take a look at it, during the day tomorrow. My intention was not to be unpolite, or to ignore your post, it's just, I am quite busy these days, and even 5 minutes of my spare time are fortune. I saw a screenshot of Jacek's work, and it looked interesting. Sorry if I insulted you in any way, by did not download and check your files. That was not my intention.
Which one of these replies of yours, do you have in mind: the one from the 6:22am or 6:51am 12th of February?

@Thorsten Strathaus:

Thank you for the files, I will do a thorough insight tomorrow.
And what about the license? As far as I know, all RFEM/RSTAB add-ons need to be paid. What about this one?






  • Add Photos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service