Vlr-insert-reactor

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年11月23日 (月) 16:51時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成: ; 構文 : (vlr-insert-reactor ''data'' ''callbacks'') ; 機能 : ブロック挿入に関するイベントを通知する編集リアクタ オブジェクトを作成する…)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vlr-insert-reactor data callbacks)


機能
ブロック挿入に関するイベントを通知する編集リアクタ オブジェクトを作成する。
引数
  • data : リアクタ オブジェクトに関連付ける任意の AutoLISP データ。または、関連付けるデータが存在しない場合は nil。
  • callbacks : 次の形式のペアのリスト。
(event-name . callback_function)
event-name は、次の「挿入リアクタ イベント」の表にあるシンボルの 1 つ。callback_function は、イベントが発生したときに呼び出される関数を示すシンボル。 各コールバック関数は、次の 2 つの引数を受け入れる。
  • reactor_object : コールバック関数を呼び出した VLR オブジェクト。
  • list : 個々のイベントに関連付ける特別なデータ要素のリスト。 個々のイベントに対するこのリストの内容については、「挿入リアクタ コールバック データ」の表を参照。
戻り値
reactor_object 引数。


挿入リアクタ イベント
イベント名 説 明
:vlr-beginInsert ブロックが図面データベースに挿入される直前
:vlr-beginInsertM 3D 変換マトリックスが図面データベースに挿入される直前
:vlr-otherInsert ブロックまたはマトリックスが図面データベースに追加された直後。この通知は、挿入処理がオブジェクトをデータベースにコピーした後で、ID 変換または図形変換が行われる前に送られる。
:vlr-endInsert 通常は、図面データベースへの挿入処理が終了したことを示している。しかし、場合によっては、変換がまだ行われていない、または作成されたブロックがまだ追加されていないことがある。これは、コピーされたオブジェクトがまだグラフィカルでなく、:vlr-commandEnded 通知を受け取るまで、それらを選択セット内で使用できないことを意味している。
:vlr-abortInsert 挿入処理が完了せずに終了し、データベースが不安定な状態になったとき


挿入リアクタ コールバック データ
名前 リストの長さ パラメータ
:vlr-beginInsert 3 最初のパラメータは、ブロックが挿入されるデータベースを指し示す VLA オブジェクト。
2 番目のパラメータは、挿入されるブロックの名前を示す文字列。
3 番目のパラメータは、ブロックの挿入元データベースを示す VLA オブジェクト。
:vlr-beginInsertM 3 最初のパラメータは、3D 変換マトリックスが挿入されるデータベースを指し示す VLA オブジェクト。
2 番目のパラメータは、挿入される 3D 変換マトリックス。
3 番目のパラメータは、マトリックスの挿入元データベースを示す VLA オブジェクト。
:vlr-otherInsert 2 最初のパラメータは、ブロックまたはマトリックスが挿入されるデータベースを指し示す VLA オブジェクト。
2 番目のパラメータは、ブロックまたはマトリックスの挿入元データベースを示す VLA オブジェクト。
:vlr-endInsert
:vlr-abortInsert
1 挿入先データベースを指し示す VLA オブジェクト