Hallo Zusammen,
ich bin derzeit darüber ein Makro zu schreiben welches ein "Neu aus" vom Produkt und dessen Kinder erstellen soll.
Um auch alle "Kinder neu zu erstellen" mache ich von jedem Produkt und Einzelteil ein neu aus und möchte es anschließend mit ReplaceProduct ersetzen, jedoch bekomme ich bei der Replace Methode den Fehler "Method 'ReplaceProduct' of object 'Products' failed.
Könnt ihr bitte mal über den Code schauen und mir weiterhelfen um das Problem zu finden?
Code:
Sub NewFromAssembly()
Dim sOriginProductPath As String
sOriginProductPath = "PFAD"
Dim oNewRootProductDoc As ProductDocument
Set oNewRootProductDoc = CATIA.Documents.NewFrom(sOriginProductPath) 'Neu aus vom Root Produkt
Call NewFromChilds(oNewRootProductDoc)
End SubPrivate Sub NewFromChilds(ProductDoc As ProductDocument)
Dim oCurrentProduct As Product
Dim oNewFromDoc As Document
For Each oCurrentProduct In ProductDoc.Product.Products 'Schleife um alle Items durchzugehen
If (TypeName(oCurrentProduct.ReferenceProduct.Parent) = "ProductDocument") Then 'Es handelt sich um ein Produkt oder einer Komponente
'Kommt später
ElseIf (TypeName(oCurrentProduct.ReferenceProduct.Parent) = "PartDocument") Then 'Es handelt sich um ein Part
If oCurrentProduct.ReferenceProduct.Parent.Saved Then 'Das Dokument ist gespeichert -> Neu aus und ersetzen
Set oNewFromDoc = CATIA.Documents.NewFrom(oCurrentProduct.ReferenceProduct.Parent.FullName)
Set test = ProductDoc.Product.Products.ReplaceProduct(oCurrentProduct, oNewFromDoc.Product, True)
End If
End If
Next
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP