Hello, I would like to greet your entire community, and I would greatly appreciate your help in solving a problem I’ve been facing for several months now. It’s a challenge that could also assist many structural engineers, and I hope that, together, we can find a solution. I am aware that this issue can be addressed with the help of an algorithm in Grasshopper, but I am unable to tackle it on my own
THE PROBLEM OF STRUCTURAL ENGINEERS.dwg (2.5 MB)
Hope for some GRASSHOPPER GURU’S HELP !!!
Thanks in advance !!!
It’s good that you’ve included a file, but it would also be helpful if you include a description of what the problem actually is in the text of your post.
The issue consists of the fact that when we discretize a surface into smaller surfaces, the corners do not coincide on the smaller surfaces. However, for the calculations to work in the computing program, all corners must be connected. The file illustrates a small sector as an example.
Hello, I have a few questions.
- Is the green one on the right a structural (wireframe) model?
- The blue one on the left is labeled ‘divided surfaces’. I assume this is a building volume massing. But it’s covered by rectangular mesh faces now. I suppose rectangular surfaces initially covered the building massing, and you divided them using isocurves?
- The green one on the right looks fine to me. Are you saying you cleaned it manually but are looking for a method to automate the cleaning-up process? Or does the green one on the right have some issues?
Ah, Okay. I initially thought the blue one is a building massing model and the green one is a structural model, but it seems like I was wrong. You wanted to divide the green one further, but what you got is the blue one, which has misalignment issues everywhere. Am I right?
Is there a ‘base’ geometry that was used to create the green model? Something like a building massing?
you are right !
why you need the base geometry (green model )?
Our problem :
My ideea :
draw for each rectangle from it’s corners(points 2,3,5,6) an elipse , then find the points inside of elipse (points 1, 4 ,7 ) , then find the closest corners from those points and make lines ( line 1-2, line 4-5, line 6-7), then move corners :
all meshes that contains corner number 1 (2 meshes) move number 1 to the middle of line 1-2.
all meshes that contains corner number 4 (2 meshes) move number 4 to the middle of line 4-5.
all meshes that contains corner number 7 (2 meshes) move number 7 to the middle of line 6-7.
Hope you understand what I want to say !
result something like this
Red lines should not be, I let them to better understand the logic .
Are you doing this as a structural engineer?
So, I would suggest talking to architects to get the building massing model. They should have one.
here is an example of another building how it should look like .I export it to dxf from FEM software
The massing model I model it in archicad the I want to export it to rhino , then I want to divide the model in small meshes , then export it back in dxf or dwg then import the dwg file to FEM software.
I have also some ideeas loading with the load , but this is for the future
What are your parameters for a well ordered FEM mesh? Quad mesh only? Angle limits? Relative density guidelines?
There are other FEM meshing software applications out there but what functionality are you trying to replicate in GH?
Are you meshing only solid concrete elements? Floors? Shear walls?
What analysis package are you using after you pre-process in Rhino / GH? Strand? Ansys? STADD? Other?
Usually we use quad mesh,but it’s impossible to use only quads, sometimes we get also triangles, the mesh dimensions: we are trying to get meshes as close as possible to 0.5 by 0.5 meter.
There is a big reason why I am trying to do it in grasshopper, in FEM software initial mesh have a local axes but after dividing in smaller meshes 0.5 by 0.5 this small meshes have different locals axes and Rhino with grasshopper is the only soft when I can control this, in our country we work in Scad Office (it’s a ucranian software), and recently they create an add-on to Rhino, still need a lot of improve, but the begin is good.
I need this only for slabs foundations and walls,
For columns and beam local axes also are important but for those I will do it by my self
My first thought regarding this image showing the desired output would be something like:
- PointGroup for finding points closer to each other according to a user-given tolerance
- Get the average of those points in the groups (Average component)
- Create the mesh based on these points (Delauney, TriRemesh perhaps)
- QuadRemesh to obtain a quad mesh or something like Quadrangulate component