「Vlr-editor-reactor」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
 
編集の要約なし
1行目: 1行目:
{{AutoLISP}}
; 構文
; 構文
: (vlr-editor-reactor ''data'' ''callbacks'')
: (vlr-editor-reactor ''data'' ''callbacks'')
93行目: 94行目:
|}
|}


サンプル
<pre class="brush:autolisp;">
(defun sysvarChanged (reactor info)
; 変更されたシステム変数を表示するサンプル
  (princ (strcat "\n" (car info) " "))
  (princ (getvar (car info)))
  (princ ", ")
  (princ)
)
(vlr-sysvar-reactor nil '((:vlr-sysvarChanged . sysvarChanged)))
</pre>


[[Category:AutoLISP]]
[[Category:AutoLISP]]

2017年4月24日 (月) 16:33時点における版

構文
(vlr-editor-reactor data callbacks)


機能
編集リアクタ オブジェクトを作成する。
引数
  • data : リアクタ オブジェクトに関連付ける任意の AutoLISP データ。または、関連付けるデータが存在しない場合は nil。
  • callbacks : 次の形式のペアのリスト。
(event-name . callback_function)
event-name は、次の「編集リアクタ イベント」の表にあるシンボルの 1 つ。callback_function は、イベントが発生したときに呼び出される関数を示すシンボル。 各コールバック関数は、次の 2 つの引数を受け入れる。
  • reactor_object : コールバック関数を呼び出した VLR オブジェクト。
  • list : 個々のイベントに関連付ける特別なデータ要素のリスト。 個々のイベントに対するこのリストの内容については、「編集リアクタ コールバック データ」の表を参照。
戻り値
reactor_object 引数。


編集リアクタ イベント
イベント名 説 明
:vlr-beginClose 図面データベースが閉じられる直前
:vlr-beginDxfIn DXF ファイルの内容が図面データベースに追加される直前
:vlr-abortDxfIn DXF の読み込みが正常に終了しなかった直後
:vlr-dxfInComplete DXF の読み込みが正常に終了した直後
:vlr-beginDxfOut AutoCAD が図面データベースを DXF ファイルに書き出す直前
:vlr-abortDxfOut DXF の書き出し操作が失敗した直後
:vlr-dxfOutComplete DXF の書き出し操作が正常に終了した直後
:vlr-databaseToBeDestroyed 図面データベースの内容がメモリから削除される直前
:vlr-unknownCommand 不明なコマンドを AutoCAD が実行しようとしたとき
:vlr-commandWillStart AutoCAD コマンドが呼び出された直後
:vlr-commandEnded AutoCAD コマンドが完了した直後
:vlr-commandCancelled AutoCAD コマンドがキャンセルされた直後
:vlr-commandFailed AutoCAD コマンドが失敗したとき
:vlr-lispWillStart AutoLISP 式が評価される直前
:vlr-lispEnded AutoLISP 式の評価が終了した直後
:vlr-lispCancelled AutoLISP 式の評価がキャンセルされた直後
:vlr-beginDwgOpen AutoCAD が図面ファイルを開く直前
:vlr-endDwgOpen AutoCAD が開く操作を終了した直後
:vlr-dwgFileOpened 新しい図面が AutoCAD 作図ウィンドウにロードされた直後
:vlr-beginSave AutoCAD が図面フィルを保存する直前
:vlr-saveComplete AutoCAD が現在の図面をディスクに保存した直後
:vlr-sysVarWillChange AutoCAD がシステム変数の値を変更する直前
:vlr-sysVarChanged システム変数の値が変更された直後


編集リアクタ コールバック データ
名前 リストの長さ パラメータ
:vlr-lispEnded
:vlr-lispCancelled
:vlr-beginClose
:vlr-beginDxfIn
:vlr-abortDxfIn
:vlr-dxfInComplete
:vlr-beginDxfOut
:vlr-abortDxfOut
:vlr-dxfOutComplete
:vlr-databaseToBeDestroyed
0
:vlr-unknownCommand
:vlr-commandWillStart
:vlr-commandEnded
:vlr-commandCancelled
:vlr-commandFailed
1 コマンド名を含んだ文字列
:vlr-lispWillStart 1 評価する AutoLISP 式の最初の行を含む文字列
:vlr-beginDwgOpen
:vlr-endDwgOpen
:vlr-dwgFileOpened
1 開くファイルを示す文字列
:vlr-beginSave 2 最初のパラメータは、保存する acadbase オブジェクト。 2 番目のパラメータは、保存する既定の名前を含む文字列で、ユーザによって変更される可能性がある。
:vlr-saveComplete 2 最初のパラメータは、保存する acadbase オブジェクト。 2 番目のパラメータは、保存するときに使用された実際のファイル名を含む文字列。
:vlr-sysVarWillChange 1 システム変数名を示す文字列
:vlr-sysVarChanged 2 最初のパラメータは、システム変数の名前を示す文字列。2 番目のパラメータは、変更が成功したかどうかを示す整数(1= 成功、0= 失敗)。


サンプル

(defun sysvarChanged (reactor info)
; 変更されたシステム変数を表示するサンプル
  (princ (strcat "\n" (car info) " "))
  (princ (getvar (car info)))
  (princ ", ")
  (princ)
)
(vlr-sysvar-reactor nil '((:vlr-sysvarChanged . sysvarChanged)))