Hallo zusammen,
ich möchte mit einem Makro eine Fläche an einer Referenzebene eines anderen Parts spiegeln. Das Makro soll "partübergreifend" funktionieren. Allerdings erhalte ich immer die Fehlermeldung:
Das Verfahren Item ist fehlgeschlagen (line 38)
Der gesamte Code lautet:
Sub CATMain()
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim produkt1 As Product
Set produkt1 = CATIA.ActiveDocument.Product
Dim ref1 As Reference
Dim ref2 As Reference
Set ref1 = produkt1.CreateReferenceFromName("Produkt1/Lvfd Lpt/Hauptkörper/Füllen.1")
Set ref2 = produkt1.CreateReferenceFromName("produkt1/Lenkrad/Hauptkörper/Ebene.3")
Dim partDocument1 As Document
Set partDocument1 = documents1.Item("Lvfd Lpt.CATPart")
Dim part1 As Part
Set part1 = partDocument1.Part
Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory
Dim bodies1 As Bodies
Set bodies1 = part1.Bodies
Dim body1 As Body
Set body1 = bodies1.Item("Hauptkörper")
Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = body1.HybridShapes
Dim hybridShapeFill1 As HybridShape
Set hybridShapeFill1 = hybridShapes1.Item("Produkt1/Lvfd Lpt/Hauptkörper/Füllen.1") <-- Line 38
Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeFill1)
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
Dim hybridShapePlaneExplicit1 As Parameter
Set hybridShapePlaneExplicit1 = parameters1.Item("ref2")
Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)
Dim hybridShapeSymmetry1 As HybridShapeSymmetry
Set hybridShapeSymmetry1 = hybridShapeFactory1.AddNewSymmetry(reference1, reference2)
hybridShapeSymmetry1.VolumeResult = False
body1.InsertHybridShape hybridShapeSymmetry1
part1.InWorkObject = hybridShapeSymmetry1
part1.Update
End Sub
Ich habe schon paar Ideen probiert, allerdings fällt mir nichts mehr ein. Würde mich über einen Lösungsansatz freuen.
Danke und VG
Marcel
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP