概要 - 点を要求する(ActiveX)

GetPoint メソッドは、AutoCAD のコマンド プロンプトでユーザに 1 つの点を指定するように要求します。

このメソッドは、オプションの始点パラメータおよびユーザの入力を要求する文字列の 2 つのパラメータを受け取ります。始点パラメータが与えられると、AutoCAD は、その点からラバーバンド線を描きます。ユーザ入力をコントロールするには、このメソッドを使用する前に、InitializeUserInput メソッドを呼び出します。

ユーザ指定の点を取得する

次の例では、ユーザに 2 点を指定するよう求め、その 2 点を始点および終点とする線分を描きます。

AutoLISP
(vl-load-com)
(defun c:Ch3_GetPointsFromUser()
    (setq acadObj (vlax-get-acad-object)
          doc (vla-get-ActiveDocument acadObj)
          moSpace (vla-get-ModelSpace doc)
          utilityObj (vla-get-Utility doc))

    (setq prompt1 "\nSpecify start point of line: "
          prompt2 "\nSpecify end point of line: ")

    ;; Get the first point without entering a base point
    (setq startPnt (vla-GetPoint utilityObj nil prompt1))

    ;; Use the point entered above as the base point
    (setq endPnt (vla-GetPoint utilityObj startPnt prompt2))

    ;; Create a line using the two points entered
    (vla-AddLine moSpace startPnt endPnt)
    (vla-ZoomAll acadObj)
)
VBA (AutoCAD のみ)
Sub Ch3_GetPointsFromUser()
  Dim startPnt As Variant
  Dim endPnt As Variant
  Dim prompt1 As String
  Dim prompt2 As String

  prompt1 = vbCrLf & "Specify start point of line: "
  prompt2 = vbCrLf & "Specify end point of line: "

  ' Get the first point without entering a base point
  startPnt = ThisDrawing.Utility.GetPoint(, prompt1)

  ' Use the point entered above as the base point
  endPnt = ThisDrawing.Utility.GetPoint(startPnt, prompt2)

  ' Create a line using the two points entered
  ThisDrawing.ModelSpace.AddLine startPnt, endPnt
  ThisDrawing.Application.ZoomAll
End Sub