Beam Displacements clas sin Karamba API

Hi !

I am trying to find the Beam Displacements class/ method from the Karamba API. I am referring to the component available in the GH interface. I was unable to locate it in the online docs nor in the decompiled dll files.

Image attached below

thanks in advance

Hi @moo,
it is in KarambaCommon: Karamba.Results.BeamDisplacements.solve(…):

/// component for retrieving translational and rotational displacements on elements.
/// modelIn: model from which to retrieve displacements/rotations.
/// retElemIds: list of identifiers of elements for which to retrieve results.
/// retElemGuids: list of guids of elements for which to retrieve results.
/// retLcId: name of load-case for which to retrieve results. -1 means all load-cases.
/// ts: parameter values 0 smaller than t smaller than 1, where to retrieve results (on beams).
/// trans: translational displacements: list-structure: load case, element, state.
/// rot: rotational displacements: list-structure: load case, element, state.
public static void solve(
Model modelIn,
List retElemIds,
List retElemGuids,
string retLcId,
List ts,
out List<List<List>> trans,
out List<List<List>> rot)

– Clemens

many thanks

a follow-up question, the second and third arguments are the element Ids of the nodes or the beam element?

retElemIds and retElemGuids are the identifiers and Guids of the elements.
– Clemens

Many thanks for clarifying

so, if I understood correctly the beam must be divided into elements (list of lines) before analysis like how I would set up a shell in Karamba?

I have this confusion because we are able to input a curve parameter where we want the nodal displacement, so does Karamba divide the mesh based on the elements created, or does it divide the beam elements on its own?

Hello @moo,

for shells there are currently (version 2.2) only mesh- and point-loads available. If you want to have line loads you need to embed dummy beams in the shell.

The LineToBeam-component of Karamba3D divides curved lines into straight segments. These are not further subdivided. The straight beam elements give exact results since they are based on a power series method (see reference [10] in the manual).


thanks a lot for explaining @ Clemens Preisinger


I am relooking at this method.
I am not sure how to get the guide of the elements.

for instance, if I have beam elements, I use the LineToBeam method
is there a way to get the guide from any of the LineToBeam outputs?

I printed to check and I don’t get an GUID

thanks in advance!

Hi @moo,
the ‘Elem’ output of the ‘LineToBeam’-component is of type ‘BuilderElement’. This class has the method ‘guid’ which returns the element’s GUID.
– Clemens