Hi
I'm trying to get a list of all elements that are related with an use case.
I use UCElement.GetRelationSet(EA.EnumRelationSetType.rs******) to get a list of elements that are linked to specific UC, but it does not get elements that are connected with association link.
How can I get those elements?
Here's my code, if someone knows a better way to do please tell me.
Classes.Log.WriteLog(UCElement.Name)
Classes.Log.IncreaseIdentation()
Dim ElementRelations As String = UCElement.GetRelationSet(EA.EnumRelationSetType.rsDependEnd) & "," & _
UCElement.GetRelationSet(EA.EnumRelationSetType.rsDependStart) & "," & _
UCElement.GetRelationSet(EA.EnumRelationSetType.rsGeneralizeEnd) & "," & _
UCElement.GetRelationSet(EA.EnumRelationSetType.rsGeneralizeStart) & "," & _
UCElement.GetRelationSet(EA.EnumRelationSetType.rsParents) & "," & _
UCElement.GetRelationSet(EA.EnumRelationSetType.rsRealizeEnd) & "," & _
UCElement.GetRelationSet(EA.EnumRelationSetType.rsRealizeStart)
Classes.Log.WriteLog("UCElement.Elements")
Classes.Log.IncreaseIdentation()
For Each Element As EA.Element In UCElement.Elements
Classes.Log.WriteLog(Element.Name)
Next
Classes.Log.DecreaseIdentation()
Dim ElementsTrash() As String = ElementRelations.Split({","c}, StringSplitOptions.RemoveEmptyEntries)
Dim Elements As New List(Of String)
For Each s As String In ElementsTrash
If (Not Elements.Contains(s)) Then
Elements.Add(s)
End If
Next
Dim ElementsCollection As EA.Collection = Repository.GetElementSet(String.Join(",", Elements.ToArray()), 0)
For Each Element As EA.Element In ElementsCollection
Classes.Log.WriteLog(Element.Name)
Next
Classes.Log.ResetIdentation()