algorithmic modeling for Rhino

Hello Everyone,

I've been looking into deriving lines of principal stress on curved surfaces and have come across some really interesting stuff but I'm hoping to spark a discussion that might create a clearer picture of the processes involved. So far I've come accross:

- and Christina Doumpioti's thesis on The Adaptive Growth of Fibre Composite Structures

From these sources I gather one must:??

- use a finite element analysis program to determine the magnitude and directions of the principal stresses at all the mesh vertices
- then bring that data into grasshopper
- write a script that generates a vector field from the FEA data and interpolates a series of evenly distributed curves that follows the principal stress vectors

Would this be the most sensible way to go about this? I just want to make sure I have decent course of action laid out as my scripting/solid mechanics knowledge is rather limited so it's going to be quite the

Any comments or reference suggestions would be greatly appreciated. Thanks kindly in advance for any and all help.

All the best, 


Views: 8798

Replies to This Discussion

Hi Matt,

I've had a couple of recent requests for vector fields of principal stress directions for computing topology, and I'm sure they and others will post in here.

Certainly in GSA you can visualize the vector field after analysis, I'll try and look at a means and ways to import that back into Rhino today (if I get the chance). Probably as lines that you can use to create vectors in Grasshopper.

Maybe that will help. I'm also interested in the opinions of those that have/are working with this topology calculation.



This image shows one method for exporting the principal stress results to DXF which can be read in Rhino. I'm going to enquire about other means.


Hey Jon
That is it,.... didn't know that it is possible to export the vectors.
we will play around soon with that

thanks for that
Hi Jon,

Thanks so much, that's extremely helpful! I managed to get the lines into Rhino, but I can't seem to isolate the principal stresses. It looks like it is exporting 8 vectors at each node, two sets of four that are perpendicular to each other. In the diagram settings I selected the principal stresses, but perhaps it is displaying the average, Von Mise, etc as well? In the output dialog it looks as though there are 5 values for each of the derived stresses. Do you know what they correspond to? Ie, the 1023, 533, etc in the node column for element 1. Are these the different stress layers? Sorry for all the questions, I'm new to FEA software but it's all so exciting!

Do you think it might be a good idea to export a csv of the node coordinates, along with the principal stress magnitudes and directions at each node? And then read those into grasshopper?

Thanks again for all your help!



Hi Jon,

After digging a little deeper I realized that the multiple sets of lines at each node are the result of minor discontinuities in the stress values at each node. I think that the more refined the mesh becomes the lesser the difference in these values. The best way to approximate the results is to select the "Average stresses and forces at nodes" in the Diagram Settings. This corrects the view in GSA to display only two vectors at each node, but when I export the dxf file it includes all of the lines, rather than just the average. Any ideas on how to get around this? Thanks again for all the help.

Hi Matt,

100%, Finite element analysis uses finite differences and these discontinuities will converge within a tolerance as you refine the mesh. If you've watched my mesh color result importer that already uses the average result at each node, similar to your observation within GSA.

I was assisting a digital fabrication workshop in Joburg the past two weeks so I did not have time to implement an importer, but will look shortly into this and let you know ASAp.



I've just amended my blog post at with a new work flow for referencing principal stress vector fields in Grasshopper. Download the files and see if this works for you. Element stress at centre is only acknowledged, not at the nodes. Let me know if you've any suggestions or improvements.


Thanks very much Jon! That's excellent, I'm just working on deriving the streamlines of the vector field now and it seems like it is going to be a lot more complicated than I thought. I'll keep plugging away at it and let you know how I make out. Thanks again for your help, I'm sure many people will find this add on useful.


HI Matt,

I know [UTO] are also working on this, I'm very interested to see the techniques and results.

Let me know if there's anything further I can help with.



Hi Jon.

i want to know the name of all the grasshopper button in the Upper right corner of this picture. as i can not find some of them in my grasshopper 0.8.0063 version

can you tell me ! thank you


These are StructDrawRhino components.  Please download from, install, and then run rhino command sdrZZLicenseRequest

If you can't access from China, try food4rhino website.  If you have installed and the components aren't showing, try running rhino command GrasshopperDeveloperSettings and checking the Library Path includes something equivalent to : C:\Program Files (x86)\Rhinoceros 4.0\Plug-ins\SSI  I'll advise further if this doesn't help.

Hi Jon, 

I am trying to find the principal directions  in GSA 8.6, but I do not know how to do.

Is this function still available for this version?

I know that for the file above you used GSA 8.4

thanks a lot and especially for GeoGym.







  • Add Photos
  • View All


  • Add Videos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service