같은 블록 100개 중 일부만 바꾸고 싶을 때 — 블록 고유화 리습 (VD)

작성자

카테고리:

블록 고유화는 똑같은 블록 여러 개 중에서 하나만 떼어내 독립시키는 작업이다. 그 하나만 골라 새 이름을 주고, 나머지는 건드리지 않은 채 분리한다. 캐드로 도면을 그리다 보면 의외로 자주 마주치는 순간인데, 막상 손으로 하려면 길이 깔끔하지 않다. 그래서 클릭 한 번으로 끝나게 만든 게 VD다.

같은 블록 하나만 골라 독립 블록으로 분리하는 캐드 리습 VD

같은 블록 스무 개, 하나만 손대고 싶었다

회의실 가구를 배치하면서 같은 의자 블록을 도면 곳곳에 스무 개쯤 깔아 두었다고 하자. 그런데 의장석 하나만 등받이 모양을 살짝 바꾸고 싶다. 블록을 더블클릭해서 편집에 들어가 손을 대는 순간, 같은 정의를 공유하던 스무 개가 한꺼번에 따라 바뀐다. 블록의 본질이 그렇다. 정의는 하나, 화면의 인스턴스는 여럿. 하나를 고치면 전부 고쳐진다.

대부분은 그게 장점이다. 문 하나만 바꿔도 도면 전체 문이 갱신되니까. 그런데 가끔은 정확히 그 반대가 필요하다. 이 하나만은 무리에서 빼고 싶다. 그 순간 블록의 장점이 그대로 족쇄가 된다.

블록 고유화가 손이 많이 가는 이유

손으로 하자면 길이 여럿이고, 다 번거롭다. 분해(Explode)해 버리면 더 이상 블록이 아니라서 나중에 일괄 수정이 안 된다. WBLOCK으로 따로 뽑아 새 이름으로 다시 삽입하는 방법은 단계가 길고, 삽입점·축척을 맞추다 어긋나기 쉽다. 블록 편집기에서 다른 이름으로 저장하는 방법도 결국 원본 인스턴스의 참조를 일일이 바꿔 끼워야 한다.

요약하면, 캐드에는 “이 한 개만 독립된 블록으로 떼라”는 단일 동작이 기본으로 마련돼 있지 않다. 그래서 매번 우회로를 돌았다. 우회로는 짧지 않았다.

VD — 클릭 한 번으로 블록을 분리한다

VD는 그 우회로를 한 줄로 줄인다. 먼저 분리할 블록을 하나 고른다.

이어서 새 이름을 입력받는 작은 창이 뜬다. 이름은 그 자리에서 검사한다. 빈 값이면 막고, 원본과 똑같은 이름이면 막고, 캐드에서 쓸 수 없는 특수문자가 섞이면 막고, 이미 도면에 존재하는 블록 이름이면 막는다. 네 가지를 통과해야 진행된다.

확정하면 선택한 그 인스턴스들만 새 이름의 독립 블록으로 바뀐다. 내부 객체는 원본을 그대로 복제해 옮기므로 모양은 한 치도 달라지지 않는다. 단지 소속이 바뀐다. 나머지 인스턴스는 원래 정의에 그대로 남는다. 이제 새 블록을 마음껏 편집해도, 나머지에는 아무 일도 일어나지 않는다.

어떻게 달라졌나

전에는 “이 하나만 따로”가 작은 결심이 필요한 일이었다. 분해할지 새로 뽑을지 잠깐 머리를 굴리고, 어느 쪽이든 몇 단계를 밟아야 했으니까. 지금은 그 망설임이 사라졌다. 블록 클릭, 이름 입력, 끝. 무리에서 한 개를 빼는 일이 도면 작업의 자연스러운 한 동작이 됐다.

사용 환경

  • ZWCAD 2023 기준 개발·실전 검증 완료
  • AutoCAD 호환은 미검증 (DCL·VLA 기반이라 동작 가능성은 있으나 확인 전)
  • 블록 참조(INSERT) 객체에만 동작한다

어떻게 쓰나

  1. 리습을 불러온 뒤 명령창에 VD 입력
  2. 분리할 블록을 미리 선택해 두었다면 그대로 진행되고, 안 했다면 그때 하나를 고르라는 안내가 뜬다
  3. 도면 내 같은 블록 개수가 표시되고, 새 이름 입력 창이 열린다
  4. 새 이름을 적고 확인 — 선택한 그 블록만 독립 블록으로 분리된다

작업 전 환경 변수(OSMODE·ATTREQ)를 백업하고, 작업 전체를 한 번의 Undo 단위로 묶는다. 중간에 문제가 생기면 자동으로 되돌리고 변수도 원래대로 복구한다. 한 번의 명령 취소로 작업 전 상태로 깔끔히 돌아온다.

아직 안 되는 것

  • 여러 블록을 한 번에 골라 일괄 고유화하는 기능은 없다. 해당 기능을 추가했다.
  • 동적 블록·속성 블록의 경우, 분리 자체는 되지만 동적 파라미터나 속성값의 거동은 도면에 따라 확인이 필요하다.
  • 앞서 적었듯 AutoCAD 호환은 미검증이다.

받아 가기

받아서 쓰다가 막히는 부분이 있으면 댓글로 남겨 주세요. 확인하는 대로 답하겠습니다.

짧은 회고

블록은 같음을 위한 도구다. 하나를 고치면 전부 고쳐지는 그 성질이 캐드 작업의 많은 수고를 덜어 준다. 그런데 도면을 그리다 보면 같음의 틈에서 한 개의 다름이 필요해지는 순간이 꼭 온다. VD는 그 한 개를 위한 작은 탈출구다. 무리에 섞여 있던 하나를, 모양은 그대로 둔 채 이름만 바꿔 내보내는 일. 별것 아닌 것 같아도, 그 별것 아닌 우회로를 매번 돌지 않게 된 것만으로 도면 앞의 피로가 한 칸 줄었다.


이 도구는 개인·비영리 자유 사용이며, 출처(Talkative Archi)를 표기하면 수정도 가능합니다. 무단 재배포·상업적 판매는 금지되고, 무보증·본인 책임으로 사용합니다. 자세히

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

acaddoc (2) APPLOAD (2) AutoLISP (32) BRS (1) QT (16) RRAV (2) TRA (2) TRB (2) ZWCAD (32) 거리 측정 (1) 건축실무 (4) 기준점 (1) 단축키 (2) 도곽 (3) 도면 검수 (2) 도면 편집 (2) 러브소나타 (1) 리습 (32) 멀티플롯 (2) 블록 (3) 시편 (6) 에스겔 (10) 워크플로우자동화 (3) 일본선교 (1) 창호도 (2) 창호일람표 (2) 캐드 자동화 (31) 평행선 (2) 폴리라인 (1) 히브리서 (1)