Gridshell model

Hello everyone!

I would like to ask for some help with my model. I’ve been working with gridshells in rhino/grasshopper and finally got the desired model. However I would like to do the structural analysis in Autodesk Robot.
The problem is:

-Exporting the model as a DWG file using just the centerlines, and then assigning cross section in Robot is an option; however, the bars don’t follow the inherent surface. After some discussion in Robot forum we concluded that is not the best option, because I’ll not have accurate results.
-I can’t find a way to export my model from rhino to robot without affecting the bars position.

I’ve attached some pictures to help you guys understanding which is the problem.

I hope my question was clear.

Thank you in advance,

David Ventura

Hi David,

Does Robot accept meshes if so why not export as mesh?

An overall advice I would like to give you:
Get an official version of Rhino it’s not fair to expect advice on the official forum when you run a cracked version of the software. If you are a student, find out about the educational license it’s cheap in comparison to other software.


David, once the geometry is in Robot you need to modify the gamma angles (disclaimer: I just googled that link…). This is obviously a pain to do manually so in the past I scripted an STR exporter. I’d suggest you try the same! A snippet below to get you started…

Rhino.IndexPair se = M.TopologyEdges.GetTopologyVertices(i);

                // ------------------------------------------------------------------------------
                // GAMMA
                Vector3d[] normals = new Vector3d[]{
                Vector3d avg = normals[0] + normals[1];
                Plane vertical = new Plane(M.TopologyVertices[se.I], M.TopologyVertices[se.J],
                  M.TopologyVertices[se.J] + Vector3f.ZAxis);
                Plane bar = new Plane(M.TopologyVertices[se.I], M.TopologyVertices[se.J],
                  new Point3d(M.TopologyVertices[se.J]) + avg);
                gamma[i] = (180 * (Vector3d.VectorAngle(vertical.Normal, bar.Normal))) / Math.PI;
                gamma[i] *= Vector3d.CrossProduct(vertical.Normal, bar.Normal).IsParallelTo(M.TopologyVertices[se.J] - M.TopologyVertices[se.I]);