Getangle
- 構文
- (getangle [pt] [msg])
- 機能
- ユーザが角度を入力するまで待機(一時停止)し、入力された角度をラジアン単位で返す。
- 引数
-
- pt : 現在の UCS での 2D 基点。pt 引数を指定すると、それが 2 つの点の 1 点目として使用され、ユーザがもう 1 つの点を指定すると、LISP で角度を求めることができる。3D 基点を与えることもできるが、角度は常に現在の作図平面で計測される。
- msg : ユーザに表示するプロンプト文字列。
- 戻り値
- ユーザが指定した角度、単位はラジアン。
- getangle 関数は、システム変数 ANGBASE の設定を 0 ラジアンの方向として、反時計回りに増加するように角度を計測する。返される角度は、現在の作図平面(現在の高度の現在の UCS の XY 平面)でのもので、単位はラジアン。
- サンプル
; getangle 関数で異なる引数を使用したコードの例を示す。 (setq ang (getangle)) (setq ang (getangle '(1.0 3.5))) (setq ang (getangle "方向は? ")) (setq ang (getangle '(1.0 3.5) "方向は? "))
- 使用上の注意
- ユーザは、CAD の現在の角度単位形式に従って数値を入力することにより、角度を指定できる。現在の角度単位形式が、十進数(度)、グラジエントなど何であっても、この関数は常にラジアン単位で角度を返す。ユーザは、図面上で 2 つの 2D 点を指定して、AutoLISP で角度を表示することもできる。CAD は 1 番目の点から現在のクロスヘア カーソルの位置にラバー バンドを描き、ユーザが角度を目で確認できるようにする。
- 入力した角度と getangle 関数が返す角度とは異なることに十分注意。getangle 関数に渡される入力角度は、システム変数 ANGDIR と ANGBASE の現在の設定に基づいている。しかし、いったん角度が入力されると、システム変数 ANGBASE の現在の設定を 0(ゼロ)ラジアンとして、反時計回り(ANGDIR は無視します)で増加するように角度が計測される。
- getangle 関数の要求に対する応答で、ユーザは別の AutoLISP 式を入力することはできない。
関連事項