Hallo hier!
Ich habe mir gerade die Finger Wund gesucht aber meine Programmierkenntnisse sind dermaßen eingerostet, dass ich quasi wieder am Anfang stehe.
Ich möchte bestimmte User-Defined Properties bei allen Parts/Products eines geöffneten Hauptproducts schreiben.
Bisher habe ich mir einen Code definiert, der das bei einem geöffneten Part soweit ganz gut macht. Würde das jetzt gerne per Stapelverarbeitung bei allen durchlaufen lassen mit einer For-Schleife, aber da hänge ich auch schon.
Hier der Code:
ub CATMain()
'Dokument geöffnet?
If CATIA.Documents.Count = 0 Then
Box = MsgBox("Es wurde kein aktives Dokument identifiziert" + Chr(10) + "Bitte oeffnen Sie zuerst ein Dokument und starten Sie dann das Makro erneut", vbInformation, "Hinweis")
Exit Sub
End If
Dim oDocument As Document
Set oDocument = CATIA.ActiveDocument
'Part geöffnet?
'Start
Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = oDocument.Product
on error resume next
Dim parameters1 As Parameters
Set parameters1 = product1.UserRefProperties
Set strParameter = parameters1.Item("THICKNESS/DIAMETER")
if err.number <> 0 then
Set strParameter = parameters1.CreateString("THICKNESS/DIAMETER", "")
err.clear
end if
Set strParameter = parameters1.Item("LENGHT")
if err.number <> 0 then
Set strParameter = parameters1.CreateString("LENGHT", "")
err.clear
end if
Set strParameter = parameters1.Item("WIDTH")
if err.number <> 0 then
Set strParameter = parameters1.CreateString("WIDTH", "")
err.clear
end if
Set strParameter = parameters1.Item("MASS")
if err.number <> 0 then
Set strParameter = parameters1.CreateString("MASS", "")
err.clear
end if
Set strParameter = parameters1.Item("PROGRAMM")
if err.number <> 0 then
Set strParameter = parameters1.CreateString("PROGRAMM", "")
err.clear
end if
Set strParameter = parameters1.Item("PROJEKT")
if err.number <> 0 then
Set strParameter = parameters1.CreateString("PROJEKT", "")
err.clear
end if
Set strParameter = parameters1.Item("KONSTRUKTEUR")
if err.number <> 0 then
Set strParameter = parameters1.CreateString("KONSTRUKTEUR", "")
err.clear
end if
Box = MsgBox("Makro erfolgreich", vbInformation, "Hinweis")
on error goto 0
End Sub
Könnt ihr mir einen Tipp gehen, wie ich weiter arbeiten muss oder beim Code helfen? Danke!
Viele Grüße
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP