Issue:
You'd like to be able to open a component drawing by selecting a balloon from an assembly drawing.
Solution:
Here is an iLogic rule that uses a bit of API code to do this.
Dim oDoc As DrawingDocument = ThisApplication.ActiveDocument While True 'select Balloon Dim oBalloon As Balloon = Nothing oBalloon = ThisApplication.CommandManager.Pick _ (SelectionFilterEnum.kDrawingBalloonFilter, _ "Select a balloon to open it's drawing. " & " (press ESC To Exit selection)") If IsNothing(oBalloon) Then Exit While Dim oLeader As Leader If oBalloon IsNot Nothing Then oLeader = oBalloon.Leader Dim oLeaderNode As LeaderNode = oLeader.AllNodes(oLeader.AllNodes.Count) Dim oIntent As GeometryIntent = oLeaderNode.AttachedEntity Dim oCurve As DrawingCurve = oIntent.Geometry Dim oOcc As ComponentOccurrence = oCurve.ModelGeometry.ContainingOccurrence Dim oRefDoc As Document = oOcc.Definition.Document Dim oFilePath As String = oRefDoc.FullFileName() Dim oDrawingFilePath As String = Left(oFilePath, Len(oFilePath) -3) & "idw" Try oDrawDoc = ThisApplication.Documents.Open(oDrawingFilePath, True) Exit While Catch MsgBox("Could not open " & oDrawingFilePath, , "iLogic") End Try End While