Get concrete shell results and coordinates of element with ElementId C# [SOLVED]

Hi,

Is it possible to get all the results data of the RC module with the ElementId?

femDesign.GetResults<RCShellReinforcementRequired>();

The code gives you a list with data for all the shells, but then I don’t find a way to get the coordinates of the shell elements.

How could I get the global coordinates and other results using the ElementId?

Hi @dfepe

var reinfRequired = connection.GetResults<Results.RCShellReinforcementRequired>();
var finiteElement = connection.GetFeaModel();

var feNodes = finiteElement.FemNode;
var feBars = finiteElement.FemBar;
var feShells = finiteElement.FemShell;

feNodse is a list of FemNode which will contains information about the coordinates of the nodes

internal FemNode(int nodeId, double x, double y, double z)
{
        this.NodeId = nodeId;
        this.X = x;
        this.Y = y;
        this.Z = z;
}

feShells is a list of FemShell object which contain the information about each mesh face of the slab

internal FemShell(string id, int elementId, int node1, int node2, int node3, int node4)
{
        this.Id = id;
        this.ElementId = elementId;
        this.Node1 = node1;
        this.Node2 = node2;
        this.Node3 = node3;
        this.Node4 = node4;
}

If some results are missing in our API, I remind you that you can use:

public List<string> GetResultsFromBsc(string inputBscPath, string outputCsvPath = null)

To learn more about bsc, have a look at the following documentation page.

Thank you,

I tried to use

var shellElement = femDesign.GetFeaShells();

But I was missing the paranthesis. I guess it does the same as your first piece of code:

var finiteElement = connection.GetFeaModel();

var feShells = finiteElement.FemShell;

Spot on! :slight_smile:
FiniteElement is a made up object which containts a collection of results

public Results.FiniteElement GetFeaModel(Results.Length units = Results.Length.m)
{
        var feaNode = GetFeaNodes(units);
        var feaBar = GetFeaBars(units);
        var feaShell = GetFeaShells(units);

        var fdFea = new Results.FiniteElement(feaNode, feaBar, feaShell);
        return fdFea;
}

If you do not mind, can I ask what are you trying to achieve with your C# code?

I want to do some parametric analysis of a concrete slab, changing thickness, reinforcement, load and plot some graphs with the data.

It feels quite slow when the Concrete is called from C#, is there any explanation for that?

I also get this warning in FEM Design several times per analysis. Is that behaviour normal?

Hi @dfepe !

Looks like there is an issue with one of the latest version of FEM-Design. I will further investigate the issue and come back to you.

connection.ApplyDesignChanges()

should theoretically close the dialog box but it does not work.

@dfepe

If you can get 23.7.0_Dev branch, the issue regarding the ApplyChanges should disappear

ok, thank you @MarcoPelle !

1 Like