Vla-addobject

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-addobject dictObj keyName className)


機能
名前の付いたディクショナリにオブジェクトを追加します。
  • サポートされているプラットフォーム: Windows のみ


引数
  • dictObj … Dictionary の VLA オブジェクト
  • keyName … このオブジェクトのディクショナリにリストされるキーワードの文字列。
  • className … ディクショナリに作成されるオブジェクトの rxClassName 文字列。


戻り値
新しく作成される VLA オブジェクト


  • 注意
このメソッドは、ObjectName で指定された新しいエントリをディクショナリに追加する。エントリが既に存在している場合、そのエントリが新しいオブジェクトに置き換えられる。オブジェクトの名前は、KeyWord で指定する。
例えば、ThirdKeyword という Keyword で、オブジェクト タイプが Object3 であるオブジェクトは、次のようにすることで MyDictionary に追加できる。
  • MyDictionary
  • Keyword オブジェクト
  • FirstKeyword Object1
  • SecondKeyword Object2
  • ThirdKeyword Object3
  • Note: このメソッドが正しく機能するようにするためには、オブジェクトを定義する ObjectARX アプリケーションをロードする必要がある。ObjectARX アプリケーションをロードする方法は、vla-loadarx を参照。


サンプル
(vl-load-com)
(defun c:Example_AddObject()
    ;; ディクショナリにカスタムオブジェクトを作成・追加するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    (setq dictionaries (vla-get-Dictionaries doc))
  
    (setq dictObj (vla-Add dictionaries "TEST_DICTIONARY"))
    
    ;; カスタムオブジェクトの ObjectARX アプリケーションをロード。
    (vla-LoadArx acadObj "MyARXApp.dll")
    
    ;; カスタムオブジェクトをディクショナリに作成
    (setq keyName "OBJ1")
    (setq className "CAsdkDictObject")

    (setq customObj (vla-AddObject dictObj keyName className))
)


関連事項