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
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
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.
Hello Rafal,
Was this problem (with ReversedRelease property) corrected in new versions of RSA, for example 2014?
Correction is planned to be released in SP2 for 2014.
SP2 will be available soon.
Ok, and whats about 2013 version?
Ok, and whats about 2013 version?
Not planned to relase any more corrections to 2013.
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.
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 🙂
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
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!
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...
See below:
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
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
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.
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
Because it is not "real" (with label) release. It is automatically generated release after bar spliting \ dividing.
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 ?