고수님들, 질문이 있습니다.
예를들어 <도면1> 이라는 도면과 <도면2>라는 도면이 각각 있는데,
각 도면 안에 “축”이라는 이름의 각각 모형이 다른 블록이 있다고 치면,
두개를 새로운 도면 <NEW>라는 도면으로 복사해 올때,
먼저 생긴 축이라는 블록만 유지되고, 나머지 도면2의 축이라는 블록은 원래 있던 도면1의 축으로 바뀌잖아요?
이걸 자동으로 이름을 바꿔줘서 모양이 바뀌지 않게 할수는 없나요?
공유
비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.
해당 질문을 신고하는 이유를 간단히 입력해주세요.
해당 답변을 신고하는 이유를 간단히 입력해주세요.
해당 유저를 신고하는 이유를 간단히 입력해주세요.
붙여넣기하는 블록의 이름을 바꾸는건 사실상 어렵습니다.
이미 존재하는 블록의 이름을 랜덤하게 바꾸어놓고 붙여넣기 하는 것이
제가 아는한 유일한 방법입니다.
;;;;;;;;; 현재도면의 블록이름 변경하면서 paste 하기 – 리습코드
(defun c:bbt ( / txt op oDocument oblock txt2 d d1 t1 )
(vl-load-com)
(setq d (rtos (getvar “cdate”) 2 7))
(setq d1 (substr d 1 8)
t1 (substr d 10 7)
txt (strcat “_” d1 t1)
);setq end
(setq oDocument (vla-get-activedocument (vlax-get-acad-object)))
(vlax-for oBlock (vla-get-blocks oDocument)
(if (/= (substr (vla-get-name oBlock) 1 1) “*”)
(if (/= (substr (vla-get-name oBlock) 1 8) “MAT_DRAW”)
(progn
(if ( > ( strlen (vla-get-name oBlock) ) 60 )
(setq txt2 (substr (vla-get-name oBlock) 1 40 ) )
(setq txt2 (vla-get-name oBlock) )
);if end
(vla-put-name oBlock (strcat txt2 txt))
);progn end
);if end
)
)
(princ “n 블럭이름 변경 완료”)
(princ “n “)
(princ )
(command “pasteclip” )
);defun end
=== 아래 코드는 MNS파일 만들어서 추가등록하시면
컨트롤B 단축키를 컨트롤V 단축키처럼 쓰게 해줍니다.
MNS파일 설명은 구글에서 검색하시면 나옵니다.
[CONTROL+”B”] BBT
$$$$$$$$$$$$$$ 결론 $$$$$$$$$$$
CTRL+C로 복사해서 CTRL+B로 붙여넣으면 됩니다.
단점 : 기존블록의 이름 뒷부분이 랜덤하게 변경됩니다.
정말 감사드립니다^^ 한번 적용해보겠습니다