こちらのコメントでご質問頂いた内容ですが、
長くなってしまったのでこちらに記載します。
Viewに基準線を入れる2 - C#ATIA
"端点を取得したい"は、端点の座標だろうと解釈しています。
ラインから端点座標取得する方法は2種類あります。
1つは端点のオブジェクト(Point2D)から座標を取得する方法と
ラインの端点そのものの座標を取得する方法です。
厳密には異なるのかも知れませんが、基本的には同じはずです。
Sub CATMain() Dim oDoc As DrawingDocument Dim oSel 'As selection Dim Msg As String Set oDoc = CATIA.ActiveDocument Set oSel = oDoc.selection 'ライン選択 Dim InputObjectType(0) 'As String Dim Line 'As Line2D InputObjectType(0) = "Line2D" With oSel .Clear Result = .SelectElement2(InputObjectType, "ライン選択 // [Esc]=キャンセル", False) If Result = "Cancel" Then Exit Sub Set Line = .item(1).Value .Clear End With '端点オブジェクトから座標取得 Dim StartPnt 'As point2d Dim EndPnt 'As point2d Dim Pos() ReDim Pos(1) Msg = "** 端点オブジェクトから座標取得 **" + vbCrLf Set StartPnt = Line.StartPoint Call StartPnt.GetCoordinates(Pos) Msg = Msg + " - " + StartPnt.name + " - " + vbCrLf Msg = Msg + " X:" + CStr(Pos(0)) + " Y:" + CStr(Pos(1)) + vbCrLf Set EndPnt = Line.EndPoint Call EndPnt.GetCoordinates(Pos) Msg = Msg + " - " + EndPnt.name + " - " + vbCrLf Msg = Msg + " X:" + CStr(Pos(0)) + " Y:" + CStr(Pos(1)) + vbCrLf Msg = Msg + vbCrLf 'ラインから端点座標取得 ReDim Pos(3) Msg = Msg + "** ラインから端点座標取得 **" + vbCrLf Call Line.GetEndPoints(Pos) Msg = Msg + " - 始点 - " + vbCrLf Msg = Msg + " X:" + CStr(Pos(0)) + " Y:" + CStr(Pos(1)) + vbCrLf Msg = Msg + " - 終点 - " + vbCrLf Msg = Msg + " X:" + CStr(Pos(2)) + " Y:" + CStr(Pos(3)) + vbCrLf Msg = Msg + vbCrLf '表示 Call MsgBox(Msg) End Sub
型定義部分でコメント化している部分は、こちらの環境ではエラーとなる部分です。
(大文字小文字がおかしいのも、こちらの環境のせいです)
端点の座標では無く、端点オブジェクトが必要なのであれば、StartPntとEndPntが
該当するオブジェクトになっています。