algorithmic modeling for Rhino
Comment
Dear Odysseas,
I see there hasn't been any activity on this forum for quite some years. For my thesis I am currently looking at a way to create a layout for structural members based on principal stress lines. I have read your work and find it very interesting, however I do not know where to start when it comes to creating the plotting you describe in your paper.
In your previous comments you mentioned that you can't share your code as it is part of your phd research. Since this is 7 years ago, could I ask you if this is still applicable? Also you comment that you had intentions of writing a paper specifically about the plotting algorith. I can't seem to find it however. Did you end up writing it?
Hope to hear from you! Kind regards, Nathaniel
Rasmus,
i'm sorry i cannot yet provide the code as it is part of my current phd research. I had promised to compile a piece and upload it but it didn't get much time to do it. and rhino common is not much of a help as i wrote my components on the previous version and id have to translate them. Id be happy to answer any questions that you may have though.
Sorry about this.
I figured it out... :)
Is it possible to get more outputs, e.g. the coordinates and the stress magnitude? I guess this is something that comes with under standing the C# code more in depth....
But would it be possible to see the way you did it? I mean I read your paper and understands the theory, but more practically in GH. If not, I understand.
Cheers.
Hi.
Thanks. You are right... the tab is crosses instead of detailed, but I'm not sure how to refer to the stresses in this tab?
Could it be:
FeRes = str.Results.FiniteElems.Crosses(FeParams);
elresult = 0.0;
if (Result == 0) elresult = FeRes.Stresses;
?
Or am I missing a point?
Cheers Rasmus
Hey Rasmus,
i don't know if you are familiar with robot at all, but at the FE results window there are several types of options. In the component that i posted in my website i used the "Detailed" class ...FiniteElements.Detailed which corresponds to Robot's detailed results Tab in the UI. If instead you use the "Principal" Class you'll get access to the principal tab. If i remember well the parameter is Principal.SAL in C# which returns an angle between the local x axis and the the 1st principal direction. This vectors have a projection in a global direction which you will have to sort out by defining a projection plane. You can refer to my publications and the software manual for more details.
Hope this helps,
Odysseas
Hi Odysseas.
First of all - great work. I will be trying to read through your RSA component and understand it for real, then I'll try and write it in the new Rhino Python language (Let's see if it works), because that is the language I'm used to.
But for now I wanna try and plot the principal tension stress curvatures/trajectories on a concrete element. As far as I can tell, the options in the GH definition are only to get the stress values (MPa) back from RSA to GH, don't you need the angle/direction of the "stress vectors" in order to calculate these trajectories on the surface?
How would I do this? Do I need to change the code in the component? Or do you have another def I could look into? I have read your paper on this, but I am not sure how to obtain what I want still.
I hope that you want to help.
Thanks
Rasmus
Zhushunlai,
i know this is not very clear in the paper, i'm intending to write something specifically about the plotting algorithm soon. The process i followed however is quite simple and it is summarized in these paragraphs, copied from the paper you read :
"The stress data had first needed to be mapped on each of the planar surface generated in GH. Starting from an arbitrary face in the mesh group, curves were drawn following each of the direction of the principal stress vector field. When a curve (which becomes a trajectory after the initial step) met a face edge, an intersection occurred which was crucial in determining the next step and the preferred face at which the plotting would restart. A precise intersection routine was formed in order to facilitate this.
Because the finite element analysis only returned one pair of stress results per triangle, there are sharp changes in direction at the triangle edges between adjacent faces. For that issue to be addressed, smoothing algorithms were developed that were able to choose the best possible principal route taking in account the set of principal vectors in four directions (including the exact opposite values of stresses) and the previously plotted trajectory. fig9"
So what it is basically doing, it's starting off drawing an SDL line from an arbitrary face in the mesh which has as a starting point the center of the face, direction each of the principal vector returned from the FE analysis and infinite length. When that line intersects an edge a new starting point is found and the same process is followed until reaching another end of the surface or until a new intersection is not found.
Hope this helps,
Odysseas
Hi Odysseas,
I have read your paper----Interactive Structural Analysis and Form finding---for several times.
Most part of the paper i can understand and do some relative works relative it.
in this paper you said "
A series of algorithmic routines were developed to plot the principal stress trajectories on a free
form surface following the analysis output "
however, i search for quite a long time ,there is very little algorithmic routines excpet the one you present. can you give me more information where to find Material about these
algorithmic on the plot the principal stress trajectories on a free form surface!
thank you very much!
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by
You need to be a member of Grasshopper to add comments!