| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Referenz ersetzen (942 mal gelesen)
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 12:46 <-- editieren / zitieren --> Unities abgeben:
Hallo miteinander, gibt es eine Möglichkeit bei einer Zeichnunbg die über mehreren Referenzen verfügt eine Spezielle zu ersetzen? Bisher habe ich immer das hier verwendet: Dim oFile As File oFile = oDrawDoc.File Dim oFD As FileDescriptor oFD = oFile.ReferencedFileDescriptors.Item(1) Call oFD.ReplaceReference(Referenzpfad) das funktioniert auch super und schnell aber leider nur wenn die Zeichnung über eine Refernz verfügt. MfG Felix
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 13:09 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
geht, wenn du weißt, welche Referenz du ersetzen willst: oFD = oFile.ReferencedFileDescriptors.Item(1) oFD = oFile.ReferencedFileDescriptors.Item(2) oFD = oFile.ReferencedFileDescriptors.Item(3) also nur den Index erhöhen. ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 13:24 <-- editieren / zitieren --> Unities abgeben:
Achso okay Und die Zahlen geben die Referenz an? Also die 1 ist die die ganz oben steht? Aber ganz oben steht die die ich ersetzen möchte (siehe Bild), aber wenn ich den Code ausführe passiert nichts. D.h. er ersetzt die referenz nicht bringt aber auch keine Fehlermelung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Dann Fällt mir nur noch ein, das ganze mit ner Schleife zu durchlaufen und in der Schleife den oFD.FullFileName abzugleichen und bei nem Treffer die Referenz ersetzen. ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 14:30 <-- editieren / zitieren --> Unities abgeben:
Also ich hab jetzt alle Referenzen durchsuchen lassen und finde auch die passende (MsgBox "gefunden" erscheint) Und danach möchte ich die Refernz ersetzen, das macht er aber nicht.... Hier ist der Code: ThisApplication = GetObject(, "Inventor.Application") Dim Pfad As String Dim oDrawDoc As Inventor.DrawingDocument Dim Referenz As String oDrawDoc = ThisApplication.ActiveDocument Pfad = oDrawDoc.FullDocumentName Dim x As Integer = Pfad.LastIndexOf("\") Referenz = Mid(Pfad, x + 2, Len(Pfad) - x - 3) & "iam" Dim oFile As File oFile = oDrawDoc.File Dim oFD As FileDescriptor For i = 1 To 10 oFD = oFile.ReferencedFileDescriptors.Item(i) If oFD.FullFileName = "S:\Austausch\Fiedler\1. Projektarbeit\Test\AN.iam" Then MsgBox("gefunden") Call oFD.ReplaceReference(Referenz) MsgBox("ersetzt") Exit Sub End If Next Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 15:24 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 15:34 <-- editieren / zitieren --> Unities abgeben:
Nein die zweite MsgBox kommt eben nicht, bis da hin kommt das Programm garni wies aussieht denn es stürzt beim Referenz ersetzen ab, aber ich weis nicht was ich falsch mache, bzw was ich anders machen kann. ein Update dranhängen bringt demzufolge auch nichts -.-
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 15:53 <-- editieren / zitieren --> Unities abgeben:
Okay entwarnung, es gab einen kleinen Fehler in der Angabe des Pfads zur neuen Referenz, dadurch konnte es nicht gehen. Jetzt klappts aber trotzdem großen Dank an alle die geholfen haben ( Chris ) Jetzt hab ich auch verstanden wie der Index Hinten bestimmt wird, der entsteht Alphabetisch. D.H. Der Indes wir dem Pfad in Alphabetischer Reihenfolge zugeordnet. Aber eine kleine Frage habe ich noch: Ich arbeite ja jetzt mit: for i to 10....next dabei ensteht ein Fehler wenn es Bsp: bloß 5 Refernzen gibt er aber grad nach dem 6 sucht. kann man hier auch mit "for each" arbeiten? hab das nämlich am anfang versuch aber das ging nicht, zumindest habe ich es nicht hinbekommen [Diese Nachricht wurde von Fiedel93felix am 11. Dez. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 16:16 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 12. Dez. 2014 07:18 <-- editieren / zitieren --> Unities abgeben:
ne funktioniert leider nicht...kommt immernoch fehlermeldung wenn die passende Refernz nicht gefunden wird... Ich habs auch mit If oFile.ReferencedFileDescriptors.Item(i) Is Nothing Then MsgBox("keine gefunden") Exit Sub End If versucht, aber das klappt auch nicht.... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 12. Dez. 2014 08:31 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 12. Dez. 2014 09:00 <-- editieren / zitieren --> Unities abgeben:
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 12. Dez. 2014 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 15. Dez. 2014 12:10 <-- editieren / zitieren --> Unities abgeben:
ja läuft soweit zumindest bei meinen test aber in der wirklichen Praxis wurde es noch nicht getestet und andere arvbeiten natürlich auch anders somit könnte es vielleicht noch Fehler geben aber ich geh nicht davon aus.... Aber ich denke das läuft eigentlich super
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |