วันพฤหัสบดีที่ 18 กันยายน พ.ศ. 2568

Replace Blocks

 

Replace Blocks


(defun c:test (/ en enlist typname blkname ss en1 enlist1 newBlock)
(setq old_cmdecho(getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq en(car (entsel "\n Select Old block :")))
(setq enlist(entget en))
(setq typname (cdr(assoc 0 enlist)))
(setq blkname(cdr(assoc 2 enlist)))
(setq ss (ssget "X" (list (cons 0 typname)(cons 2 blkname))))
(setq en1(car (entsel "\n Select a block repeat with :")))
(setq enlist1(entget en1))
(setq newBlock(cdr(assoc 2 enlist1)))
(setq i 0)
(repeat (sslength ss)
(setq elist (entget (ssname ss i)))
(setq elist (subst (cons 2 newBlock) (assoc 2 elist) elist))
(entmod elist) ;Update the entity
(setq i (1+ i))
)
(princ (strcat "\nOld Block: " blkname " updated to: " newBlock "!"))
(setvar "cmdecho" old_cmdecho)
(princ)
)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น