GetCorner メソッド(ActiveX)

矩形のコーナーを取得します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

RetVal = GetCorner(Point [, Prompt])
object

タイプ: Utility

このメソッドが適用されるオブジェクト。

Point

アクセス: 入力のみ

タイプ: バリアント型(3 要素の倍精度浮動小数点数型配列)

矩形の基点を指定する 3D WCS 座標。

Prompt

アクセス: 入力のみ; オプション

タイプ: バリアント型(文字列)

ユーザに入力を求めるときに表示される文字列。

戻り値(RetVal)

タイプ: バリアント型(3 要素の倍精度浮動小数点数型配列)

矩形のコーナーを示す 3D WCS 座標

注意

AutoCAD はユーザが矩形のコーナーを入力するのを待って、選択された点の値に対する戻り値を設定します。パラメータ Point は、3D WCS 座標での矩形の基点を指定します。このパラメータは必ず設定してください。パラメータ Prompt は、ユーザ入力を求める際に AutoCAD が表示する文字列を指定します。Prompt はオプションです。

AutoCAD ユーザは、WCS 座標形式で点を入力して、コーナーを指定できます。GetCorner メソッドは、Point を 3 次元の点として処理します。また、グラフィックス画面上の位置を指定して、コーナーを指定することもできますAutoCAD は、第 2 のコーナーの位置を視覚的に確認できるように、Point から現在のクロスヘア カーソルの位置まで動的にサイズ変更された矩形を描きます。矩形は、WCS の XY 平面に描かれます。ポインティング デバイスを使用すると、GetCorner では Point の Z フィールドは無視され、実行結果の Z フィールドには現在の高度が設定されます。

VBA:

Sub Example_GetCorner()
    ' This example provides a base point and prompts the user to
    ' input the second point to make a rectangle.
    
    AppActivate ThisDrawing.Application.Caption

    Dim returnPnt As Variant
    Dim basePnt(0 To 2) As Double
    basePnt(0) = 2#: basePnt(1) = 2#: basePnt(2) = 0#
    
    ' Prompt the user to pick second point and returns the point
    returnPnt = ThisDrawing.Utility.GetCorner(basePnt, "Enter Other corner: ")
    
    ' Display the point picked
    MsgBox "The point picked was " & returnPnt(0) & ", " & returnPnt(1) & ", " & returnPnt(2), , "GetCorner Example"
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_GetCorner()
    ;; This example provides a base point and prompts the user to
    ;; input the second point to make a rectangle.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Prompt the user to pick second point and returns the point
    (setq basePnt (vlax-3d-point 2 2 0))
    (setq returnPnt (vla-GetCorner (vla-get-Utility doc) basePnt "Enter Other corner: "))
    
    ;; Display the point picked
    (setq returnPnt (vlax-safearray->list (vlax-variant-value returnPnt)))
    (alert (strcat "The point picked was " (rtos (nth 0 returnPnt) 2) ", " (rtos (nth 1 returnPnt) 2) ", " (rtos (nth 2 returnPnt) 2)))
)