図面オブジェクト リアクタ オブジェクトを作成します。
サポートされているプラットフォーム: Windows のみ
(vlr-object-reactor owners data callbacks)
タイプ: リスト
監視する図形オブジェクトを示す VLA オブジェクトの AutoLISP リスト。
タイプ: 整数、実数、文字列、リスト、VLA オブジェクト、セーフ配列、バリアント、T、nil
リアクタ オブジェクトに関連付ける任意の AutoLISP データ。または、関連付けるデータが存在しない場合は nil。
タイプ: リスト
次の形式のペアのリスト。
(event-name . callback_function)
event-name は、次の「オブジェクト イベント」のいずれかです。
オブジェクト イベント |
|
---|---|
名前 |
イベント |
:vlr-cancelled |
オブジェクトの修正がキャンセルされた直後 |
:vlr-copied |
オブジェクトが複写された直後 |
:vlr-erased |
オブジェクトの削除フラグが設定された直後 |
:vlr-unerased |
オブジェクトの削除フラグが解除された直後 |
:vlr-goodbye |
オブジェクトがメモリから削除される直前 |
:vlr-openedForModify |
オブジェクトが修正される直前 |
:vlr-modified |
オブジェクトが修正された直後。修正がキャンセルされた場合は、:vlr-cancelled と :vlr-modifyUndone も呼び出されます。 |
:vlr-subObjModified |
オブジェクトの従属図形が修正された直後。このイベントは、ポリラインやメッシュの頂点が修正されたときや、ブロック参照に所有されている属性が修正されたときに発生します。 |
:vlr-modifyUndone |
オブジェクトの修正が元に戻されたとき |
:vlr-modifiedXData |
オブジェクトの拡張図形データが修正された直後 |
:vlr-unappended |
オブジェクトが図面データベースからアタッチ解除された直後 |
:vlr-reappended |
オブジェクトが図面データベースに再アタッチされた直後 |
:vlr-objectClosed |
オブジェクトの修正が完了した直後 |
callback_function は、イベントが発生したときに呼び出される関数を示すシンボルです。各コールバック関数は、次の 3 つの引数を受け入れます。
owner: イベントを割り当てる VLA オブジェクトのオーナー。
reactor_object: コールバック関数を呼び出した VLR オブジェクト。
list: 特定のイベントに関連付ける特別なデータ要素のリスト。個々のイベントに対するこのリストの内容については、「オブジェクト イベント コールバック データ」の 表を参照してください。
オブジェクト イベント コールバック データ |
||
---|---|---|
名前 |
リストの長さ |
パラメータ |
:vlr-cancelled :vlr-erased :vlr-unerased :vlr-goodbye :vlr-openedForModify :vlr-modified :vlr-modifyUndone :vlr-modifiedXData :vlr-unappended :vlr-reappended :vlr-objectClosed |
0 |
|
:vlr-copied |
1 |
コピーして作成されたオブジェクト(ename)。 |
:vlr-subObjModified |
1 |
修正された従属オブジェクト(ename) |
タイプ: VLR オブジェクト
callback_function からの reactor_object 引数。
リアクタ オブジェクトは図面データベースに追加されますが、不変リアクタになるわけではありません。
次のコードは、オブジェクト リアクタを myCircle オブジェクトにアタッチします。オブジェクトが修正されたとき(:vlr-modified)は常に応答し、修正イベントへの応答時に print-radius 関数を呼び出すリアクタを定義します。
(setq circleReactor (vlr-object-reactor (list myCircle) "Circle Reactor" '((:vlr-modified . print-radius))))