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))
)
関連事項
