Hi @Milan_Nosil,
i think @bradeneuropeArthur is right.
I have a rule where you can select a Occurrence. The rule will check if there is a .idw or .dwg within the project.
Just copy the code in an iLogic rule. Maybe this will help you.
Sub Main
Dim oOcc As ComponentOccurrence
oOcc = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kAssemblyOccurrenceFilter, "Komponente auswählen..")
Dim oDoc As Document
oDoc = oOcc.Parent.Parent
' Call the function to get the drawing.
Dim drawingFilename As String
drawingFilename = FindDrawingFile(oDoc)
' Display the result.
If drawingFilename <> "" Then
MsgBox ("The drawing for """ & oDoc.FullFileName & """ was found: " & vbCr & drawingFilename )
Else
MsgBox ("No drawing was found for """ & oDoc.FullFileName & """" )
End If
End Sub
Private Function FindDrawingFile(PartOrAssemblyDoc As Document)
Dim fullFilename As String
fullFilename = PartOrAssemblyDoc.FullFileName
Dim path As String
path = Left$(fullFilename, InStrRev(fullFilename, "\"))
Dim filename As String
filename = Right$(fullFilename, Len(fullFilename) - InStrRev(fullFilename, "\"))
filename = Left$(filename, InStrRev(filename, ".")) & "dwg"
Dim drawingFilename As String
drawingFilename = ThisApplication.DesignProjectManager.ResolveFile(path, filename)
If drawingFilename = "" Then
filename = Left$(filename, InStrRev(filename, ".")) & "idw"
drawingFilename = ThisApplication.DesignProjectManager.ResolveFile(path, filename)
If drawingFilename <> "" Then
FindDrawingFile = drawingFilename
Else
FindDrawingFile = ""
End If
Else
FindDrawingFile = drawingFilename
End If
End Function
source: https://modthemachine.typepad.com/my_weblog/2016/01/open-drawing-from-a-part-or-assembly.html
good luck 😊
Aleksandar Krstic
Produkt- und Projektmanager

