Vla-rename
- 構文
- (vla-rename vla-object oldname newname )
- 機能
- ディクショナリ内の項目や保存された画層設定の名前を変更する。
- 引数
- 選択セットの場合
-
- vla-object … Dictionary、LayerStateManager の VLA オブジェクト
- oldname … ディクショナリ内のオブジェクトの現在の名前(キーワード)または、保存された画層設定セットの名前。
- newname … ディクショナリ内のオブジェクトの新しい名前(キーワード)または、保存された画層設定の新しい名前。
- 戻り値
- なし
- サンプル
(vl-load-com)
(defun c:Example_Rename()
;; ディクショナリにカスタムオブジェクトを作成して
;; リネームするサンプル
(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 "MyAPPDictObject")
(setq customObj (vla-AddObject dictObj keyName className))
;; オブジェクトをリネーム
(vla-Rename dictObj keyName "NewKeyName")
)
(defun c:Example_RenameLayerSettings()
;; 画層設定を作成して"ColorLinetype" から
;; "OldColorLinetype" にリネームするサンプル
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; LayerStateManager オブジェクトにアクセス
(setq oLSM (vla-GetInterfaceObject acadObj "AutoCAD.AcadLayerStateManager.20"))
;; 現在の図面データベースに LayerStateManager オブジェクトを
;; 関連付け。
(vla-SetDatabase oLSM (vla-get-Database doc))
(vla-Save oLSM "ColorLinetype" (+ acLsColor acLsLineType))
;; 画層設定をリネームして保存
(vla-Rename oLSM "ColorLinetype" "OldColorLinetype")
)
関連事項