Vla-replace
- 構文
- (vla-replace vla-object Name NewObject)
- 機能
- ディクショナリ内の項目を、与えられた項目に置き換える。
- 引数
- 選択セットの場合
-
- vla-object … Dictionary の VLA オブジェクト
- Name … 置き換えられるオブジェクトの名前(キーワード)。
- NewObject … 新しいオブジェクト。
- 戻り値
- なし
- MEMO : たとえば、次のようなディクショナリで、"FirstKeyword" という名前のオブジェクトを置き換える。
MyDictionary Keyword オブジェクト FirstKeyword Object1 SecondKeyword Object2
新しいオブジェクト「NewObject」によって、次のようなディクショナリになりる。
MyDictionary Keyword オブジェクト FirstKeyword NewObject SecondKeyword Object2
- サンプル
(vl-load-com)
(defun c:Example_Replace()
;; ディクショナリを作成してカスタム オブジェクトを追加してから
;; ディクショナリ内のオブジェクトを置き換えるサンプルます。
(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 アプリケーションをロード
;;
;; Note: ObjectARX アプリがないと止まるので準備しておくこと
(vla-LoadArx acadObj "MyARXApp.dll")
;; カスタムオブジェクトを作成
(setq keyName "OBJ1")
(setq className "CAsdkDictObject")
(setq customObj (vla-AddObject dictObj keyName className))
;; ディクショナリのオブジェクトをリプレイス
(setq newCustomObject (vlax-make-variant))
(vlax-variant-type newCustomObject vlax-vbObject)
(vla-Replace dictObj keyName newCustomObject)
)
関連事項