Robot Structural Analysis Forum
Welcome to Autodesk’s Robot Structural Analysis Forums. Share your knowledge, ask questions, and explore popular Robot Structural Analysis topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

API: Get Data to Create Dimensioning Groups

22 REPLIES 22
Reply
Message 1 of 23
StefanoPasquini6790
2663 Views, 22 Replies

API: Get Data to Create Dimensioning Groups

Hi everyone,

 

I'm publishing my first "public" API.

 

This allow the user to import bars data from Robot and automaticly create dimensionig groups in Robot following seven different Criterion. 

 

Starting by my wishlist post: http://forums.autodesk.com/t5/robot-structural-analysis/auto-grouping-rules-for-bar-checking/idi-p/5... , I've made it by myself.

 

You can download the API here: http://www.pasquiniprogetti.it/?p=868

 

The code is open, feel free to edit it.

 

I'm waiting for your feedback and suggestions to a better develop of the tool.

 

Have a good Robot, Cheers


PasProStudio

www.pasquiniprogetti.eu

Structural + Detailing engineers
22 REPLIES 22
Message 2 of 23

Bravo Stefano!

One small tip: to increase speed use RobApp.Interactive = False at the start and RobApp.Interactive = True in the end of macro.

Another tip:

If Not RobApp.Visible Then
    Set RobApp = Nothing
    MsgBox "Open Robot and load Model", vbOKOnly, "ERROR"
    Exit Sub
End If

 

Do you find the posts helpful? "LIKE" these posts!
Have your question been answered successfully? Click 'ACCEPT SOLUTION' button.

Roman Zhelezniak

Robot Evangelist & Passionate Civil Structural Engineer

LinkedIn | Robot & Хобот | App Store for Robot
EESignature


Message 3 of 23

Thanks a lot, I will try "MAESTRO!!!"

 

Cheers


PasProStudio

www.pasquiniprogetti.eu

Structural + Detailing engineers
Message 4 of 23

Great!

I will add to our list.

 

Small cosmetic changes for combos to have no empty records:

 

Private Sub ComboBox1_Enter()
'load the data from Excel List
'
Dim FirstLabel As String
'PASSAGGIO DALLA PRIMA ALLA SECONDA PAGINA

row = 2
While Range("ba" & row) <> ""
ComboBox1.AddItem Range("ba" & row)
row = row + 1
Wend

End Sub



Private Sub ComboBox2_Enter()
Dim FirstLabel As String
'PASSAGGIO DALLA PRIMA ALLA SECONDA PAGINA
row = 2
While Range("bb" & row) <> ""
ComboBox2.AddItem Range("bb" & row)
row = row + 1
Wend

End Sub

 



Rafal Gaweda
Message 5 of 23

Edited, Great....

PasProStudio

www.pasquiniprogetti.eu

Structural + Detailing engineers
Message 6 of 23

Hi everyone,

 

Added other five criterion.

 

API here: http://www.pasquiniprogetti.it/?p=868

 

greetings


PasProStudio

www.pasquiniprogetti.eu

Structural + Detailing engineers
Message 7 of 23

HI Artur,

 

installed robot 2016 and there is some issue....can you try to make some tests?

 

It can depend by the registration????

 

issue.jpg

 

Thanks a lot


PasProStudio

www.pasquiniprogetti.eu

Structural + Detailing engineers
Message 8 of 23

Hi Stefano,

Picture size is really small.

Could you add the button "Remove Groups from Robot"?

Do you find the posts helpful? "LIKE" these posts!
Have your question been answered successfully? Click 'ACCEPT SOLUTION' button.

Roman Zhelezniak

Robot Evangelist & Passionate Civil Structural Engineer

LinkedIn | Robot & Хобот | App Store for Robot
EESignature


Message 9 of 23

Hi Roman,

Very nice suggestion, I will work on it when I will solve the problems with ARSA2016 compatibility.

Thank you

PasProStudio

www.pasquiniprogetti.eu

Structural + Detailing engineers
Message 10 of 23

Stefano,

 

It is related to not fully \ correctly registered API interfaces

 

Run as Admin "C:\Program Files\Autodesk\Autodesk Robot Structural Analysis Professional 2016\System\Exe\rsetup.exe" /ReRegServer

 

or similar concerning your versions : 

http://forums.autodesk.com/t5/robot-structural-analysis/vba-excel-macro-for-any-object-geometry-modi...

but it must be done with ADMINISTRATOR RIGHTS



Rafal Gaweda
Message 11 of 23

Hi API experts,

 

I made a large use of this tool, it give me the power to manage easily big models and create dimensioning groups to optimize my steel structures.

 

Anyway, I'd like to improve it, but I don't have the right knowledge to do it therefore, if someone can suggest me how, I will appreciate too much. This are the topics that I want to improve:

 

