Vla-get-xrefdatabase
- 構文
- (vla-get-xrefdatabase vla-object)
- 機能
- ブロックの内容を定義する Database オブジェクトを取得する。
- 引数
-
- vla-object … Block の VLAオブジェクト
- 戻り値
- ブロックの内容を定義する Database オブジェクト。
- MEMO : このプロパティは ブロックの IsXRef プロパティが True の場合にのみ使用できる。
- サンプル
(vl-load-com)
(defun c:Example_XRefDatabase()
;; 現在の図面への外部参照を追加するサンプル。
;; 図面内の各ブロック オブジェクトを循環し、ブロックの IsLayout および
;; IsXRef プロパティにアクセスして各ブロックのスタイルを決定する。
;; ブロックが外部参照ブロックの場合、そのブロックの外部のデータベース
;; オブジェクトへの参照を取得してデータベースに含まれるブロック数を表示する。
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; 外部参照の定義
(setq InsertPoint (vlax-3d-point 1 1 0)
pathName (findfile ".\\Sample\\xref\\xref1.dwg")) ; ファイルは用意しておくこと
;; 外部参照を追加
(setq modelSpace (vla-get-ModelSpace doc))
(setq insertedBlock (vla-AttachExternalReference modelSpace pathName "XREF_IMAGE" InsertPoint 1 1 1 0 :vlax-false))
(vla-ZoomAll acadObj)
(setq msg "")
(vlax-for tempBlock (vla-get-Blocks doc)
(if (= (vla-get-IsXRef tempBlock) :vlax-true)
(progn
;; 外部参照ブロックは追加
(setq msg (strcat msg (vla-get-Name tempBlock) " は"
(itoa (vla-get-Count (vla-get-Blocks (vla-get-XRefDatabase tempBlock)))) " ブロックに含まれている\n"))
)
)
)
;; XRefDatabase のインフォメーションを表示
(alert (strcat "この図面に添付された外部参照ブロックのブロック数 : " msg))
)
関連事項