Code:
Sub bogen_erzeugen()Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim axisSystems1 As AxisSystems
Set axisSystems1 = part1.AxisSystems
Dim axisSystem1 As AxisSystem
Set axisSystem1 = axisSystems1.Add()
axisSystem1.OriginType = catAxisSystemOriginByPoint
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 hybridShapePointCoord1 As HybridShapePointCoord
Set hybridShapePointCoord1 = hybridShapes1.Item("Punkt_b")
axisSystem1.OriginPoint = hybridShapes1.Item("Punkt_b")
axisSystem1.XAxisType = catAxisSystemAxisSameDirection
Dim hybridShapeLineAngle1 As HybridShapeLineAngle
Set hybridShapeLineAngle1 = hybridShapes1.Item("linie_a")
axisSystem1.XAxisDirection = hybridShapes1.Item("linie_a")
axisSystem1.YAxisType = catAxisSystemAxisSameDirection
Dim axisSystem2 As AxisSystem
Set axisSystem2 = axisSystems1.Item("KOS_1")
Dim KOS_1 As AxisSystem
Set KOS_1 = axisSystems1.Item("KOS_1")
axisSystem1.YAxisDirection = part1.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(KOS_1;2);None:();Cf11:());Face:(Brp:(KOS_1;1);None:();Cf11:());None:(Limits1:();Limits2:());Cf11:());WithPermanentBody;Wi thoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR14)", axisSystem2)
axisSystem1.ZAxisType = catAxisSystemAxisByCoordinates
Dim arrayOfVariantOfDouble1(2)
arrayOfVariantOfDouble1(0) = -0.43814
arrayOfVariantOfDouble1(1) = -0.10114
arrayOfVariantOfDouble1(2) = 0.893199
Set axisSystem1Variant = axisSystem1
axisSystem1Variant.PutZAxis arrayOfVariantOfDouble1
part1.UpdateObject axisSystem1
axisSystem1.IsCurrent = True
axisSystem1.Name = "KOS_3"
Call update
Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part1.HybridShapeFactory
Dim hybridShapePointCoord2 As HybridShapePointCoord
Set hybridShapePointCoord2 = hybridShapes1.Item("Punkt_a")
Dim KOS_3 As AxisSystem
Set KOS_3 = axisSystems1.Item("KOS_3")
Dim hybridShapePlaneOffsetPt1 As HybridShapePlaneOffsetPt
Set hybridShapePlaneOffsetPt1 = hybridShapeFactory1.AddNewPlaneOffsetPt(part1.CreateReferenceFromBRepName("RSur:(Face:(Brp:(KOS_3;2);None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSuppor t;MFBRepVersion_CXR14)", axisSystems1.Item("KOS_3")), hybridShapes1.Item("Punkt_a"))
hybridBody1.AppendHybridShape hybridShapePlaneOffsetPt1
part1.InWorkObject = hybridShapePlaneOffsetPt1
hybridShapePlaneOffsetPt1.Name = "Ebene_1"
Call update
Dim hybridShapeIntersection1 As HybridShapeIntersection
Set hybridShapeIntersection1 = hybridShapeFactory1.AddNewIntersection(hybridShapes1.Item("Ebene_1"), part1.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(KOS_3;1);None:();Cf11:());Face:(Brp:(KOS_3;3);None:();Cf11:());None:(Limits1:();Limits2:());Cf11:());WithPermanentBody;Wi thoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR14)", axisSystems1.Item("KOS_3")))
hybridShapeIntersection1.PointType = 0
hybridBody1.AppendHybridShape hybridShapeIntersection1
part1.InWorkObject = hybridShapeIntersection1
hybridShapeIntersection1.Name = "Intersection_1"
Call update
Dim hybridShapeCircleCtrPt1 As HybridShapeCircleCtrPt
Set hybridShapeCircleCtrPt1 = hybridShapeFactory1.AddNewCircleCtrPtWithAngles(hybridShapes1.Item("Intersection_1"), hybridShapes1.Item("Punkt_a"), hybridShapes1.Item("Ebene_1"), False, 90#, -90#)
hybridShapeCircleCtrPt1.SetLimitation 0
hybridBody1.AppendHybridShape hybridShapeCircleCtrPt1
part1.InWorkObject = hybridShapeCircleCtrPt1
hybridShapeCircleCtrPt1.Name = "Bogen_1"
Call update
End Sub