Discussion Groups

Robot Structural Analysis

Reply
Member
MaxBob
Posts: 5
Registered: ‎11-10-2011
Accepted Solution

Api C sharp

295 Views, 3 Replies
11-19-2011 12:27 AM

Prompt please. Excuse for my English :smileyhappy: How through API (C#):

1. choose nodes or beams or plate on coordinates (x,y,z)?

2. how to appoint coefficient of subgrade resistance of a ground for a separate FE.

Please use plain text.
Product Support
Rafal.Gaweda
Posts: 4,966
Registered: ‎04-26-2010

Re: Api C sharp

11-21-2011 01:31 AM in reply to: MaxBob

MaxBob wrote:

Prompt please. Excuse for my English :smileyhappy: How through API (C#):

1. choose nodes or beams or plate on coordinates (x,y,z)?

 

There is no automatic function to do so. You have to either make (write code) selection from code:

- find all nodes on plane

- find all connected bars to this nodes (use function GetConnectedBars) and exclude columns (bars not in the required plane)

- find all FEs basing on nodes selection

- find all Panels basing on FEs (property ObjectNumber on FE)

 

or get them from graphical selection from Robot - the easiest way to do it shown below, then get this selection(s) by code:

 

selection.jpg

 

code for getting graphical selection from Robot:

 

IRobotApplication robApp = new RobotApplication();


RobotSelection RNodesSelection = robApp.Project.Structure.Selections.Get(IRobotObjectType.I_OT_NODE);
RobotSelection RBarsSelection = robApp.Project.Structure.Selections.Get(IRobotObjectType.I_OT_BAR);
RobotSelection RPanelsSelection = robApp.Project.Structure.Selections.Get(IRobotObjectType.I_OT_PANEL);

 

RobotNodeCollection NodesCollection = (RobotNodeCollection)robApp.Project.Structure.Nodes.GetMany(RNodesSelection);
RobotBarCollection BarsCollection = (RobotBarCollection)robApp.Project.Structure.Bars.GetMany(RBarsSelection);
RobotObjObjectCollection PanelsCollection = (RobotObjObjectCollection)robApp.Project.Structure.Objects.GetMany(RPanelsSelection);

 

Then use these collections


2. how to appoint coefficient of subgrade resistance of a ground for a separate FE.

 

You can not do it for separate FE. You can assign elastic coefficient for panel(s).

Check this thread (VBA code but philosophy is the same) http://forums.autodesk.com/t5/Autodesk-Robot-Structural/VBA-Maillage-et-Axe-local-Plaque/m-p/3215358...   ->

 

ThickData.ElasticFoundation = 0  '<- set value here

 

 

 



Rafal Gaweda
Please use plain text.
Product Support
Rafal.Gaweda
Posts: 4,966
Registered: ‎04-26-2010

Re: Api C sharp

11-29-2011 06:19 AM in reply to: Rafal.Gaweda

HI

 

Example code for both selections in attached project.



Rafal Gaweda
Please use plain text.
Member
MaxBob
Posts: 5
Registered: ‎11-10-2011

Re: Api C sharp

12-05-2011 11:33 AM in reply to: Rafal.Gaweda

Thanks! Couldn't answer at once :smileyhappy: You have very much helped me!

Please use plain text.