Code:
Language="VBSCRIPT"
Sub CATMain()
'#######################
Dim Document1 As Document
Set Document1 = CATIA.ActiveDocument
Dim oSelection, oSelectedElement, oDoc, oInstance, oRef, ECurve, EPoint As Object
Dim part1 As Part
Set part1 = Document1.Part
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory
'#########################
' Auswahl festlegen --CURVE---------------------------------
MsgBox ("Curve selektieren!!!!!!")
Dim InputObjectCurve(0)
InputObjectCurve(0) = "HybridShape"
' Selektion definieren und leeren ---------------------------------
Set oSelection = CATIA.ActiveDocument.Selection
oSelection.Clear
' Selektion vornehmen lassen --------------------------------------
ECurve = oSelection.SelectElement2(InputObjectCurve, "Curve", false)
Dim Ref1 As Reference
Set Ref1 = oSelection.Item2(1).Reference
oSelection.Clear
'##########Search_Point##############
Dim ListePoint As Selection
Dim Ref2 As Reference
Set ListePoint = CATIA.ActiveDocument.Selection
ListePoint.Clear
ListePoint.Search "((((((FreeStyle.Point + '2D Layout for 3D Design'.Point) + Sketcher.Point) + Drafting.Point) + 'Part Design'.Point) + 'Generative Shape Design'.Point) + 'Functional Molded Part'.Point);scr"
For i = 1 to ListePoint.Count2
Set Ref2 = ListePoint.Item2(i).reference 'hier lauf das ganze dann immer auf fehle
'#######################################
Dim hybridShapeCurveExplicit1 As Parameter
Set hybridShapeCurveExplicit1 = Ref1'#########Curve
Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeCurveExplicit1)
Dim parameters2 As Parameters
Set parameters2 = part1.Parameters
Dim hybridShapePointExplicit1 As Parameter
Set hybridShapePointExplicit1 = Ref2 '#########Punkt
Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapePointExplicit1)
'#################################
Dim hybridShapePointOnCurve1 As HybridShapePointOnCurve
Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference1, reference2, 7.500000, False)
hybridShapePointOnCurve1.DistanceType = 1
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
'##########Geometisches Set Erzeugen###################
Dim HB1 As HybridBody
Set HB1 = Catia.ActiveDocument.Part.HybridBodies
Set FlaechenZumTrennen = HB1.Add
FlaechenZumTrennen.Name = "FlaechenZumTrennen"
Dim FlaechenZumTrennen As HybridBody
Dim hybridBody1 As HybridBody
Set hybridBody1 = FlaechenZumTrennen
'####################
hybridBody1.AppendHybridShape hybridShapePointOnCurve1
part1.InWorkObject = hybridShapePointOnCurve1
part1.Update
Set partDocument1 = CATIA.ActiveDocument
Dim selection1 As Selection
Set selection1 = partDocument1.Selection
selection1.Clear
selection1.Add hybridShapePointOnCurve1
selection1.Copy
Set partDocument1 = CATIA.ActiveDocument
Dim selection2 As Selection
Set selection2 = partDocument1.Selection
selection2.Clear
selection2.Add hybridBody1
selection2.Paste
Dim reference3 As Reference
Set reference3 = part1.CreateReferenceFromObject(hybridShapeCurveExplicit1)
Dim reference4 As Reference
Set reference4 = part1.CreateReferenceFromObject(hybridShapePointExplicit1)
Dim hybridShapePointOnCurve2 As HybridShapePointOnCurve
Set hybridShapePointOnCurve2 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference3, reference4, -7.500000, False)
hybridShapePointOnCurve2.DistanceType = 1
hybridBody1.AppendHybridShape hybridShapePointOnCurve2
part1.InWorkObject = hybridShapePointOnCurve2
part1.Update
next
End Sub