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: 

ROBOT API Release Orientation

19 REPLIES 19
Reply
Message 1 of 20
arseneATingerop
918 Views, 19 Replies

ROBOT API Release Orientation

Hi

 

I'm trying to get the release data in a bar in C# but I'm not sure of the switch between start and end .

 

From the label, I get StartNode.UX... but the data for bar.GetLabel(IRobotLabelType.I_LT_BAR_RELEASE).Data.StartNode corresponds to the bar.EndNode and so on.

I've checked the property bar.ReversedRelease but with no effects.

 

Here are some pieces of information I got from label

   Type Label = I_LT_BAR_RELEASE
   roblabel name = ENC-ART
   release_data.StartNode.UX = I_BERV_NONE
   release_data.StartNode.UY = I_BERV_NONE
   release_data.StartNode.UZ = I_BERV_NONE
   release_data.StartNode.RX = I_BERV_NONE
   release_data.StartNode.RY = I_BERV_NONE
   release_data.StartNode.RZ = I_BERV_NONE
   release_data.EndNode.UX = I_BERV_NONE
   release_data.EndNode.UY = I_BERV_NONE
   release_data.EndNode.UZ = I_BERV_NONE
   release_data.EndNode.RX = I_BERV_FIXED
   release_data.EndNode.RY = I_BERV_FIXED
   release_data.EndNode.RZ = I_BERV_FIXED

Any ideas ?

 

Thanks

Arsene HAW

INGEROP

19 REPLIES 19
Message 2 of 20

This is the way how it is created.

I will check GET also

 

    Dim RLabel As RobotLabel
        
    Dim RelData As RobotBarReleaseData
    Dim EndData As RobotBarEndReleaseData

    Set RLabel = RobApp.Project.Structure.Labels.Create(I_LT_BAR_RELEASE, "MY RELEASE")
    Set RelData = RLabel.Data
    Set EndData = RelData.StartNode
    EndData.RY = I_BERV_STD
    
    Set EndData = RelData.EndNode
    EndData.RX = I_BERV_STD
    
    RobApp.Project.Structure.Labels.Store RLabel

 



Rafal Gaweda
Message 3 of 20


I've checked the property bar.ReversedRelease but with no effects.

 

Unfortunately bar.ReversedRelease gives always FALSE it means that it is wrong in case of reversed release on bar.

Must be corrected by developers.

 



Rafal Gaweda
Message 4 of 20
igos
in reply to: Rafal.Gaweda

Hello Rafal,

Was this problem (with ReversedRelease property) corrected in new versions of RSA, for example 2014?

_________________________________________

https://ru.linkedin.com/in/igor-saltykov-8a68b726
Message 5 of 20
Rafal.Gaweda
in reply to: igos

Correction is planned to be released in SP2 for 2014.

SP2 will be available soon.



Rafal Gaweda
Message 6 of 20
igos
in reply to: Rafal.Gaweda

Ok, and whats about 2013 version?

_________________________________________

https://ru.linkedin.com/in/igor-saltykov-8a68b726
Message 7 of 20
Rafal.Gaweda
in reply to: igos


Ok, and whats about 2013 version?


Not planned to relase any more corrections to 2013.



Rafal Gaweda
Message 8 of 20
igos
in reply to: Rafal.Gaweda

Bad news about 2013!

 

Honestly, I try to NOT use new versions of RSA until at least three SP's released.

Yes, Robot is amazingly unreliable software, I've never seen such before.

_________________________________________

https://ru.linkedin.com/in/igor-saltykov-8a68b726
Message 9 of 20
Rafal.Gaweda
in reply to: igos

As far as I remeber you have used it for years now 🙂



Rafal Gaweda
Message 10 of 20
igos
in reply to: Rafal.Gaweda

