Code:
Set partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item("Hauptkörper")
Set sketches1 = body1.Sketches
Set originElements1 = part1.OriginElements
Set reference1 = originElements1.PlaneZX
Set sketch1 = sketches1.Add(reference1)
Dim arrayOfVariantOfDouble1(8)
arrayOfVariantOfDouble1(0) = 0.000000
arrayOfVariantOfDouble1(1) = 0.000000
arrayOfVariantOfDouble1(2) = 0.000000
arrayOfVariantOfDouble1(3) = -1.000000
arrayOfVariantOfDouble1(4) = 0.000000
arrayOfVariantOfDouble1(5) = 0.000000
arrayOfVariantOfDouble1(6) = 0.000000
arrayOfVariantOfDouble1(7) = 0.000000
arrayOfVariantOfDouble1(8) = 1.000000
sketch1.SetAbsoluteAxisData arrayOfVariantOfDouble1
part1.InWorkObject = sketch1
Set factory2D1 = sketch1.OpenEdition()
' Hier muss iPoles As SAFEARRAY(VARIANT) rein
Set Spline2D1 = factory2D1.CreateSpline()
Set Point2D1 = factory2D1.CreatePoint(10, 10)
Set Spline2D1.StartPoint = Point2D1
Set Point2D1 = factory2D1.CreatePoint(20, 20)
Call Spline2D1.InsertControlPointAfter(Point2D1, 1)
Set Point2D1 = factory2D1.CreatePoint(30, 30)
Set Spline2D1.EndPoint = Point2D1