リアクタは、リアクタが作成された後に返されるリアクタ オブジェクトを使用して修正することができます。
リアクタ オブジェクトを修正するために、次の関数が提供されています。
vlr-reaction-set - 指定したリアクタ イベントに対するコールバック関数のリンクを変更します。この関数の構文は、次のとおりです。
(vlr-reaction-set reactor callback-condition 'callback-function)
たとえば、次のコマンドは、オブジェクトが変更されるときに circleReactor リアクタを変更して print-area 関数を呼び出します。
(vlr-reaction-set circleReactor :vlr-modified 'print-area) PRINT-AREA
vlr-data-set - リアクタに関連付けられているアプリケーション固有のデータを変更します。たとえば、次の呼び出しは、circleReactor リアクタを識別するのに使用されている文字列を置き換えます。
(vlr-data-set circleReactor "Circle Area Reactor") "Circle Area Reactor"
Visual LISP の検査機能を使用すると、リアクタが変更されたことを確認できます。リアクタを検査するときに[検査]ウィンドウが表示される場合、ウィンドウのオブジェクト行を右クリックして[更新]をクリックし、表示される値を更新する必要があることがあります。
vlr-owner-add - 指定したリアクタのオーナー リストにデータベース オブジェクトを追加します。次の例では、"archie" という円弧オブジェクトがリアクタ circleReactor のオーナー リストに追加されます。
(vlr-owner-add circleReactor archie) #<VLA-OBJECT IAcadArc 03ad0bcc>
ここで、ユーザが archie オブジェクトを変更すると、リアクタ circleReactor に対して定義されているコールバック関数が呼び出されます。これは、リアクタを検査することによって確認できます。circleReactorリアクタの[検査]ウィンドウを更新してから、{Owners} で始まるリスト項目を右クリックして[検査]をクリックします。円弧および円オブジェクトの両方が、[検査]ウィンドウに示されます。
vlr-owner-remove - リアクタのオーナー リストからオーナー オブジェクトを除去します。たとえば、次の文は、circleReactor オーナー リストから archie を除去します。
(vlr-owner-remove circleReactor archie) #<VLA-OBJECT IAcadArc 03ad0bcc>