선 스무 개, dimlinear도 스무 번 — 한 번에 끝내는 다중 치수 리습

작성자

카테고리:

벽체가 스무 개 이어진 구간에서 치수선을 하나씩 찍어 그리고 위치까지 맞추다 보면, 도면 하나 붙잡고 시간이 훌쩍 지나 있었다. 선은 이미 다 그려져 있는데, 치수는 왜 매번 하나씩 새로 찍어야 하는 걸까.

치수선 한번에 그리기 전후 비교 — 여러 선 골라 다중 치수 자동 생성하는 ZWCAD 리습 DDR

어떤 문제였나

벽체 간격, 창호 위치, 기둥 간격처럼 같은 방향으로 나란히 놓인 선이 도면 하나에 수십 개씩 있는 경우가 흔하다. 이걸 치수로 표시하려면 dimlinear를 선 개수만큼 반복해야 한다. 선 하나 골라 시작점·끝점 찍고, 치수 위치 정하고, 다음 선으로 넘어가 또 찍고. 선이 스무 개면 이 과정을 스무 번 반복하는 셈이다. 도면이 복잡할수록 반복 횟수만 늘어난다.

어떻게 풀었나

DDR은 치수를 넣을 선·폴리선·원 등을 한 번에 여러 개 선택하게 한다. 선택한 객체들의 좌표를 전부 뽑아 정렬한 뒤, 치수 텍스트가 놓일 위치를 딱 한 번만 클릭하면 그 좌표 순서대로 구간마다 치수선을 자동으로 이어서 그린다. 클릭한 위치가 가로 쪽에 가까운지 세로 쪽에 가까운지도 좌표 거리로 판별해 방향을 알아서 정하고, 보조선 시작점도 도형 중앙이 아니라 클릭 위치에서 가장 가까운 외곽선을 따라간다.

여기에 덤이 하나 더 있다. 참조할 치수 하나를 최초 1회 클릭해 기억시켜두면, 새로 그려지는 치수 전부가 그 치수의 색상·축척 등 오버라이드까지 matchprop으로 통째로 복사된다. 스타일 이름만 같고 세부 설정이 제각각이던 문제까지 같이 해결되는 셈이다.

레이어가 꺼져 있거나 얼어 있어도 참조 치수를 선택할 수 있도록, 선택하는 순간만 잠깐 활성화했다가 곧바로 원래 상태로 되돌리는 처리도 붙어 있다. 선택 세트가 간헐적으로 사라지는 캐시 문제를 피하려고 우회 경로로 값을 받아오는 처리도 들어 있다 — 눈에 띄지 않는 곳까지 손이 간 흔적이다.

어떻게 달라졌나

예전엔 선 하나마다 dimlinear 실행 → 위치 조정을 스무 번 반복했다. 지금은 선 스무 개를 한 번에 선택하고, 위치를 한 번 클릭하면 끝난다. 게다가 스타일까지 처음 지정한 그대로 이어지니, 도면 안에서 치수선이 제각각으로 보이는 일도 사라졌다.

사용 환경

  • ZWCAD 2023 기준 개발·실전 검증 완료 (AutoCAD 호환 미검증)
  • 도면 안에 원하는 스타일의 치수 객체가 최소 하나는 이미 있어야 한다 — 참조로 클릭할 대상이 필요하기 때문이다.

어떻게 쓰나

  1. 도면에 원하는 스타일의 치수가 하나도 없다면 먼저 하나 그려둔다.
  2. ddr 입력.
  3. 치수를 넣을 선·폴리선·원 등 객체를 한 번에 여러 개 선택한다.
  4. (최초 1회, 또는 ddrc로 초기화한 뒤라면) 참조로 삼을 치수를 클릭한다.
  5. 치수 텍스트가 놓일 위치를 클릭한다 — 이 클릭의 좌표에 따라 가로/세로가 자동으로 정해지고, 선택한 선들의 치수선이 한 번에 그려진다.
    • 예시) 평행한 두 가로선 사이의 거리를 쓰고 싶을 때 →평행선 범위 바깥 영역에 클릭하면 두 선 사이의 거리가 잘 도출된다. 평행선 안쪽에 클릭하면 평행선 자체의 길이가 도출되므로 바깥에 클릭해야 함을 주의.
  6. 같은 스타일을 계속 쓸 거라면 4번 없이 3·5번만 반복하면 된다. 스타일을 바꾸고 싶으면 ddrc로 초기화한 뒤 새 참조 치수를 다시 클릭한다.

아직 안 되는 것

  • 구버전 폴리선(POLYLINE) 엔티티는 좌표를 추출하지 못한다. 요즘 흔히 쓰는 LWPOLYLINE만 지원한다. 선택에 포함시켜도 에러 없이 조용히 넘어가므로, 오래된 도면을 다룰 땐 이 점을 염두에 둬야 한다.
  • 참조 치수가 도면에 없는 상태에서는 시작할 수 없다. 레퍼런스를 가져오는 것을 추천.
  • AutoCAD 호환은 검증하지 않았다.

받아 가기

ddr.lsp 하나에 ddr·ddrc 두 명령어가 모두 들어 있다.

혹시 안 열리거나 궁금한 점 있으면 댓글로 남겨주세요.

짧은 회고

치수선 하나 때문에 이렇게까지 코드를 짤 일인가 싶었는데, 스무 번 반복하던 손이 한 번으로 줄어드는 걸 보고 나니 아깝지 않았다.

이 리습은 개인·비영리 목적으로 자유롭게 쓰실 수 있고, 출처를 표기하면 수정도 가능합니다. 무단 재배포·상업적 판매는 금지, 사용에 따른 책임은 사용자 본인에게 있습니다. 자세히

코멘트

답글 남기기

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

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)