Vla-getobject

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月31日 (日) 20:28時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-getobject ''vla-object'' '''' '''' '''' ) ; 機能 : オブジェクトの名前(キーワード)を指定して、ディクショナリ内...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-getobject vla-object ' ' ' )


機能
オブジェクトの名前(キーワード)を指定して、ディクショナリ内のオブジェクトを取得する。


引数
  • vla-object … Dictionary のVLAオブジェクト
  • Name … ディクショナリ内のオブジェクトの名前(キーワード)。


戻り値
指定された名前(キーワード)に対応する vla オブジェクト


  • MEMO : たとえば、次のディクショナリで「SecondKeyword」という名前で問い合わせると、「Object2」というオブジェクトが返される。
  • MyDictionary
  • Keyword - Object
  • FirstKeyword - Object1
  • SecondKeyword - Object2


サンプル
(vl-load-com)
(defun c:Example_GetObject()
    ;; 辞書を作成し、その辞書にカスタムオブジェクトを追加するサンプル。

    (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 アプリケーションをロードする。
    ;; 注: ここに記載されているアプリケーションが存在しないと実行時エラーになる。
    ;;     ObjectARX アプリケーションの名前とパスにアプリケーション名を変更する。
    (vla-LoadArx acadObj "MyARXApp.dll")
    
    ;; 辞書でカスタム オブジェクトを作成。
    (setq keyName "OBJ1")
    (setq className "CAsdkDictObject")

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

    ;; 情報を取得
    (setq tempObj (vla-GetObject dictObj keyName))
)

関連事項