기존 블록과 비슷한 새로운 블록이 필요할 때
아키모아에서 만든 블록 개별 다른이름으로 저장 리습을 쓰는데
제가 필요한건 블록을 다른 이름으로 복사를 하는 리습이 필요한데
혹시 없을까요?
지금은 블록 1개를 따로 복사 후 다른 이름 리습을 선택후 블록 이름을 변경 후 작업을 하는데
제가 필요한거는 블록을 복사 할때 다른 이름으로 바로 복사 되기를 바랍니다.
어떻게 수정을 해야 하나요?
(defun c:bnn(/ os ent elist ins ang)
(prompt “n블럭 개별 이름변경..”)
(setvar “cmdecho” 0)
(setq la (getvar “clayer”))
(setq os (getvar “osmode”))
(if (setq ent (car (entsel “nBlock select:”)))
(progn (setq elist (entget ent))
(redraw ent 3)
(setq obn (cdr (assoc 2 elist)))
(setq ins (cdr (assoc 10 elist)))
(setq bco (cdr (assoc 8 elist)))
(setq x41 (cdr (assoc 41 elist)))
(setq x42 (cdr (assoc 42 elist)))
(setq x43 (cdr (assoc 43 elist)))
(setq ang (rtd (cdr (assoc 50 elist))))
(setq rname nil)
(while (= rname nil)
(setq rname (getstring “nNew block name:”))
(setq byn (assoc 2 (tblsearch “block” rname)))
(setq byn2 (cdr byn))
(if (= rname byn2)
(progn (setq rname nil)
(prompt “블럭이름중복->다시입력해주세요”)
) ;progn
);if
) ;while
(redraw ent 4)
(if (/= rname “”)
(progn
(command “erase” ent “”)
(setvar “osmode” 0)
(command “_.insert” obn ins “” “” “”)
(command “explode” “l”)
(setvar “clayer” bco)
(command “_.block” rname ins “p” “”)
(command “_.insert” rname ins “x” x41 x42 x43 ang)
(setvar “clayer” la)
(setvar “osmode” os)
(princ “블록이름: “)(princ obn)(princ ” –> “)(princ rname)(princ ” 로 개별변경함”)
);progn
);if
);progn
);if
(princ)
);defun
기존 블록을 다른 이름으로 직접 적어서 블록을 만들어야 하거든요.ㅠ
다른이름으로 저장되는건 직접 적으셔야 하나요?