Sub CATMain() Dim partDocument1 As PartDocument 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("Geöffneter Körper.1") Dim sketches1 As Sketches Set sketches1 = hybridBody1.HybridSketches Dim reference1 As Reference Set reference1 = part1.CreateReferenceFromName("Selection_RSur:(Face:(Brp:(AxisSystem.1;1);None:();Cf9:());AxisSystem.1)") Dim sketch1 As Sketch Set sketch1 = sketches1.Add(reference1) Dim arrayOfVariantOfDouble1(8) arrayOfVariantOfDouble1(0) = 0# arrayOfVariantOfDouble1(1) = 0# arrayOfVariantOfDouble1(2) = 0# arrayOfVariantOfDouble1(3) = 1# arrayOfVariantOfDouble1(4) = 0# arrayOfVariantOfDouble1(5) = 0# arrayOfVariantOfDouble1(6) = 0# arrayOfVariantOfDouble1(7) = 1# arrayOfVariantOfDouble1(8) = 0# Set sketch1Variant = sketch1 sketch1Variant.SetAbsoluteAxisData arrayOfVariantOfDouble1 Dim factory2D1 As Factory2D Set factory2D1 = sketch1.OpenEdition() Dim geometricElements1 As GeometricElements Set geometricElements1 = sketch1.GeometricElements Dim axis2D1 As Axis2D Set axis2D1 = geometricElements1.Item("Absolute Achse") Dim line2D1 As Line2D Set line2D1 = axis2D1.GetItem("H-Richtung") line2D1.ReportName = 1 Dim line2D2 As Line2D Set line2D2 = axis2D1.GetItem("V-Richtung") line2D2.ReportName = 2 Dim point2D1 As Point2D Set point2D1 = factory2D1.CreatePoint(-51.013411, -18.224865) point2D1.ReportName = 3 Dim point2D2 As Point2D Set point2D2 = factory2D1.CreatePoint(-15.051191, -29.054398) point2D2.ReportName = 4 Dim line2D3 As Line2D Set line2D3 = factory2D1.CreateLine(-51.013411, -18.224865, -15.051191, -29.054398) line2D3.ReportName = 5 line2D3.StartPoint = point2D1 line2D3.EndPoint = point2D2 Dim point2D3 As Point2D Set point2D3 = factory2D1.CreatePoint(-3.404336, -23.333134) point2D3.ReportName = 6 Dim point2D4 As Point2D Set point2D4 = factory2D1.CreatePoint(43.183084, -31.915028) point2D4.ReportName = 7 Dim line2D4 As Line2D Set line2D4 = factory2D1.CreateLine(-3.404336, -23.333134, 43.183084, -31.915028) line2D4.ReportName = 8 line2D4.StartPoint = point2D3 line2D4.EndPoint = point2D4 sketch1.CloseEdition part1.Update Dim hybridShapeFactory1 As HybridShapeFactory Set hybridShapeFactory1 = part1.HybridShapeFactory Dim hybridShapeSpline1 As HybridShapeSpline Set hybridShapeSpline1 = hybridShapeFactory1.AddNewSpline() hybridShapeSpline1.SetSplineType 0 hybridShapeSpline1.SetClosing 0 Dim reference2 As Reference Set reference2 = part1.CreateReferenceFromObject(sketch1) Dim reference3 As Reference Set reference3 = part1.CreateReferenceFromBRepName("BorderFVertex:(BEdge:(Brp:(Sketch.13;6);None:(Limits1:();Limits2:();+1);Cf9:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport)", sketch1) hybridShapeSpline1.AddPointWithConstraintFromCurve reference3, reference2, 1#, -1, 1 Dim reference4 As Reference Set reference4 = part1.CreateReferenceFromObject(sketch1) Dim reference5 As Reference Set reference5 = part1.CreateReferenceFromBRepName("BorderFVertex:(BEdge:(Brp:(Sketch.13;4);None:(Limits1:();Limits2:();-1);Cf9:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport)", sketch1) hybridShapeSpline1.AddPointWithConstraintFromCurve reference5, reference4, 1#, -1, 1 hybridBody1.AppendHybridShape hybridShapeSpline1 part1.InWorkObject = hybridShapeSpline1 part1.Update End Sub