Guten Abend zusammen,
derzeit versuche ich, das Beispielmacro InstanciatePowerCopy.CATScript so zu ändern, dass es auch in allen CATParts, die in einem CATproduct gelistet sind funktioniert.
Mein Plan:
- Alle CATParts suchen, die den Parameter "MainBody_mass" enthalten.
- diese CATparts dann nacheinander durch die Powercopy bearbeiten lassen.
Das Problem:
Die items, die die Selection speichert, sind vom Typ Product. Das InstanciatePowerCopy.CATScript benötigt jedoch das jeweilige partdocument des items.
Ich komme einfach nicht dahinter, wie ich aus dem Typ Product des items den Typ partdocument bekomme.
Hier der entsprechende code bis zur fehlerhaften Zeile:
Sub CATMain()
Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = productDocument1.Product
Set product1 = product1.ReferenceProduct
If (Right(productDocument1.Name, 10) <> "CATProduct") Then
exit sub
End If
Dim PartDocumentDest As PartDocument
Dim PartDest As Part
Dim selection1 As Selection
Set selection1 = productDocument1.Selection
dim n as long
n = 0
selection1.Search "CATKnowledgeSearch.InternalParameter.Name=MainBody_mass,all"
n = selection1.count
Dim factory As InstanceFactory
Dim MainBody As Object
Dim yzplane As Object
Dim zxplane As Object
Dim xyplane As Object
Dim Instance As ShapeInstance
for i = 1 to n
msgbox selection1.item(i).type
Set PartDocumentDest = selection1.item(i).document '<- Typenkonflikt
Set PartDest = PartDocumentDest.part
Kann mir jemand helfen?
Danke im Voraus!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP