概要 - リアクタ タイプとリアクタ イベント(AutoLISP/ActiveX)

AutoCAD のリアクタには、多くのタイプがあります。リアクタの各タイプは、1 つまたは複数の AutoCAD イベントに応答します。

注: AutoLISP での ActiveX のサポートは Windows のみに制限されています。

さまざまなタイプの使用可能リアクタは、次のように分類されます。

データベース リアクタ

データベース リアクタは、オブジェクトがデータベースに追加されたときのように、図面データベースに特定のイベントが発生したときにアプリケーションに通知します。

ドキュメント リアクタ

ドキュメント リアクタは、新しい図面ドキュメントを開いたり、他のドキュメント ウィンドウをアクティブにしたり、ドキュメントのロック状態を変更するなど、現在の図面ドキュメントに対して変更が行われたときにアプリケーションに通知します。

編集リアクタ

編集リアクタは、図面を開いたり、閉じたり、保存したり、DXF ファイルの読み込みや書き出し、システム変数の値を変更するなど、AutoCAD コマンドが呼び出されるたびにアプリケーションに通知します。

リンカー リアクタ

リンカー リアクタは、ARX アプリケーションがロードまたはロード解除されるたびにアプリケーションに通知します。

オブジェクト リアクタ

オブジェクト リアクタは、特定のオブジェクトが修正、コピー、削除されるたびにアプリケーションに通知します。

編集リアクタ以外は、リアクタのタイプは分類ごとに 1 つしかありません。次の表に、AutoLISP コードの中で指定するリアクタ名を、タイプ別に示します。

一般的なリアクタのタイプ

リアクタ タイプの識別子

説 明

:VLR-AcDb-Reactor

データベース リアクタ

:VLR-DocManager-Reactor

ドキュメント管理リアクタ

:VLR-Editor-Reactor

一般的な編集リアクタ。下位互換性を保持するためにあります。

:VLR-Linker-Reactor

リンカー リアクタ

:VLR-Object-Reactor

オブジェクト リアクタ

AutoCAD 2000 から、汎用クラスの編集リアクタはさらに特定のリアクタ タイプに分類されています。:VLR-Editor-Reactor タイプは、下位互換性を保持するために残してありますが、:VLR-Editor-Reactor を使用して AutoCAD 2000 で採用された新しい編集リアクタを参照することはできません。次の表に、AutoCAD 2000 から使用できるようになった編集リアクタのタイプを示します。

編集リアクタのタイプ

リアクタ タイプ

説 明

:VLR-Command-Reactor

コマンド イベントを通知します。

:VLR-DeepClone-Reactor

ディープ クローン イベントを通知します。

:VLR-DWG-Reactor

図面イベントを通知します(たとえば、図面ファイルを開く、閉じるなど)。

:VLR-DXF-Reactor

DXF ファイルの読み込みまたは書き出しに関連するイベントを通知します。

:VLR-Insert-Reactor

ブロック挿入に関連するイベントを通知します。

:VLR-Lisp-Reactor

AutoLISP イベントを通知します。

:VLR-Miscellaneous-Reactor

他の編集リアクタのタイプには分類されないイベントを通知します。

:VLR-Mouse-Reactor

マウス イベントを通知します(たとえば、ダブルクリックするなど)。

:VLR-SysVar-Reactor

システム変数に対する変更を通知します。

:VLR-Toolbar-Reactor

ツールバーのビットマップに対する変更を通知します。

:VLR-Undo-Reactor

UNDO イベントを通知します。

:VLR-Wblock-Reactor

ブロックの書き出しに関連するイベントを通知します。

:VLR-Window-Reactor

AutoCAD アプリケーション ウィンドウの移動やサイズ変更に関連するイベントを通知します。

:VLR-XREF-Reactor

外部参照のアタッチや変更に関連するイベントを通知します。

vlr-types 関数を使用すると、使用可能リアクタ タイプの全リストが返されます。次に、例を示します。

(vlr-types)
(:VLR-Linker-Reactor :VLR-Editor-Reactor :VLR-AcDb-Reactor 
:VLR-DocManager-Reactor :VLR-Command-Reactor :VLR-Lisp-Reactor 
:VLR-DXF-Reactor :VLR-DWG-Reactor :VLR-Insert-Reactor 
:VLR-Wblock-Reactor :VLR-SysVar-Reactor :VLR-DeepClone-Reactor 
:VLR-XREF-Reactor :VLR-Undo-Reactor :VLR-Window-Reactor 
:VLR-Toolbar-Reactor :VLR-Mouse-Reactor 
:VLR-Miscellaneous-Reactor :VLR-Object-Reactor)