Hallo zusammen,
ich versuche gerade die iProperties der Erstansicht eines Bauteils / einer Baugruppe in die iProperties einer Zeichnung zu übernehmen. Das funktioniert auch mit folgendem Code wunderbar:
modelName = IO.Path.GetFileName(ThisDrawing.ModelDocument.FullFileName)
If iProperties.Value("Project", "Description") = ""
iProperties.Value("Project", "Description") = iProperties.Value(modelName, "Project", "Description")
End If
If iProperties.Value("Project", "PROJECT") = ""
iProperties.Value("Project", "PROJECT") = iProperties.Value(modelName, "Project", "PROJECT")
End If
Nun habe ich allerdings das Problem, dass ich ab und an auch mal eine Zeichnungsableitung von Explosionsdarstellungen machen muss. Hier funktioniert der obige Code nun nicht mehr und es wird folgende Meldung ausgegeben:
"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."
Um diese Fehlermeldung zu umgehen habe ich den Code nun so verändert:
modelName = IO.Path.GetFileName(ThisDrawing.ModelDocument.FullFileName)
Endung = Right(modelName,3)
If Endung = "ipn" Then
MessageBox.Show("Die Übernahme der iProperties aus der Explosionsdarstellung ist nicht möglich. Bitte fülle die iProperties 'Projekt' und 'Bezeichnung' selber aus!", "Übernahmefehler")
Else
If iProperties.Value("Project", "Description") = ""
iProperties.Value("Project", "Description") = iProperties.Value(modelName, "Project", "Description")
End If
If iProperties.Value("Project", "PROJECT") = ""
iProperties.Value("Project", "PROJECT") = iProperties.Value(modelName, "Project", "PROJECT")
End If
End If
Anstatt aber eine Meldung auszugeben würde ich den Code gerne so ändern, dass das Script merkt das die Erstansicht eine *.ipn ist und dann die Daten aus der in der *.ipn dargestellten Baugruppe rauszieht.
Da ich in der *.ipn Datei keine iLogic Regeln verwenden kann sehe ich nur diese Möglichkeit. Wenn es noch eine andere Möglichkeit gibt, bin ich für jeden Vorschlag offen.
Gruß
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP