Dynamo draw solids from coordinates

Hi All,

I don’t know if it’s possible but i’m triying to create a solid with dynamo for RSA. See below my sheet.


To create the contour of the bottom is not a problem. but how to go further now?
I’m thinking now on 2 options but i don’t know how to establish them.

  • create a node which extrudes the bottom contour.
  • create all 6 outside surface and create from there a solid.

I hope someone can help me with this or point me in te right direction.

Thanks in advance,

Greets Edward

The programs i use are:

  • Robot structural analysis 2020
  • autodesk dynamo studio 2017(core 1.3.4.6666/studio 1.3.0.946)
  • Structural Analysis for Dynamo 2.0.1

I don’t quite understand the question (& don’t know anything about RSA)
But there is probably a simpler way.

In this example, the cuboid is a solid & I am getting the curves (lines) from the solid. You could also create a solid by lofting between 2 curves if yours is not a cuboid (rectangular box)

@Andrew_Hannell thanks for your answer, it looks like a cleaner way to create the solid.
But the question is how to get the solid in to Robot structural Analysis to perform a structural analsis.

I know nothing about structural analysis
But a very simple example would be like this

The Structural Analysis for Dynamo package has some more complex examples


@Andrew_Hannell Thanks for your try, but that are just simple bars you drawed.

I want to create solids. maybe @Jonathan.Olesen and @Emmanuel_Weyermann (i’ve seen your names in related topics) can help me with this?

Let me ask you this, how would you go about it if you had to create it inside RSA? :slight_smile:

my understanding is that in RSA, the analytical model consists of bars and nodes. From there, you can assign specific structural members to the bars
Does RSA deal with solids ?

  • draw contour
  • use panel tool with face selected to create face
  • select face and extrude it.

So the solution would be:

  1. Start project with “Volumetric Structure Design” template.
  2. Write C# / Python script for creating and working with solids
  3. Go bananas.

To my knowledge the solids are not as of yet implemented in any relation to Dynamo with RSA.

Hello @Jonathan.Olesen,

thanks for your reply.
I have found a work around. I’m starting now a new project with shell structure, create the panel contours with “analytical panel by curves(see first post)” and from there I change the structure type to ‘Volumetric Design’, and extrude the panels by hand.
I can’t figure out how to translate the codes/names from the API of robot to Python script.
Below the parts i think i need to get the extrusion working.
RSA%20API%205_2

This is what i have written now in the python script(doesn’t work).

I don’t know what to change to get the extrusion working.

  • I’m not sure that it’s correct to call (line 17) labels=structure.Labels

Hope you can tell me a little bit more on what to change to get this script working?

thanks in advance.

Gr Edward

Hi @Jonathan.Olesen

Can you reply on the last message?
am I on the right way with the script?

Below i copied the code instead of a picture.

Thanks in advance.

import clr

clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry import *
#The inputs to this node will be stored as a list in the IN variables.

add Robot Structural Analysis API reference

from System import Environment
#get the current user folder i.e C:\Users<you>\AppData\Roaming
user = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

add the reference to the interop file shipped with the package

clr.AddReferenceToFileAndPath(user +r"\Dynamo\Dynamo Core\1.3\packages\Structural Analysis for Dynamo\bin\RSA\interop.RobotOM.dll")

add needed import to be able to use Robot Structural Analysis objects

from RobotOM import *
from System import Object
application = RobotApplicationClass()
project = application.Project
structure = project.Structure
labels = structure.Labels

output = [“Success”]
#Define input
Contour = IN[0]
NDiv = IN[1]
Vector = IN[2]
out = labels.Create(IRobotObjModification.I_CT_MODIF_EXTRUSION, Vector)

Hi @1234eddie, firstly when adding code you should add it as preformatted text using the “</>” icon:

Secondly, sure you’re on the right track, however you cannot utilize the structure package in connection with a custom call to the robot api as these two does not work together, you will have to code up every piece of functionality from that package if you wish to utilize your script.

When that has been said, you are feeding a string but call it vector? you’re not using your input 0 and 1?

currently you’re creating a category, of extrusions and calling it “0,0,1”. (You’re working in the label server).

I’m sorry that I cannot be of more help, but I do not currently have the time to dive back into the RSA API and code up the functionality, the best way would be to make a request to autodesk / dynamo team to implement the possibility of working with solids to the structural analysis package as this would save you heaps of hours of coding.

Just my two cents.

@Jonathan.Olesen

Thanks for your reply.

  1. I’m still learning, I see what you mean with input 0 and 1.
  2. Do you know if there are members of the dynamo team active on the forums?
  3. One last question: see picture below
    Structure
    Do you know if there is somewhere a list or descriptions avaible for the objects you can call with “structure. …”

Hi @1234eddie

No worries, we learn as long as we live.

There are heaps of members from the dynamo team on the forum, to name a few: @JacobSmall, @solamour, @john_pierson. However the one to go to for structural package is to my knowledge @Emmanuel_Weyermann

You’re refering the “RobotApplicatoinClass().Project.Structure”

Which from page 1280 in the API is defined as the object representing a structure defined in the project.

As far as i can see in the API documentation these are the members contained in “Structure”

I am not a part of the Dynamo team, but the point of contact between said team and our enterprise support organization (they support our largest customers with issues of scaling and such).

Dynamo team members should have a Dynamo Team badge - see a post from @solamour to see what I am referring to. Autodesk employees should have an Autodesk badge, but this is a bit hot or miss.

While no one from the Autodesk side is specifically here as part of our job requirement, we do our best and put in a LOT of off hours work to help any way we can. For me it’s nearly a second full time job some weeks.

3 Likes

Hello All,

Structural Analysis for Dynamo currently does not support Volumetric elements in RSA. The only possible option for generation of solids in RSA via Dynamo is to create desired shape using simple analytical elements (like analytical panels and bars) and then to manually merge them into solids in RSA(for example by extruding analytical panels).

An alternative route to do it in a more automatic way is to use API outside of dynamo as described earlier in this post.

Kind Regards,
Maciej Kubica,
Software Engineer at Autodesk