• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Autodesk Robot Structural Analysis

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

    Api C sharp

    223 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
    Posts: 2,507
    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
    Product Support
    Autodesk, Inc.
    Please use plain text.
    Product Support
    Posts: 2,507
    Registered: ‎04-26-2010

    Re: Api C sharp

    11-29-2011 06:19 AM in reply to: RG_Adsk

    HI

     

    Example code for both selections in attached project.



    Rafal Gaweda
    Product Support
    Autodesk, Inc.
    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: RG_Adsk

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

    Please use plain text.