1) the creation of the lists that contain the cross section and the bar type present in the model are very time consuming. Now I've improved the tool that create the lists only one time, and until nothing change in the model...there is some way to do it faster (read from robot the lists, a different way to create lists....or any other workaround????)

 

2) It will be very useful to manage also the deleting of groups, as suggested by Romanich, but I can't do it.....Smiley Embarassed

 

 

I'm sorry for my basic questions but I'm not a programmer....I only try to be!!!


PasProStudio

www.pasquiniprogetti.eu

Structural + Detailing engineers
Message 12 of 23


 

2) It will be very useful to manage also the deleting of groups, as suggested by Romanich, but I can't do it.....Smiley Embarassed

 

 

    Dim RDMServer As RDimServer
    Dim RDMGrps As RDimGroups

    Set RDMServer = RobApp.Kernel.GetExtension("RDimServer")
    RDMServer.Mode = I_DSM_STEEL
    
    Set RDMGrps = RDMServer.GroupsService
    RDMGrps.Delete group_number

 



Rafal Gaweda
Message 13 of 23


 

1) the creation of the lists that contain the cross section and the bar type present in the model are very time consuming. Now I've improved the tool that create the lists only one time, and until nothing change in the model...there is some way to do it faster (read from robot the lists, a different way to create lists....or any other workaround????)

 

 

    Dim RSelection As RobotSelection
    Set RSelection = RobApp.Project.Structure.Selections.CreateByLabel(I_OT_BAR, I_LT_BAR_SECTION, sec_name)
    Dim RSelection As RobotSelection
    Set RSelection = RobApp.Project.Structure.Selections.CreateByLabel(I_OT_BAR, I_LT_MEMBER_TYPE, membertype_name)


Rafal Gaweda
Message 14 of 23
Rafal.Gaweda
in reply to: Rafal.Gaweda

HINT:
RobApp.Project.Structure.Labels.GetMany(...)
will return labels used on model



Rafal Gaweda
Message 15 of 23

WOW....

 

I will try to improve my tool....and then I will share it!!!

 

Thanks a lot Mister Rafal...


PasProStudio

www.pasquiniprogetti.eu

Structural + Detailing engineers
Message 16 of 23

Good morning at all,

 

Just released the fourth version, incredibly improved, of the DIM Groups Manager.

 

You can find it here: 

 

http://www.pasquiniprogetti.it/?p=868

 

Enjoy it


PasProStudio

www.pasquiniprogetti.eu

Structural + Detailing engineers
Message 17 of 23
Anonymous
in reply to: StefanoPasquini6790

Hi Stefano,

 

 

First of all, thank you very much for all your hard work you put into this pluging, it is working perfect.

 

However, I've got one issue with, that is not being able to define the range of sections out of which Robot would pick up the most efficient one during the design process. Am I missing something or it really is not currently possible? To make it clear I attached a PDF showing the window in which we normally define these section ranges. So is the functionality of this window available in your plugin? Do you know how it can be done?

 

Thank you,

Michal

 

Message 18 of 23
StefanoPasquini6790
in reply to: Anonymous

Hi Michal,

 

unfortunately I can't manage this tool inside the API but, when you create a DIM group in robot, he automatically assign the cross section family that the elements already have...for example, if you create a DIM group for elements that have assigned the cross section HEA, also different kind of HEA in group, Robot use HEA to optimize the group members. This could be a good shortcut to manage the dimensioning phases....when you want to investigate deeply your optimization, you have to assign manually the cross sections that you want to use, as you shown in your pdf.

 

Hope I help you, cheers.


PasProStudio

www.pasquiniprogetti.eu

Structural + Detailing engineers
Message 19 of 23

If I follow your discussion correctly : take a look at "Robot API SteelDesign.pdf" , chapter 4.4.3 -> pages 96, 97


Rafal Gaweda
Message 20 of 23
Anonymous
in reply to: StefanoPasquini6790

Stefano, thanks for your quick reply, this helps a lot.

To be honest I was not quite aware that Robot would look at the range of sections according to the type of section already assigned to a member. I always defined the range I wanted to in the code group definition 🙂 We learn all the time, don't we?

I still wonder, though, whether or not in the future it would be possible to define this range independently from the type of section already assigned 🙂 For example I would like Robot to look at the tubular and I sections at the same type for a given group. And then I would choose the one I like the most. I know that in real life we usually know what type of section the member going to have, however I meant more conceptual projects where before the design it's sometimes hard to say what type of section would work most efficiently (axial forces + biaxial bending + torsion + high shear). Anyway, thanks again and I hope to see your tool developing further 🙂

 

Have a good day,

M.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Technology Administrators


Autodesk Design & Make Report