GetOrientation メソッド(ActiveX)

指定された角度を取得します。システム変数 ANGBASE の設定は無視されます。

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

構文と要素

VBA:

RetVal = object.GetOrientation([Point [, Prompt]])
object

タイプ: Utility

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

Point

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

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

基点を指定する 3D WCS 座標

Prompt

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

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

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

戻り値(RetVal)

タイプ: 倍精度浮動小数点数型

指定された角度

注意

AutoCAD は、ユーザが角度を入力するのを待って、選択された角度の値に対する戻り値を設定します。パラメータ Point は、WCS での角度の基点を指定します。パラメータ Prompt は、ユーザ入力を求める際に AutoCAD が表示する文字列を指定します。Point および Prompt はオプションです。

現在の角度単位の形式で数値を入力すれば、角度を指定することができます。また、グラフィックス画面上で 2D の 2 点を指定して角度を設定することもできます。角度が視覚的に指定できるように、最初の点から現在のクロスヘア カーソルの位置にラバーバンド線を描きます。引数 Point が与えられている場合は、その値が 2 点のうちの最初の点として使用されます。角度は、WCS の XY 平面で測定されます(このメソッドは、PointZ フィールドを無視します)。角度は、常に反時計回り方向に増加します。

どのメソッドで角度を指定しようと、GetOrientation メソッドは戻り値を常にラジアンで表します。

このメソッドは GetAngle メソッドによく似ていますが、システム変数 ANGBASE に格納されている現在の角度 0 の方向は無視します。GetOrientation メソッドの場合、角度 0 の方向は常に右(「東」または「3 時」)です。

角度ではなくキーワードが返された場合は、「ユーザ入力がキーワードです」というエラー メッセージが表示されます。GetInput メソッドを使用して、戻り値からキーワードを取得します。

VBA:

Sub Example_GetOrientation()
    ' This example uses the GetOrientation method to demonstrate three different ways to retrieve
    ' an orientation from the user.
    
    AppActivate ThisDrawing.Application.Caption
        
    Dim retOrientation As Double
    
    ' Return the Orientation in radians with a prompt
    retOrientation = ThisDrawing.Utility.GetOrientation(, "Enter an Orientation: ")
    MsgBox "The Orientation entered was " & retOrientation & vbCrLf & _
            "(Enter the next value without prompting.)", , "GetOrientation Example"
    
    ' Return the Orientation in radians without any prompt
    retOrientation = ThisDrawing.Utility.GetOrientation()
    MsgBox "The Orientation entered was " & retOrientation, , "GetOrientation Example"
    
    ' Return the Orientation in radians with a prompt and an Orientation base point
    Dim basePnt(0 To 2) As Double
    basePnt(0) = 2#: basePnt(1) = 2#: basePnt(2) = 0#
    retOrientation = ThisDrawing.Utility.GetOrientation(basePnt, "Enter an Orientation: ")
    MsgBox "The Orientation entered was " & retOrientation, , "GetOrientation Example"
        
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_GetOrientation()
    ;; This example uses the GetOrientation method to demonstrate three different ways to retrieve
    ;; an orientation from the user.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; Return the Orientation in radians with a prompt
    (setq retOrientation (vla-GetOrientation (vla-get-Utility doc) nil "Enter an Orientation: "))
    (alert (strcat "The Orientation entered was " (rtos retOrientation 2) "\n"
                   "(Enter the next value without prompting.)"))

    ;; Return the Orientation in radians without any prompt
    (setq retOrientation (vla-GetOrientation (vla-get-Utility doc)))
    (alert (strcat "The Orientation entered was " (rtos retOrientation 2)))
    
    ;; Return the Orientation in radians with a prompt and an Orientation base point
    (setq basePnt (vlax-3d-point 2 2 0))
    (setq retOrientation (vla-GetOrientation (vla-get-Utility doc) basePnt "Enter an Orientation: "))
    (alert (strcat "The Orientation entered was " (rtos retOrientation 2)))
)