Vla-detach

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-detach vla-object)


機能
図面から外部参照をアタッチ解除する。


引数
  • vla-object … Block の VLAオブジェクト


戻り値
nil


  • 注意 :外部参照のアタッチを解除すると、現在の図面からの外部参照が除去される。外部参照のコピーはすべて削除され、外部参照の定義も削除される。外部参照に従属するシンボル テーブルの(画層や線種等の)情報は、すべて現在の図面から削除される。
  • 他の外部参照を含む外部参照のアタッチを解除することはできない。


サンプル
(vl-load-com)
(defun c:Example_Detach()
    ; 外部参照をアタッチしてからデタッチするサンプル
    ; STAIR1.dwg のファイルを使用するので準備しておくこと
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; 外部参照の定義
    (setq insertionPnt (vlax-3d-point 1 1 0)
          pathName (findfile ".\\STAIR1.dwg"))
    
    ;; 外部参照をアタッチ
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq xrefInserted (vla-AttachExternalReference modelSpace pathName "XREF_IMAGE" insertionPnt 1 1 1 0 :vlax-false))
    (vla-ZoomAll acadObj)
  
    (alert "外部参照をアタッチしました。")
    
    ;; アタッチ解除
    (setq name (vla-get-Name xrefInserted))
    (vla-Detach (vla-Item (vla-get-Blocks doc) name))
    (alert "外部参照をアタッチ解除しました。")
)

関連事項