「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))))
