「Getangle」の版間の差分
編集の要約なし |
細編集の要約なし |
||
1行目: | 1行目: | ||
{{AutoLISP}} | |||
; 構文 | ; 構文 | ||
: (getangle [''pt''] [''msg'']) | : (getangle [''pt''] [''msg'']) | ||
5行目: | 7行目: | ||
; 機能 | ; 機能 | ||
: ユーザが角度を入力するまで待機(一時停止)し、入力された角度をラジアン単位で返す。 | : ユーザが角度を入力するまで待機(一時停止)し、入力された角度をラジアン単位で返す。 | ||
; 引数 | ; 引数 | ||
:* pt : 現在の UCS での 2D 基点。pt 引数を指定すると、それが 2 つの点の 1 点目として使用され、ユーザがもう 1 つの点を指定すると、LISP で角度を求めることができる。3D 基点を与えることもできるが、角度は常に現在の作図平面で計測される。 | :* pt : 現在の UCS での 2D 基点。pt 引数を指定すると、それが 2 つの点の 1 点目として使用され、ユーザがもう 1 つの点を指定すると、LISP で角度を求めることができる。3D 基点を与えることもできるが、角度は常に現在の作図平面で計測される。 | ||
:* msg : ユーザに表示するプロンプト文字列。 | :* msg : ユーザに表示するプロンプト文字列。 | ||
; 戻り値 | ; 戻り値 | ||
16行目: | 20行目: | ||
; サンプル | ; サンプル | ||
: | <pre class="brush:autolisp;"> | ||
; getangle 関数で異なる引数を使用したコードの例を示す。 | |||
(setq ang (getangle)) | (setq ang (getangle)) | ||
(setq ang (getangle '(1.0 3.5))) | (setq ang (getangle '(1.0 3.5))) | ||
22行目: | 27行目: | ||
(setq ang (getangle '(1.0 3.5) "方向は? ")) | (setq ang (getangle '(1.0 3.5) "方向は? ")) | ||
</pre> | |||
; 使用上の注意 | ; 使用上の注意 |
2015年9月13日 (日) 09:40時点における最新版
- 構文
- (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 式を入力することはできない。
関連事項