도면 출력은 별것 아닌 일이다. 한두 장이라면.
그런데 600장이 되면 이야기가 달라진다. 영역을 일일이 잡고, 가로·세로 도면을 가려 용지 방향을 바꾸고, 출력을 걸고, 다시 다음 도면으로. 그게 600번 반복된다. 누군가는 다른 일을 다 제쳐두고 하루를 통째로 그 일에 바쳐야 한다. 나는 이게 사람이 할 일이 아니라고 생각했고, 그래서 RRAR이라는 도구를 만들었다.
이 글은 그 도구가 무엇을, 어떤 환경에서, 어떻게 해주는지에 대한 기록이다. 비슷한 작업에 지쳐본 분이라면 받아서 바로 써보셔도 좋겠다.

시작하기 전에 (이걸 모르면 헤맨다)
이 도구를 받아서 쓰려면 몇 가지 전제가 맞아야 한다. 먼저 적어둔다.
- 도곽은 블록(INSERT)으로 작성되어 있어야 한다. XREF로 연동되어 있어도 무방하다. 하지만 일반 객체로 그린 도곽은 인식되지 않는다.
- 도면 번호는 표제란에 실제 글자(TEXT/MTEXT)로 있어야 한다. 영문+숫자 체계(예:
A-101)일 때 파일명 추출이 가장 깔끔하게 된다. - Windows 환경 전용이다.
- 첫 실행 때 한 번은 설정을 잡아줘야 한다. 출력 폴더·플로터·용지·CTB를 본인 환경에 맞추는 과정인데, 한 번 해두면 저장되어 다음부터는 바로 출력만 하면 된다.
어떤 문제를 풀었나
대량 출력의 번거로움은 한 군데에서 오는 게 아니다. 여러 손길이 겹쳐서 온다.
- 도면마다 출력 영역을 일일이 지정해야 한다.
- 가로 도면과 세로 도면이 섞여 있으면 용지 방향까지 바꿔줘야 한다.
- 출력 순서를 의식하며 객체를 골라야 한다.
- 파일을 저장할 때 이름도 하나하나 붙여야 한다.
하나하나는 사소하다. 그런데 600번 곱하면, 그게 하루를 잡아먹는다.
어떻게 동작하나
핵심은 한 문장으로 정리된다. 사람은 도곽만 고른다. 나머지는 도구가 판단한다.
- 도곽 인식 · 순서 비의존 — 도곽(블록)들을 선택하면 그 안의 내용을 출력 대상으로 잡는다. 순서는 신경 쓰지 않아도 된다.
- 용지 방향 자동 판별 — 도곽의 가로·세로 비율을 보고 가로(Landscape)/세로(Portrait)를 알아서 정한다.
- 크기 감지 후 축척 제안 — 도곽 크기를 측정해 권장 축척을 제시한다. 같은 크기의 도곽은 하나로 묶이기 때문에, 도면마다가 아니라 크기 종류마다 한 번씩만 축척을 입력하면 된다. (0을 넣으면 용지에 맞춤.)
- 표제란 기반 파일명 자동 생성 — 도곽 모서리의 표제란 영역에서 가장 큰 글자를 읽어, 영문과 숫자를 가려
A-101같은 형식으로 도면 번호를 만든다. 같은 이름이 있으면 자동으로 번호를 덧붙인다. - 흑백 출력 품질 보정 — 출력 직전, RGB(트루컬러)로 지정된 레이어를 잠시 검정으로 바꿨다가 출력이 끝나면 원래대로 되돌린다. 흑백 PDF가 지저분해지지 않도록 하는 장치다.
여기에 더해, 작업 도중 중단하거나 오류가 나더라도 변경한 환경값과 레이어 색상을 자동으로 원래대로 되돌리도록 해 뒀다. 믿고 돌려도 도면이 망가지지 않는다.
ZWCAD에서 겪은 것
쉽지만은 않았다. ZWCAD 환경은 제 나름의 고집이 있어서, 잘 짠 코드도 그대로 도는 법이 드물다.
한 예로, 폴리라인의 경계 상자(BoundingBox)를 표준 방식으로 물으면 ZWCAD에서는 엉뚱한 값이 돌아오는 경우가 있었다. 출력 영역을 잡는 데 이 값이 어긋나면 도면이 잘려 나온다. 그래서 표준 방식이 실패하면 폴리라인의 꼭짓점 좌표를 직접 읽어 경계를 다시 계산하도록 우회로를 만들어 뒀다. 도구를 ‘동작하게’ 만드는 일의 대부분은, 사실 이런 자리에 있었다.
사용 환경
이 글을 찾으신 분이 가장 궁금해할 부분일 것 같다.
- 개발·검증 환경: ZWCAD 2023 (Windows)
- 작성 언어: AutoLISP (ActiveX·레지스트리·DCL 사용)
- 출력 방식: 캐드 전용 플로터(PC3/PC5)로 출력한다. 기본값은 내장
DWG to PDF.pc3. 설정에서 목록으로 골라 바꿀 수 있고, 한컴 PDF 같은 시스템 프린터는 목록에 아예 뜨지 않는다. - 기본 용지 / CTB: A3 풀블리드 /
monochrome.ctb(흑백). 둘 다 설정에서 목록으로 고른다. 예전처럼 이름을 정확히 타이핑할 필요 없이, 뜨는 목록에서 고르면 된다. 축척 기준은 A3·A1. - AutoCAD 호환: 미검증. 플로터 설정이 ZWCAD 방식에 맞춰져 있어, AutoCAD에서 쓰려면 플로터·용지 설정 조정이 필요하다.
- PDF 결합용 외부 도구(선택): 알PDF 등
어떻게 쓰나
- 이 글에 첨부된
RRAR_-_다중플롯.lsp를 내려받는다. - ZWCAD에서
APPLOAD명령으로 리습을 로드한다. - (선택) 출력할 도곽들을 미리 선택해 둔다.
- 명령창에
RRAR을 입력한다. - 현재 설정으로 바로 출력하려면
P, 출력 폴더·플로터·용지·CTB를 바꾸려면S를 누른다.S를 누르면 팝업 목록이 떠서 거기서 고르면 된다. 플로터 목록에는 캐드 전용 플로터만 나타나므로, 엉뚱한 장치를 고를 일이 없다.(처음 시작하는 사람 기준- 무조건 S를 눌러서 세팅이 필요하다.) - (미리 선택하지 않았다면) 출력할 도곽(블록)들을 선택한다.
- 크기 종류마다 축척을 한 번씩 입력한다. (입력 전에 도곽 크기를 인식한 권장값이 먼저 제시된다.
0은 용지 맞춤으로 플롯.) - 도구가 방향·표제란·파일명을 인식해 도곽별로 PDF를 출력한다.
- (선택) 알PDF 등으로 PDF를 하나로 결합한다. 파일명이 이미 도면 번호로 정리돼 있어 순서를 맞출 필요가 없다.
이렇게 하면, 예전엔 한 사람이 하루 종일 매달려야 했던 600장이 한 시간 안에 PDF로 떨어진다.
아직 안 되는 것
외부 프로그램(Adobe PDF)이나 실제 프린터로 곧바로 뽑는 것도 욕심내 봤다. 결론부터 말하면 막혔다. 리습 차원에서 외부 프린터나 외부 PDF 프로그램을 안정적으로 물려 출력하는 건, 적어도 내 손에서는 깔끔하게 풀리지 않았다. 환경마다 동작이 들쭉날쭉했고, 되는 듯하다가 어딘가에서 꼭 깨졌다. 한동안 붙잡고 있다가, 이건 리습이 잘 닿지 않는 영역이라고 인정하고 손을 뗐다.
그래서 방향을 바꿨다. 밖으로 나가는 길을 붙드는 대신, 캐드 전용 플로터(PC3/PC5)로 출력하는 길을 단단하게 다졌다. 설정에서 출력 장치를 고를 때 전용 플로터만 목록에 띄우고, 시스템 프린터는 후보에서 아예 빼버렸다. 예전엔 목록에서 시스템 프린터를 잘못 골라 출력이 통째로 깨지는 일이 있었는데, 그 사고가 날 자리 자체를 없앤 셈이다. 출력 사이 대기 시간도 전용 드라이버의 속도에 맞춰 줄여, 한 묶음을 도는 체감 속도가 한결 가벼워졌다.
남은 제약도 하나 적어둔다. 파일명 추출은 표제란이 일정한 규칙(모서리에 큰 글자로 도면 번호)을 따른다는 전제 위에서 동작한다. 템플릿이 많이 다르면 이름이 어긋나 Plot_Error_ 형태로 떨어질 수 있으니, 처음 쓸 때는 소량으로 한 번 확인해보길 권한다.
받아 가기
도곽을 고른다는 같은 흐름으로, 한 도면에 깔린 여러 도곽을 낱장 DWG로 분리해 주는 RRAW도 만들어 두었다. 도곽 단위로 다룰 일이 많다면 같이 보면 좋겠다.
써보다가 막히는 곳이 있거나 궁금한 점이 생기면, 댓글로 남겨주시면 좋겠다. 같은 작업에 지쳐 본 사람으로서, 아는 선에서 답해 보겠다.
짧은 회고
자동화란 결국 무엇을 없애는 일인가. 도구 하나를 만들고 나서 나는 그 답이 화려한 코드에 있지 않다는 걸 다시 확인했다. 600장을 직접 출력해본 사람만 아는 그 지긋지긋함을 없애는 것. 그게 전부였다.
이용 조건 — 개인·비영리 목적 자유 사용, 출처(Talkative Archi) 표기 시 수정 가능. 무단 재배포·상업적 판매 금지. 무보증이며 사용에 따른 모든 결과는 본인 책임입니다. (자세히)
