Code:
Sub CATMain()Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part1.HybridShapeFactory
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Design_Work")
Dim hybridBodies2 As HybridBodies
Set hybridBodies2 = hybridBody1.HybridBodies
Dim hybridBody2 As HybridBody
Set hybridBody2 = hybridBodies2.Item("GS_Innenflaeche")
Dim hybridBodies3 As HybridBodies
Set hybridBodies3 = hybridBody2.HybridBodies
Dim hybridBody3 As HybridBody
Set hybridBody3 = hybridBodies3.Item("GS_Fill_Uebung")
Dim hybridBodies4 As HybridBodies
Set hybridBodies4 = hybridBody3.HybridBodies
Dim hybridBody4 As HybridBody
Set hybridBody4 = hybridBodies4.Item("GS_Fill_InnerBoundary")
Dim hybridBodies5 As HybridBodies
Set hybridBodies5 = hybridBody4.HybridBodies
Dim hybridBody5 As HybridBody
Set hybridBody5 = hybridBodies5.Item("GS_PC_Fill_Isoparam")
Dim hybridBodies6 As HybridBodies
Set hybridBodies6 = hybridBody5.HybridBodies
Dim hybridBody6 As HybridBody
Set hybridBody6 = hybridBodies6.Item("GS_CP")
Dim AllPoints(100) As AnyObject
Dim X(100) As Double
Dim Y(100) As Double
Dim Z(100) As Double
Dim i, j, k
Dim MyPointCoord(2)
i = 1
For j = 1 To 10
For k = 1 To 10
MsgBox ("CP_" & k & "-" & j)
Set AllPoints(i) = hybridBody6.HybridShapes.Item("CP_" & j & "-" & k)
Set MySelElement = AllPoints(i)
Set Ref1 = part1.CreateReferenceFromObject(MySelElement)
Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
Set TheMeasurable = TheSPAWorkbench.GetMeasurable(Ref1)
TheMeasurable.GetPoint MyPointCoord
X(i) = MyPointCoord(0)
MsgBox ("X" & CStr(X(i)))
Y(i) = MyPointCoord(1)
MsgBox ("Y" & CStr(Y(i)))
Z(i) = MyPointCoord(2)
MsgBox ("Z" & CStr(Z(i)))
i = i + 1
Next k
Next j
End Sub