Custom Nodes for Robot structural analysis

Dear all,

I am currently working on a case study project that requires the utilization of specific functions along with the Robot Structural Analysis (RSA) package. These functions include:

  1. Linear 3D Load: This function involves defining a load by specifying two points and values, which are then applied to finite elements (FE).
  2. Analytical Opening: This function entails defining an opening using a closed curve.
  3. Setting Attributes for Analytical Panels by Name: This task involves assigning attributes, such as material and model attributes, to analytical panels.

I am trying to create these functions as Dynamo nodes using C#, but I am currently encountering challenges in that process.

Your guidance and expertise in these areas would be greatly appreciated.

Thank you.

Doable, but not easy as the documentation for the RSA api is very limited.

What is the current blocker / warning for each?

Thanks For Your Time
Currently the Blocker for me is that Structural analysis package offer setting analytical panel attributes is just for panel thickness
i need to set the calculation model for the analytical panel
Screenshot 2023-10-29 123157

Ok, and what have you tried in C # to get to this property?

Could not do any thing
in fact i am trying to find another way in python and here is my script

import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

from System import Environment
clr.AddReference("C:\Program Files\Autodesk\Robot Structural Analysis Professional 2023\Exe\Interop.RobotOM.dll")
from RobotOM import *
from System import Object

panel_id = IN[1]




application = IN[0]
project = application.Project
structure = project.Structure


for i in range(len(panel_id)):
    

#Assign your output to the OUT variable.
OUT = application

i am looking for how to set panel calculation model attributes

Not much code there… boilerplate and a start for a for loop with no actions in it.

Due to the nature of the Robot api I do not recommend utilizing Python for interactions like this. I recently delivered a Dynamo for Robot project in C# solely for this reason (though not on panels). There is simply too many bugs in the five or six layers of software translations.

1 Like

For anyone who’d like to get started with developing such nodes in C# on your own, look into the following resources:

Basic ZeroTouch node development:

  • Developer primer: Most updated (like a month or so ago), but misses some of the user preference stuff and intro to C# stuff in the other toolsets.

  • Become a Zero Touch Node Developer in 75 minutes: A bit dated and there are a few broken links, but overall very useful and relevant content.

  • Dynamo unchained: Also a bit dated, but very well organized and to the point.

  • Robot API: Mostly you’re going to have to dig into the forum for a LOT of stuff. Things are undocumented all over the place unfortunately, and the API and UI often doesn’t align the way you’d think it would.

@Jaafar_Al_Nasire

@jacob.small is right. what i experienced when i started using the package. is that when yo have one python code inside, there is a ‘Speed’ difference between the standaard nodes and python codes.
What we did inside our company is making use of full python scripts inside dynamo.

If you check my username on this forum and RSA forum you will find quite a few codes, that may help you.

Gr Edward