Community
What is the way to get Required Reinforcement values on panels from API?
robapp.Project.Structure.Results ... ???
Solved! Go to Solution.
Solved by psynan. Go to Solution.
Public Sub CommandButton1_Click() Dim RobApp = New RobotApplication Dim FeReinRes As RobotFeResultReinforcement row = 10 For i = 1 To 24 Set FeReinRes = RobApp.Project.Structure.Results.FiniteElems.Reinforcement(i) Cells(row, 2) = FeReinRes.AX_BOTTOM * 10000 Cells(row, 3) = FeReinRes.AX_TOP * 10000 Cells(row, 4) = FeReinRes.AY_BOTTOM * 10000 Cells(row, 5) = FeReinRes.AY_TOP * 10000 row = row + 1 Next i End Sub
As I understand,
robapp.Project.Structure.Results.FiniteElems.Reinforcement() -> expects an integer (node number)
however it doesn't work.
RobotSelection NodeSelection = robApp.Project.Structure.Selections.CreateFull(IRobotObjectType.I_OT_NODE); // Select Nodes IRobotCollection NodeCollection = (IRobotCollection)robApp.Project.Structure.Nodes.GetMany(NodeSelection); // Collect Nodes for (int i = 1; i <= NodeCollection.Count; i++) {
RobotNode RN = NodeCollection.Get(i); var FeRein = (RobotFeResultReinforcement)robApp.Project.Structure.Results.FiniteElems.Reinforcement(RN.Number); double asax = FeRein.AX_BOTTOM * 1000; double asay = FeRein.AY_BOTTOM * 1000; double asux = FeRein.AX_TOP * 1000; double asuy = FeRein.AY_TOP * 1000; }
this doesn't work.
all values are 0.0
No. Its not working that way!
One should provide the panel number together with the node number, instead of FE number.
Check out the image!
So the correct way is:
robApp.Project.Structure.Results.FiniteElems.Reinforcement(Panel.Number, Node.Number)