概要 - 引数に値を返すメソッド(AutoLISP/ActiveX)

いくつかの ActiveX メソッドは、値の代入が可能な変数を指定する必要があります。

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

GetBoundingBox メソッドは、この種のメソッドの例です。MinPoint パラメータと MaxPoint パラメータは、「出力のみ」と示されています。出力引数は、クォーテーション付きの変数名として指定してください。次の例は、円の境界ボックスの最小点および最大点を返す AutoLISP 関数呼び出しを示しています。

(vla-getboundingbox myCircle 'minpoint 'maxpoint)
nil

vla-getboundingbox 関数による値の出力は、3 つの倍精度浮動小数点数型のセーフ配列として変数 minpointmaxpoint に格納されます。vlax-safearray->list 関数を使用して、値を確認できます。

(vlax-safearray->list minpoint)
(1.0 1.0 -1.0e-008)

(vlax-safearray->list maxpoint)
(5.0 5.0 1.0e-008)
注: 関数に渡すクオーテーション付きのシンボル パラメータは、setq 関数を使用して作成されたパラメータのように AutoLISP 変数になります。このため、既定でのグローバル変数にならないように、関数定義にはローカル変数としてシンボル パラメータを含めてください。