Guten Abend liebe Forengemeinde,
ich habe ein Problem bei dem Ihr mir vielleicht weiterhelfen könnt.
Bei der Konstruktion mit Master und multi body generiere ich eine Vielzahl von einzelnen Volumenkörpern die vom Inventor nummeriert werden.
Vor der Ableitung von Einzelteilen benenne ich die Volumenkörper um.
Der „Inventor-Suffix“ der Volumenkörper stimmt nicht immer mit der Position im „Tree“ überein. Ich verschiebe den „Endpunkt“ um die Volumenkörper auch nachträglich im passenden Bereich zu erstellen. Das bringt allerdings die Nummerierung durcheinander.
Beispiel:
Volumenkörper 1; Volumenkörper 36;Volumenkörper 2;Volumenkörper 3;Volumenkörper 18;etc.
Für das Umbenennen verwende ich eine Ilogic Code der auch wunderbar funktioniert.
Mein Problem ist das der Suffix anscheinend vom Inventor vorgegeben und von Ilogic nicht neu nummeriert wird.
Nach dem Umrennen bleibt die Nummerierung erhalten
Beispiel nach der Umbenennung durch Ilogic:
Part 001; Part 036; Part 002; Part 003; Part018; etc.
Habt Ihr einen Tipp für mich wie ich die Inventor-Nummerierung durch eine neue fortlaufende Nummerierung ersetzen kann?
Beispiel:
Part001; Part002; Part003; Part004; Part005; etc.
'---------------------------------
'check for custom iProperty and add it if not found
Dim prefix As String = "Prefix"
customPropertySet = ThisDoc.Document.PropertySets.Item _
("Inventor User Defined Properties")
Try
prop= customPropertySet.Item(prefix)
Catch
' Assume error means not found
customPropertySet.Add("", prefix)
End Try
'write the part number to the Prefix iProperty if it is empty
If iProperties.Value("Custom", "Prefix") = "" Then
iProperties.Value("Custom", "Prefix") = iProperties.Value("Project", "Part Number") & "_"
Else
End If
'check that this active document is a part file
Dim partDoc As PartDocument
If ThisApplication.ActiveDocument.DocumentType <> kPartDocumentObject Then
MessageBox.Show ("Please open a part document", "iLogic")
End If
'define the active document
partDoc = ThisApplication.ActiveDocument
Dim solid As SurfaceBody
Dim i As Integer
'get input from user
prefix = InputBox("Enter a prefix for the solid body names", "iLogic", iProperties.Value("Custom", "Prefix"))
'write input back to custom iProperty
iProperties.Value("Custom", "Prefix") = prefix
i = 1
'rename all solid bodies incrementing suffix
For Each solid In partDoc.ComponentDefinition.SurfaceBodies
solid.Name = prefix + Iif(i < 10, "0" + CStr(i), CStr(i))
i = i + 1
Next
'---------------------------------
Gruß, Hommel80
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP