「Vla-addobject」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-addobject ''dictObj'' ''keyName'' ''className'') ; 機能 : 名前の付いたディクショナリにオブジェクトを追加します...」) |
細編集の要約なし |
||
(同じ利用者による、間の2版が非表示) | |||
18行目: | 18行目: | ||
: 新しく作成される VLA オブジェクト | : 新しく作成される VLA オブジェクト | ||
* 注意 | |||
: このメソッドは、ObjectName で指定された新しいエントリをディクショナリに追加する。エントリが既に存在している場合、そのエントリが新しいオブジェクトに置き換えられる。オブジェクトの名前は、KeyWord で指定する。 | : このメソッドは、ObjectName で指定された新しいエントリをディクショナリに追加する。エントリが既に存在している場合、そのエントリが新しいオブジェクトに置き換えられる。オブジェクトの名前は、KeyWord で指定する。 | ||
: 例えば、ThirdKeyword という Keyword で、オブジェクト タイプが Object3 であるオブジェクトは、次のようにすることで MyDictionary に追加できる。 | : 例えば、ThirdKeyword という Keyword で、オブジェクト タイプが Object3 であるオブジェクトは、次のようにすることで MyDictionary に追加できる。 | ||
34行目: | 35行目: | ||
(vl-load-com) | (vl-load-com) | ||
(defun c:Example_AddObject() | (defun c:Example_AddObject() | ||
;; | ;; ディクショナリにカスタムオブジェクトを作成・追加するサンプル | ||
(setq acadObj (vlax-get-acad-object)) | (setq acadObj (vlax-get-acad-object)) | ||
(setq doc (vla-get-ActiveDocument acadObj)) | (setq doc (vla-get-ActiveDocument acadObj)) | ||
42行目: | 42行目: | ||
(setq dictObj (vla-Add dictionaries "TEST_DICTIONARY")) | (setq dictObj (vla-Add dictionaries "TEST_DICTIONARY")) | ||
;; | ;; カスタムオブジェクトの ObjectARX アプリケーションをロード。 | ||
(vla-LoadArx acadObj "MyARXApp.dll") | (vla-LoadArx acadObj "MyARXApp.dll") | ||
2014年12月2日 (火) 22:36時点における最新版
- 構文
- (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)) )
関連事項