Hallo,
ich bin neu hier und auch neu im Bereich von Makros.
Habe aber bei einigen Suchen schon gesehen das hier kompetente Leute am Werk sind.
Mir geht es um ein Makro, mit dem ich eine tote Fläche oder einen Extract in ihre Ursprungsfläche versetze und Extrapoliere.
Sollte von der Reihenfolge her so aussehen: Inputfläche -> Surface Untrim -> Boundary -> Extrapolate.
Mit einem aufgezeichneten Makro kommt folgendes raus:
Language="VBSCRIPT"
Sub CATMain()
Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")
Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody1.HybridShapes
Dim hybridShape1 As HybridShape
Set hybridShape1 = hybridShapes1.Item("Surface Untrim.1")
part1.UpdateObject hybridShape1
Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory
Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShape1)
Dim hybridShapeBoundary1 As HybridShapeBoundary
Set hybridShapeBoundary1 = hybridShapeFactory1.AddNewBoundaryOfSurface(reference1)
hybridBody1.AppendHybridShape hybridShapeBoundary1
part1.InWorkObject = hybridShapeBoundary1
part1.Update
Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapeBoundary1)
Dim reference3 As Reference
Set reference3 = part1.CreateReferenceFromObject(hybridShape1)
Dim hybridShapeExtrapol1 As HybridShapeExtrapol
Set hybridShapeExtrapol1 = hybridShapeFactory1.AddNewExtrapolLength(reference2, reference3, 30.000000)
hybridShapeExtrapol1.ContinuityType = 1
hybridShapeExtrapol1.BorderType = 1
hybridShapeExtrapol1.LimitType = 0
hybridShapeExtrapol1.SetAssemble True
hybridShapeExtrapol1.PropagationMode = 0
hybridShapeExtrapol1.ExtendEdgesMode = False
hybridShapeExtrapol1.ConstantLengthMode = False
hybridBody1.AppendHybridShape hybridShapeExtrapol1
part1.InWorkObject = hybridShapeExtrapol1
part1.Update
End Sub
Funktioniert leider nur teilweise so wie erhofft.
Es wird leider kein Surface Untrim vollzogen, sondern es wird sich immer auf den Surface Untrim.1 bezogen. Und ich kann auch nicht auswählen welche Inputfläche genutzt werden soll.
Ein Fenster das mich nach dem Wert für den Extrapolate fragt wäre auch prima.
Ich würde es selbst machen, da es mich wirklich interessiert und ich da auch gern etwas mehr Ehrfahrung hätte. Ich hab aber leider keine Ahnung wo und wie ich ansetzen muss.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP