Assign a list of cross sections to a list of lines


I have a set of lines that will be the beams of my structure that I’m going to export in SAP2000.
Each of these lines has a defined cross section generated by Karamba optimiz
ation. What I have to do is to assign each section, from a list, to the line, from another list, with the same index. Some problem occurs, i think because there are some duplicate sections.

I can’t do manually because in my main structure there will be more than hundred beams.

Maybe the explanation is not that good, please see the script attached. (12.9 KB)

Many Thanks,

Hi Bruno,

Thanks for posting the question. I might answer it with an alternative approach though.

I have developed components to export directly from an assembled Karamba model into SAP2000. Would that be of interest?

I’ve attached a simple test script, let me know if this helps or not.



180406 test karamba to (18.5 KB)

Hi Jon,

First of all many thanks for the support and for the plug-in development. It’s amazing!

I’ve been using the component ggKarambatoSAP, but I was forced to ‘’re-build’’ my karamba model trough ggSAP components, because all the beams in my structure have to be released on their start and end nodes (has to be a truss, only axial forces on the beams), and the ggKarambatoSAP component doesn’t allow to have releases and seems not recognizing Karamba hinged joints. Happens that once I exported in SAP, I have fixed nodes everywhere and high bending moment values on each element.

Thanks again,

Thanks for describing further. Can you share your script (you can email it privately) and I’ll take a look at this?
I’d prefer to fix it so the releases accurately transfer.


Here’s the file I’ve been using to do tests.

In Karamba there’s no way to do releases, so (as I saw from a post written by karamba developers) hinges at the ends of the beams can be created using joints with very small rotational stiffness (0.1,0.1,0.1). As you can see in the script attached the bending moment on each beam, in Karamba, is near to zero.

Once I export in SAP2000 I have bending moments with bigger values and also the deformed shape is not correct.

Thank you again,

Bruno (25.8 KB)

Thanks, actually Karamba can prevent bending behaviour in an element, use the modify element component as I found here:

Here’s a modified copy of the script: (24.9 KB)

But it seems that my plugin doesn’t actually generate still the releases for sap. I’m fixing this and will contact you about the version of SAP you need. This fix will be included in all future builds of my plugin.



Thanks you very much Jon,

I had already tried the ‘bending false’ but since no releases are imported in SAP anyway, i preferred using joints to have more control on each point.

Sorry for still disturbing you: there’s no way to give a list of cross section to a list of line using ggSAP (first script I posted)? Seems the only possible way at the moment.

Thank you

If you reply to my email with which version of SAP you are using, I will provide an installer that works with karamba truss elements to SAP2000.

Back to the original script, SAP2000 doesn’t like sections of the same name, so you need to create sets of profiles with associated members as per the attached. (22.9 KB)