& Construction

Integrated BIM tools, including Revit, AutoCAD, and Civil 3D
& Manufacturing

Professional CAD/CAM tools built on Inventor and AutoCAD
Integrated BIM tools, including Revit, AutoCAD, and Civil 3D
Professional CAD/CAM tools built on Inventor and AutoCAD
Hello,
After creating a series of panels in RSA I was trying to get the membrane forces of each node (after running the calculation) using an algorithm in VB. I have seen some topics in this forum about using the query mechanism (and others) but it's only for bars, and I'm having some trouble changing it to panels.
And another question, is possible to get the coordinates of the nodes at the same time?
Can anyone help?
Thanks in advance
Solved! Go to Solution.
Some classes in this code snippets may not exist in Robot but it will give you idea how to do it
protected RobotResultQueryParams CreateQueryParamsForSurfacesValues(List<SdxData.EPhysical> results, bool forAbsoluteMaximum) { RobotResultQueryParams queryParams = (RobotResultQueryParams)this.RobotKernel.CmpntFactory.Create(IRobotComponentType.I_CT_RESULT_QUERY_PARAMS); queryParams.ResultIds.SetSize(results.Count); for (int i = 0; i < results.Count; i++) { int id = (int)results[i]; queryParams.ResultIds.Set(i + 1, id); } queryParams.Selection.Set(IRobotObjectType.I_OT_CASE, this.CreateSelectionLoadCase()); queryParams.SetParam(IRobotResultParamType.I_RPT_MULTI_THREADS, true); queryParams.SetParam(IRobotResultParamType.I_RPT_THREAD_COUNT, 4); queryParams.SetParam(IRobotResultParamType.I_RPT_SMOOTHING, IRobotFeResultSmoothing.I_FRS_SMOOTHING_WITHIN_A_PANEL); queryParams.SetParam(IRobotResultParamType.I_RPT_LAYER, forAbsoluteMaximum ? 6 : (int)IRobotFeLayerType.I_FLT_MIDDLE); queryParams.SetParam(IRobotResultParamType.I_RPT_DIR_X_DEFTYPE, IRobotObjLocalXDirDefinitionType.I_OLXDDT_CARTESIAN); queryParams.SetParam(IRobotResultParamType.I_RPT_DIR_X, new double[] { 0, 0, 0 }); return queryParams; } protected RobotSelection CreateSelectionLoadCase() { RobotSelection selector = this.RobotKernel.Structure.Selections.Create(IRobotObjectType.I_OT_CASE); foreach (string id in this.Header.LoadCaseNotEmptyIndices) { selector.AddText(id); } return selector; } Getting results: RobotResultQueryParams queryParams = this.CreateQueryParamsForSurfacesValues(results, forAbsoluteMaximum); RobotResultRowSet rowSet = new RobotResultRowSet(); IRobotResultQueryReturnType ret = IRobotResultQueryReturnType.I_RQRT_MORE_AVAILABLE; bool anythingCalculated = false; while (ret != IRobotResultQueryReturnType.I_RQRT_DONE) { ret = this.RobotKernel.Structure.Results.Query(queryParams, rowSet); bool isOk = anythingCalculated = rowSet.MoveFirst(); while (isOk) { RobotResultRow row = rowSet.CurrentRow; int nodeId = (int)row.GetParam(IRobotResultParamType.I_RPT_NODE); int panelId = (int)row.GetParam(IRobotResultParamType.I_RPT_PANEL); string idCase = ((int)row.GetParam(KernelOM.IRobotResultParamType.I_RPT_LOAD_CASE)).ToString(); foreach (SdxData.EPhysical item in results) { int id = (int)item; if (row.IsAvailable(id)) { double value = (double)row.GetValue(id); } else { throw new Exception(string.Format(Properties.Resources.Error_ReadingElemNode, panelId, nodeId)); } } } isOk = rowSet.MoveNext(); } }
Can you tell me what is the content of variable resultes?
I am missing id number and how can find list of thoes values?
queryParams.ResultIds.SetSize(results.Count); for (int i = 0; i < results.Count; i++) { int id = (int)results[i]; queryParams.ResultIds.Set(i + 1, id); }
How to buy
Privacy | Do not sell or share my personal information | Cookie preferences | Report noncompliance | Terms of use | Legal | © 2025 Autodesk Inc. All rights reserved
Type a product name