- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hallo zusammen,
ich habe folgendes Problem. Ich will mithilfe einer Excel-Liste über VBA im Inventor Baugruppen und damit verknüpfte Zeichnungen erstellen lassen. Dazu habe ich für beides eine Vorlage, um für alle Baugruppen dieselbe Formatierung der Bauteilliste auf der Zeichnung zu haben. Das Makro funktioniert bisher so, dass die Baugruppe erstellt wird und unter einem bestimmten Namen abgespeichert wird, (damit sich an der Vorlagen-Baugruppe nichts ändert). Als nächsten Schritt muss in der Zeichnung die Referenz der Ursprungs-Baugruppe, durch die mit dem neuen Namen ersetzt werden. Im Inventor wäre das ja der Button 'Modellreferenz ersetzen'. In VBA sollte das mit der Methode invDwg.ReferencedFileManager.ReplaceReference umzusetzen sein. Allerdings funktioniert das nicht, da ich scheinbar die dafür benötigte Bibliothek 'Autodesk Inventor 1.0 Type Library' in VBA nicht verweisen kann und auch nicht manuell hinzufügen kann (über die Datei Autodesk.Inventor.Interop.dll)
Gibt es eine Möglichkeit ohne dieser Bibliothek die Modellreferenz einer Zeichnung zu ersetzen? Ich fand bis dato leider nur read-only-Methoden, über die man nur auslesen kann welche Referenzen bestehen, jedoch leider nicht ändern/umschreiben kann.
Anbei der (etwas gekürzte) VBA-Code:
Dim invApp As Inventor.Application
Dim invDwg As Object
Dim oOldReference As Document
Dim oReferencedDocs As DocumentsEnumerator
Set invDwg = invApp.ActiveDocument
Set oReferencedDocs = invDwg.AllReferencedDocuments
' Suche nach der alten Modellreferenz und ersetze sie
Set oOldReference = oReferencedDocs.Item(1)
' Ersetze die Referenz von der alten Baugruppe zur neuen Baugruppe
invDwg.ReferencedFileManager.ReplaceReference oOldReference.FullFileName, oPath & "\" & BaugruppenName
Danke vorab und Grüße aus der Oberpfalz!
Solved! Go to Solution.