Getangle

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年11月15日 (日) 12:16時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成: ; 構文 : (getangle [''pt''] [''msg'']) ; 機能 : ユーザが角度を入力するまで待機(一時停止)し、入力された角度をラジアン単位で返す。 ; …)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(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 式を入力することはできない。

関連事項

  • getorient 関数、initget 関数