Yes, Rafal, you are correct. But not for full calculations and analyse, only for meshing (it's quite cool in Robot, seriously). Then convert whole meshed model into another program (which have no link with Revit).

Long "production chain" of course.... 

So, this question about releases - I wanted to add new function into converting program to transfer releases into another software. But, quite important properly for bars with only one end released is not working. I wasn't surprised, really 🙂

_________________________________________

https://ru.linkedin.com/in/igor-saltykov-8a68b726
Message 11 of 20
Rafal.Gaweda
in reply to: igos

Igor

Then convert whole meshed model into another program (which have no link with Revit).

Long "production chain" of course.... 

 

to L..A soft ?

 

 bars with only one end released is not working. I wasn't surprised, really 🙂

only if reversed

 -> SP2 2014



Rafal Gaweda
Message 12 of 20
igos
in reply to: Rafal.Gaweda

to L..A soft ?

Yes, you are correct

 

only if reversed

-> SP2 2014

Yes, but sometimes in big model it's quite hard to find reversed bars, so waiting for SP2!

_________________________________________

https://ru.linkedin.com/in/igor-saltykov-8a68b726
Message 13 of 20
arseneATingerop
in reply to: igos

Hello

 

About this old topic, I've recently used Autodesk Robot 2014 (version 27.0.4.4679 (x64)).

 

It  seems the "ReverseReleased" method has been corrected, as I sometimes get True or False.

 

Therefore, I thought that my problem was over and that I could change the actual implementation I had done, using for example an export as STR and parsing the "RELâchements" chapter... (not very convenient nor safe for future versions, I agree)

 

But, actually, when I tried the "ReverseReleased" + reading of the "UX, ... , RZ" value, I somehow now get the wrong values for "UX, ..., RZ" whereas "ReverseReleased" seems okay.

 

Could you please confirm the issue or is it my reading which is oncorrect ?

 

Thanks for your help...

 

 

 

 

Message 14 of 20

See below:

 

reversed.jpg

 

Example code 

 

Public RobApp As RobotApplication

Private Sub CommandButton1_Click()

Set RobApp = New RobotApplication

    
    Dim RLabel As RobotLabel
        
    Dim RelData As RobotBarReleaseData
    Dim EndData As RobotBarEndReleaseData


    Dim Rbar As RobotBar
    Dim BarNumber As Integer
    
    
For BarNumber = 1 To 2
    Set Rbar = RobApp.Project.Structure.Bars.Get(BarNumber)
    If Rbar.HasLabel(I_LT_BAR_RELEASE) Then
        Set RLabel = Rbar.GetLabel(I_LT_BAR_RELEASE)
        Set RelData = RLabel.Data
        Cells(1, BarNumber) = RelData.StartNode.UX
        Cells(2, BarNumber) = RelData.StartNode.UY
        Cells(3, BarNumber) = RelData.StartNode.UZ
        Cells(4, BarNumber) = RelData.StartNode.RX
        Cells(5, BarNumber) = RelData.StartNode.RY
        Cells(6, BarNumber) = RelData.StartNode.RZ
        Cells(7, BarNumber) = RelData.EndNode.UX
        Cells(8, BarNumber) = RelData.EndNode.UY
        Cells(9, BarNumber) = RelData.EndNode.UZ
        Cells(10, BarNumber) = RelData.EndNode.RX
        Cells(11, BarNumber) = RelData.EndNode.RY
        Cells(12, BarNumber) = RelData.EndNode.RZ
        Cells(13, BarNumber) = Str(Rbar.ReversedRelease)
    End If
 Next BarNumber
  

Set RobApp = Nothing
End Sub

 



Rafal Gaweda
Message 15 of 20

Hello, Rafal

 

Thanks for your help.

 

I agree with the results for some bars but not for all of them, unfortunately...

 

May I join a model (not created by me) and a Excel file with a macro based on your code which shows the problem ?

 

Maybe it's because the file was recorded under version 26 ? or is in a wrong state ?

 

Arsène

 

 

 

 

 

Message 16 of 20


 

May I join a model (not created by me) and a Excel file with a macro based on your code which shows the problem ?

 

Sure.



Rafal Gaweda
Message 17 of 20

Here are my model and a excel file (my pieces of software are in C# but Excel VBA is easier to transmit)

 

I get {0,...0} on bar #19 and many more...

 

 Here is my code in Excel VBA

 

 

Public RobApp As RobotApplication


Sub Relacher()

    Dim fullpathname As String
    
    Dim RLabel As RobotLabel
        
    Dim RelData As RobotBarReleaseData
    Dim EndData As RobotBarEndReleaseData

    Dim Rbar As RobotBar
    
    Dim BarNumber As Long
    
    Set RobApp = New RobotApplication
    
    RobApp.Interactive = True
    RobApp.Visible = True
    
    fullpathname = ActiveWorkbook.Path + "\Hall-2015-02-18.rtd"
    
    RobApp.Project.Open (fullpathname)
    
'For BarNumber = 1 To 2
    BarNumber = 19
    Set Rbar = RobApp.Project.Structure.Bars.Get(BarNumber)
    If Rbar.HasLabel(I_LT_BAR_RELEASE) Then
        Set RLabel = Rbar.GetLabel(I_LT_BAR_RELEASE)
        Set RelData = RLabel.Data
        Cells(1, BarNumber) = RelData.StartNode.UX
        Cells(2, BarNumber) = RelData.StartNode.UY
        Cells(3, BarNumber) = RelData.StartNode.UZ
        Cells(4, BarNumber) = RelData.StartNode.RX
        Cells(5, BarNumber) = RelData.StartNode.RY
        Cells(6, BarNumber) = RelData.StartNode.RZ
        Cells(7, BarNumber) = RelData.EndNode.UX
        Cells(8, BarNumber) = RelData.EndNode.UY
        Cells(9, BarNumber) = RelData.EndNode.UZ
        Cells(10, BarNumber) = RelData.EndNode.RX
        Cells(11, BarNumber) = RelData.EndNode.RY
        Cells(12, BarNumber) = RelData.EndNode.RZ
        Cells(13, BarNumber) = Str(Rbar.ReversedRelease)
    End If
'Next BarNumber
 
    RobApp.Project.Close
    RobApp.Quit (I_QO_DISCARD_CHANGES)

    Set RobApp = Nothing
End Sub

 

 

Message 18 of 20

Because it is not "real" (with label) release. It is automatically generated release after bar spliting  \ dividing.

 

generatedrelease.jpg

 



Rafal Gaweda
Message 19 of 20

Thanks for the explanation

 

 I agree and I haven't built the model myself, so I don't know how it has been built. 

 

But, in such case, how can I get the release values on auto-generated releases on bars ?

 

One idea I got is that it's part of a superBar, for which maybe I can get a REAL LABEL ? Is it possible ?

 

 

Message 20 of 20

Is it possible ?

 

 

No.

 



Rafal Gaweda

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

Post to forums  

Autodesk Design & Make Report