Zum Hauptinhalt springen
Featured image for iLogic: Alte Properties automatisiert löschen

iLogic: Alte Properties automatisiert löschen

·259 Wörter·2 min·
Inhaltsverzeichnis
Inventor iLogic - Dieser Artikel ist Teil einer Serie.
Teil 14: Dieser Artikel

Der Post iLogic: Propertysets hat bereits die 4 Property Sets aus Inventor vorgestellt. Im Konstruktionsalltag spielen hauptsächlich die Custom Properties, auch User Defined Properties genannt, eine Rolle, da sie dem User erlauben dort Werte zu hinterlegen, die später auf Stücklisten oder Zeichnungen sichtbar werden.

Anwendungsfall

Oftmals zeigt sich der Fall auf, dass Properties im Laufe eine Projekts angelegt, später aber nicht länger benötigt werden. Ursachen für diesen Zustand gibt es viele, bspw. das Überarbeiten bestehender Prozesse, konzeptfrei arbeitende Vault Admins oder aber der Wechsel eines Vault Admins in der Firma. Das händische Löschen von Properties ist in einem solchen Fall ein zeitraubender Task, den iLogic geflissentlich übernehmen kann.

Code zum Löschen der Properties

Das folgende Beispiel definiert eine Liste listOutdatedPropertyNames mit alten Propertynamen, die nicht länger benötigt werden. Diese Liste ist beispielhaft und kann mit Propertynamen aus realen Anwendungsfällen gefüllt werden. Wichtig und zu beachten dabei ist lediglich, dass der letzte Propertyname nicht mit dem Zeichen , beendet wird.

Der Code iteriert über alle Custom Properties, die im aktiven Dokument vorhanden sind und prüft jedes einzeln, ob es in der definierten Liste enthalten ist und löscht es, sofern dies der Fall ist:

Dim oDoc As Document = ThisDoc.Document

' Liste mit alten Propertynamen definieren, die
' durch die iLogic entfernt werden sollen
Dim listOutdatedPropertyNames = New String(){
    "Adhesive Assembly",
    "Adhesived Assembly",
    "Approved By",
    "Area",
    "Author",
    "Batch Number Relevant",
    "Blechabmessung",
    "Fläche",
    "Hurz"
}

' Adressiere das Custom Property Set
Dim oPropSet As PropertySet = oDoc.PropertySets.Item("Inventor User Defined Properties")

For Each oProperty In oPropSet
    If listOutdatedPropertyNames.Contains(oProperty.Name) Then
        oProperty.Delete
    End If
Next
Inventor iLogic - Dieser Artikel ist Teil einer Serie.
Teil 14: Dieser Artikel