「Vlr-object-reactor」の版間の差分
(ページの作成: ; 構文 : (vlr-object-reactor ''owners'' ''data'' ''callbacks'') ; 機能 : オブジェクト リアクタ オブジェクトを作成する。 : リアクタ オブジェク…) |
細編集の要約なし |
||
1行目: | 1行目: | ||
{{AutoLISP}} | |||
; 構文 | ; 構文 | ||
: (vlr-object-reactor ''owners'' ''data'' ''callbacks'') | : (vlr-object-reactor ''owners'' ''data'' ''callbacks'') | ||
6行目: | 7行目: | ||
: オブジェクト リアクタ オブジェクトを作成する。 | : オブジェクト リアクタ オブジェクトを作成する。 | ||
: リアクタ オブジェクトは図面データベースに追加されるが、不変リアクタになるわけではない。 | : リアクタ オブジェクトは図面データベースに追加されるが、不変リアクタになるわけではない。 | ||
; 引数 | ; 引数 | ||
16行目: | 18行目: | ||
:::* reactor_object コールバック関数を呼び出した VLR オブジェクト。 | :::* reactor_object コールバック関数を呼び出した VLR オブジェクト。 | ||
:::list 個々のイベントに関連付ける特別なデータ要素のリスト。 個々のイベントに対するこのリストの内容については、「オブジェクト イベント コールバック データ」の 表を参照。 | :::list 個々のイベントに関連付ける特別なデータ要素のリスト。 個々のイベントに対するこのリストの内容については、「オブジェクト イベント コールバック データ」の 表を参照。 | ||
; 戻り値 | ; 戻り値 | ||
: reactor_object 引数。 | : reactor_object 引数。 | ||
2016年9月5日 (月) 10:01時点における版
- 構文
- (vlr-object-reactor owners data callbacks)
- 機能
- オブジェクト リアクタ オブジェクトを作成する。
- リアクタ オブジェクトは図面データベースに追加されるが、不変リアクタになるわけではない。
- 引数
-
- owners : 監視する図形オブジェクトを示す VLA オブジェクトの AutoLISP リスト。
- data :リアクタ オブジェクトに関連付ける任意の AutoLISP データ。または、関連付けるデータが存在しない場合は nil。
- callbacks : 次の形式のペアのリスト。
- (event-name . callback_function)
- event-name は、次の「オブジェクト イベント」の表にあるシンボルの 1 つ。callback_function は、イベントが発生したときに呼び出される関数を示すシンボル。 各コールバック関数は、次の 3 つの引数を受け入れる。
- owner イベントを割り当てる VLA オブジェクトのオーナー。
- reactor_object コールバック関数を呼び出した VLR オブジェクト。
- list 個々のイベントに関連付ける特別なデータ要素のリスト。 個々のイベントに対するこのリストの内容については、「オブジェクト イベント コールバック データ」の 表を参照。
- 戻り値
- reactor_object 引数。
オブジェクト イベント | |
---|---|
名前 | イベント |
: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 | オブジェクトの修正が完了した直後 |
オブジェクト イベント コールバック データ | ||
---|---|---|
名前 | リストの長さ | パラメータ |
: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 | コピーして作成されたオブジェクト(図形名) |
:vlr-subObjModified | 1 | 修正された従属オブジェクト(図形名) |
- サンプル
- 次のコードは、オブジェクト リアクタを myCircle オブジェクトにアタッチする。オブジェクトが修正されたとき (:vlr-modified) は常に応答し、修正イベントへの応答時に print-radius 関数を呼び出すリアクタを定義する。
(setq circleReactor (vlr-object-reactor (list myCircle) "Circle Reactor" '((:vlr-modified . print-radius))))