プログラム ID を受け取り、それをインプロセス サーバーとして AutoCAD にロードを試みます。
サポートされているプラットフォーム: Windows のみ
VBA:
RetVal = object.GetInterfaceObject(ProgID)
タイプ: Application
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: 文字列
返されるインタフェース オブジェクトのプログラム ID。
オブジェクトが AutoCAD にロードされても、タイプ ライブラリには表示されません。オブジェクトには独自のタイプ ライブラリがあります。このメソッドにより ActiveX オートメーション サーバに接続できます。
可能な場合は、バージョン依存 ProgID を使用します。GetInterfaceObject メソッドがバージョンに依存しない ProgID を使用している場合は、バージョン依存 ProgID を使用するようにメソッドを変更してください。たとえば、AcadLayerStateManager を AcadLayerStateManager.20 に変更してください。
VBA:
Sub Example_GetInterfaceObject()
' This example returns top level object of another application.
On Error GoTo ERRORHANDLER
Dim poly As Object
Set poly = ThisDrawing.Application.GetInterfaceObject("Polycad.Application")
ERRORHANDLER:
MsgBox Err.Description, , "GetInterfaceObject Example"
End Sub
Visual LISP:
(vl-load-com)
(defun c:Example_GetInterfaceObject()
;; This example returns top level object of another application.
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
(setq poly (vl-catch-all-apply 'vla-GetInterfaceObject (list acadObj "Polycad.Application")))
(if (= (type poly)'VL-CATCH-ALL-APPLY-ERROR)
(alert (strcat "Error occured: \n" (vl-catch-all-error-message poly)))
)
)