プログラム ID を受け取り、それをインプロセス サーバーとして AutoCAD にロードを試みます。
サポートされているプラットフォーム: Windows のみ
VBA:
RetVal = object.GetInterfaceObject(ProgID)
タイプ: Application
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: 文字列
返されるインタフェース オブジェクトのプログラム ID。
オブジェクトが AutoCAD にロードされても、タイプ ライブラリには表示されません。オブジェクトには独自のタイプ ライブラリがあります。このメソッドにより ActiveX オートメーション サーバに接続できます。
可能な場合は、バージョン依存 ProgID を使用します。GetInterfaceObject メソッドがバージョンに依存しない ProgID を使用している場合は、バージョン依存 ProgID を使用するようにメソッドを変更してください。たとえば、AcadLayerStateManager を AcadLayerStateManager.22 に変更してください。
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)))
    )
)