Code:
Option Explicit OnPrivate Sub Main()
Dim oApp As Inventor.Application = ThisApplication
If Not oApp.ActiveEditDocument.DocumentType = kAssemblyDocumentObject Then
MsgBox ("Funktion nur in Baugruppen verügbar. Abbruch")
Exit Sub
End If
Dim oAssDoc As AssemblyDocument = oApp.ActiveEditDocument
Dim sAuftragsnummer As String
Dim oProp As Inventor.Property
For Each oProp In oAssDoc.PropertySets(4)
If oProp.Name = "Auftragsnummer" Then
sAuftragsnummer = oProp.Value
Exit For
End If
Next
If sAuftragsnummer = String.Empty Then
sAuftragsnummer = InputBox("Auftragsnummer eingeben:", "iLogic SetProps")
If sAuftragsnummer = String.Empty Then
Exit Sub 'User cancelled Input
Else
oAssDoc.PropertySets(4).Add(sAuftragsnummer, "Auftragsnummer")
End If
End If
Try
oAssDoc.PropertySets(4).Item("Artikelnummer").Value = sAuftragsnummer & "-" & oAssDoc.PropertySets(3).Item("Part Number").Value
Catch
oAssDoc.PropertySets(4).Add(sAuftragsnummer & "-" & oAssDoc.PropertySets(3).Item("Part Number").Value, "Artikelnummer")
End Try
Dim oRefedDoc As Document
For Each oRefedDoc In oAssDoc.AllReferencedDocuments
If oRefedDoc.IsModifiable=True Then
Try
oRefedDoc.PropertySets(4).Item("Auftragsnummer").Value = sAuftragsnummer
Catch
oRefedDoc.PropertySets(4).Add(sAuftragsnummer, "Auftragsnummer")
End Try
Try
oRefedDoc.PropertySets(4).Item("Artikelnummer").Value = sAuftragsnummer & "-" & oRefedDoc.PropertySets(3).Item("Part Number").Value
Catch
oRefedDoc.PropertySets(4).Add(sAuftragsnummer & "-" & oRefedDoc.PropertySets(3).Item("Part Number").Value, "Artikelnummer")
End Try
end if
Next
End Sub