블록을 열어 고치는 중에 바깥에 있는 걸 하나만 안으로 넣고 싶은 순간이 있다. 참조 편집 객체 복사, 그러니까 바깥에 있는 것을 복제해 편집 중인 블록 안으로 편입시키는 일은, 알고 보면 몇 단계 안 되는데도 매번 손이 꼬였다. 그래서 그 몇 단계를 한 줄로 줄였다.

참조 편집 객체 복사가 늘 걸리던 이유
블록 하나를 REFEDIT으로 열어 고치는 중이었다. 도면 다른 쪽에 이미 그려둔 심볼이 있고, 그걸 지금 편집 중인 블록 안에 넣고 싶다. 그것뿐인데 손이 자꾸 멈췄다.
그냥 끌어다 놓으면 안 된다. 참조 편집 중에 밖에 있는 객체는 흐리게 표시될 뿐, 내가 지금 고치고 있는 세트에 속해 있지 않다. 안으로 넣으려면 REFSET을 불러 ‘추가’를 고르고, 대상을 다시 집고, 엔터를 치는 왕복이 필요하다.
문제는 그다음이었다. 원본을 그대로 편입시키면 그 객체는 블록 소속이 된다. 저장하고 나오면 바깥에 있던 자리에서는 사라진다. 참고용으로 남겨두고 싶었던 원본까지 딸려 들어가 버리는 것이다. 그래서 실제로는 먼저 제자리 복사를 하고, 그 복사본만 REFSET으로 편입시켜야 한다. 복사 한 번, 명령 한 번, 선택 한 번, 확인 한 번.
한두 번이면 그러려니 한다. 상세도 하나 정리하면서 열몇 번을 반복하면 이야기가 달라진다. 어디까지 복사했는지, 방금 편입시킨 게 원본인지 복사본인지 헷갈리기 시작하면 그때부터는 작업이 아니라 확인이 일이 된다.
어떻게 풀었나
순서를 바꾸지 않고, 사람이 하던 자리만 코드로 옮겼다.
객체를 고르면 그 데이터를 그대로 읽어 제자리에 복제본을 하나 만든다. 이때 원본과 이어진 정보(핸들·소유자)는 떼어낸다. 떼어내지 않으면 복제가 아니라 같은 객체를 가리키는 꼴이 되기 때문이다. 그렇게 만들어진 복제본들만 모아서 REFSET에 한 번에 넘긴다.
선택 방식은 양쪽 다 열어뒀다. 미리 골라두고 명령을 쳐도 되고, 명령을 먼저 쳐도 된다. 실무에서는 대개 눈에 보이는 걸 먼저 집게 되니 사전 선택 쪽이 편했다.
되돌리기는 하나로 묶었다. 열 개를 넣었어도 Ctrl+Z 한 번이면 통째로 돌아온다. 개수만큼 되돌리기를 눌러야 하는 도구는 결국 안 쓰게 된다는 걸, 몇 번 겪고 알았다.
참조 편집 객체 복사가 한 줄로
복사하고, REFSET 부르고, 다시 집고, 엔터 치던 네 동작이 명령어 하나가 됐다. 객체를 고르고 RRFA를 치면 끝이다.
원본은 밖에 그대로 남는다. 안으로 들어간 건 복제본이다. 그래서 “이거 넣으면 원본 사라지는 거 아닌가” 하는 망설임이 없어졌다. 이 망설임이 없어진 게, 사실 단축된 시간보다 컸다.
명령이 끝나면 몇 개가 편입됐는지 명령창에 숫자로 찍힌다. 골랐던 개수와 숫자가 같으면 다 들어간 것이고, 다르면 못 들어간 게 있다는 뜻이다. 확인이 한눈에 끝난다.
사용 환경
- ZWCAD 2023 기준으로 만들고 실전에서 검증했습니다.
- AutoCAD 호환은 확인하지 못했습니다.
- 리습을 처음 불러오신다면 리습 불러오는 네 가지 방법 글을 먼저 보시면 됩니다.
어떻게 쓰나
- 평소대로 REFEDIT(참조 편집)으로 블록이나 외부 참조를 엽니다.
- 안으로 가져올 객체를 고릅니다. 미리 골라두셔도 되고, 3번 다음에 고르셔도 됩니다.
- 명령창에
RRFA를 입력합니다. - 복제본이 제자리에 생기면서 편집 세트에 들어갑니다. 편입된 개수가 명령창에 표시됩니다.
- 위치를 잡고 평소처럼 REFCLOSE로 저장하고 나옵니다.
참조 편집 상태가 아닐 때 실행하면 안내만 띄우고 조용히 빠집니다. 실수로 쳐도 도면이 건드려지지 않습니다.
아직 안 되는 것
- 원본은 남습니다. 복제본이 들어가는 방식이라 밖에 원본이 그대로 있습니다. 중복이 싫으시면 저장 후 직접 지우셔야 합니다. 아니면 그냥 REFSET쓰시면 되죠?
- 모든 객체가 되는 건 아닙니다. 선·폴리선·원·호·문자처럼 자기 데이터로 완결된 객체는 잘 들어갑니다. 반면 블록 참조나 해치처럼 다른 정보에 기대는 객체는 복제가 실패할 수 있습니다. 실패해도 멈추지 않고 넘어가니, 편입된 개수를 골랐던 개수와 비교해 보시면 됩니다. 근데 될 수도 있어요.
- AutoCAD 동작은 미검증입니다.
받아 가기
쓰시다가 안 되는 게 있으면 댓글로 남겨주세요. 제 환경에서만 되는 것들이 종종 있습니다.
짧은 회고
이 도구를 만들면서 조금 민망했던 건, 이게 대단한 기능이 아니라는 점이다. 캐드가 원래 제공하는 명령 두 개를 순서대로 부를 뿐이다. 새로 만든 게 없다.
그런데 쓰다 보면 알게 된다. 나를 지치게 한 건 어려운 작업이 아니라, 쉬운데 번거로운 작업이었다는 걸. 어려운 건 집중하니까 오히려 버틴다. 쉬운데 네 단계인 것들이 하루를 갉아먹는다.
자동화라는 말이 거창해서 그렇지, 실제로 하는 일은 대개 이렇다. 이미 있는 걸 순서대로 부르는 것. 그 순서를 기억하지 않아도 되게 만드는 것.
이용 조건: 개인·비영리 자유 사용, 출처 표기 시 수정 가능, 무단 재배포·상업적 판매 금지, 무보증·본인 책임 — 자세히
답글 남기기