;; 선택한 Block들을 특정 Block으로 일괄 교체하기
;; z level = 0.0 / x, y, z scale = 1.0 / rotation ang = 0.0
;; 20210923
(defun KM:BB ( / olds new new_name len n dxf_block )
(prompt "\nSelect block: ")
(if (setq olds (ssget '((0 . "INSERT"))))
(progn
(prompt "\n...Select blocks to be replaced: ...")
(setq new (ssget ":E:S" '((0 . "INSERT"))))
(setq new_name (assoc 2 (entget (ssname new 0))))
(setq len (sslength olds))
(setq n 0)
(repeat len
(setq dxf_block (entget (ssname olds n)))
(setq dxf_block (subst new_name (assoc 2 dxf_block) dxf_block))
(setq dxf_block (subst (cons 30 0.0) (assoc 30 dxf_block) dxf_block))
(setq dxf_block (subst (cons 41 1.0) (assoc 41 dxf_block) dxf_block))
(setq dxf_block (subst (cons 42 1.0) (assoc 42 dxf_block) dxf_block))
(setq dxf_block (subst (cons 43 1.0) (assoc 43 dxf_block) dxf_block))
(setq dxf_block (subst (cons 50 0.0) (assoc 50 dxf_block) dxf_block))
(entmod dxf_block)
(setq n (1+ n))
);repeat
);progn
(princ)
);if
(princ)
);defun
'autocad' 카테고리의 다른 글
선택한 블록의 중심점으로 새로운 블록 일괄 교체 (0) | 2021.09.28 |
---|---|
선택한 직각사각형으로 ZOOM window (0) | 2021.09.24 |
객체속성 변경 (entmod chg) (0) | 2021.09.16 |
Developed Apps until 202109 (0) | 2021.09.15 |
Automatically Number (0) | 2021.09.09 |