概要 - オブジェクト リアクタ コールバック関数を定義する(AutoLISP/ActiveX)

他のリアクタと異なり、オブジェクト リアクタは特定の AutoCAD 図形(オブジェクト)にアタッチされます。

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

オブジェクト リアクタを定義するときは、リアクタをアタッチする図形を指定する必要があります。そのためオブジェクト リアクタのコールバック関数を定義するには、3 つの引数を指定する必要があります。

たとえば、次のコードは、print‑radius というコールバック関数を定義します。この関数は、円の半径を出力するのに使用できます。

(defun print-radius (notifier-object reactor-object parameter-list)
  (vl-load-com)
  (cond
    (
      (vlax-property-available-p
        notifier-object
        "Radius"
      )
      (princ "The radius is ")
      (princ (vla-get-radius notifier-object))
    )
  )
)

コードは vlax-property-available-p 関数を使用して、図形オブジェクトが Radius プロパティを持っているかどうかを確認しています。