| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | Auf dem Weg zur digitalen Auftragsmappe. , ein Anwenderbericht
|
Autor
|
Thema: STP Datei (1066 / mal gelesen)
|
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 23. Jul. 2021 19:38 <-- editieren / zitieren --> Unities abgeben:
Guten Abend liebe CAD Gemeinde, ich habe da folgendes Problem! Wenn ich eine STP Datei mir runterlade, wird der Name immer, wie im Anhang zu sehen, die Datei so benannt. Wenn ich das Teil nun in eine Baugruppe lade, wird im Inventor Explorer, in dem BSP, Verschlussstopfen (iProperties vom Teil unter Reiter Explorer Name Verschlussstopfen:1) angezeigt. Jetzt komme ich zur Frage: wenn ich nun wie im Bild zu sehen, in der Kategorie einen Ausdruck schreibe, und den, wie im Bild (Pfeil) dargestellt den Namen ersetzen möchte, geht das wie? Geht das eventuell über VBA, und wenn ja, wer kann mir da helfen? Danke für eure Unterstützung. VG Enric
------------------ Konstruktion Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
insidERR Mitglied 2/3D Konstruktion, VBA/.net/Android/Arduino Programmierung, EDV
Beiträge: 138 Registriert: 27.08.2007 Win10 x64 Pro, ACAD Mech.2024, AI 2024 Sim., AV WG 2024, VBA/.NET, Android Studio, Arduino
|
erstellt am: 27. Jul. 2021 14:25 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
Ich check da die Frage nicht. Willst du in den iProperties das Feld "Kategorie" per VBA überschreiben oder den Namen im linken Baum der Baugruppe? Wenn du den Namen der aktuell geöffneten Datei ändern willst dann hier: Code: Public Sub EditDisplayName(newName As String) Dim invDoc As Document Set invDoc = ThisApplication.ActiveDocument invDoc.DisplayName = newName End Sub
Wenn du den Namen eines Bauteils in dem linken Baum einer Baugruppe ändern willst dann hier: Code: Public Sub EditDisplayName(oldName As String, newName As String) Dim invDoc As Document Set invDoc = ThisApplication.ActiveDocument For i = 1 To invDoc.ReferencedDocuments.Count 'If invDoc.ReferencedDocuments.Item(i).DisplayName = oldName Then If InStr(1, invDoc.ReferencedDocuments.Item(i).DisplayName, oldName) <> 0 Then invDoc.ReferencedDocuments.Item(i).DisplayNameOverridden = True invDoc.ReferencedDocuments.Item(i).DisplayName = newName End If Next i End Sub
In dem Beispiel hast du zwei Möglichkeiten nach dem alten Namen zu suchen. Auskommentiert ist die Variante wenn du den exakten Namen(da kommt noch ".ipt" dahinter) suchst. Im nicht auskommentiertem Beispiel wird nach einem Teil des Namens gesucht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 28. Jul. 2021 15:41 <-- editieren / zitieren --> Unities abgeben:
|
insidERR Mitglied 2/3D Konstruktion, VBA/.net/Android/Arduino Programmierung, EDV
Beiträge: 138 Registriert: 27.08.2007 Win10 x64 Pro, ACAD Mech.2024, AI 2024 Sim., AV WG 2024, VBA/.NET, Android Studio, Arduino
|
erstellt am: 29. Jul. 2021 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
Asooo... Versuch ma damit. Code: Private Sub Write_Category_2_IV_Explorer() Dim oTrans As Inventor.Transaction Dim oApp As Inventor.Application: Set oApp = ThisApplication Set oTrans = ThisApplication.TransactionManager.StartTransaction(oApp.ActiveDocument, "Massenumbenennung") Dim invDoc As Document Set invDoc = ThisApplication.ActiveDocument On Error Resume Next For i = 1 To invDoc.ReferencedDocuments.Count For refProperties = 1 To invDoc.ReferencedDocuments.Item(i).PropertySets.Count If invDoc.ReferencedDocuments.Item(i).PropertySets(refProperties).Name = "Inventor Document Summary Information" Then For refSets = 1 To invDoc.ReferencedDocuments.Item(i).PropertySets(refProperties).Count If invDoc.ReferencedDocuments.Item(i).PropertySets(refProperties).Item(refSets).Name = "Category" Then invDoc.ReferencedDocuments.Item(i).DisplayNameOverridden = True 'muss sein invDoc.ReferencedDocuments.Item(i).DisplayName = invDoc.ReferencedDocuments.Item(i).PropertySets(refProperties).Item(refSets).Value 'neuer Wert End If Next refSets End If Next refProperties Next i oTrans.End End Sub
Der Code geht durch alle Teile in der Baugruppe und ersetzt deren "DisplayName" im Explorer durch den Wert der, in der "Kategorie" jenes Bauteiles steht. Fehler werden ignoriert und leere Werte gibt es nicht. Siehste schon was passiert, wenn das Feld Kategorie leer ist oder nicht umbenannt werden kann. [Diese Nachricht wurde von insidERR am 29. Jul. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 30. Jul. 2021 15:18 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|