콘텐츠로 이동

배치 내보내기

PDF Batch Export

여러 Revit 문서의 시트를 PDF로 한 번에 뽑기

🖱 쓰는 법

  1. YoonDream 탭 → Admin 패널 → PDF Batch Export 버튼 클릭
  2. 대상 문서 추가
    • 열린 문서 — 지금 Revit에 열려 있는 파일 자동 감지
    • 파일 추가 — 디스크에서 .rvt 파일 직접 고르기
    • 폴더 추가 — 폴더 통째로 넣으면 하위 .rvt 전부 수집 (백업은 자동 제외)
  3. 문서별로 내보낼 시트 체크
  4. 출력 모드 선택 (개별 PDF vs 합본 PDF)
  5. 파일명 패턴 입력 — 토큰 버튼 클릭으로 삽입
  6. 내보내기 클릭 → 지정 폴더에 PDF 생성

📂 출력 모드

옵션 언제 쓰나요?
시트별 개별 PDF 시트마다 파일이 분리되어야 할 때 (예: 도면 검토용 개별 공유)
문서별 합본 PDF 한 문서의 시트 전체를 묶어 한 PDF로 주고받고 싶을 때 (예: 발주처 제출용)

🏷 파일명 토큰

패턴 입력란에 아래 토큰을 넣으면 자동으로 치환됩니다:

토큰 예시 출력
{문서명} STR_Building-A
{시트번호} S-001
{시트이름} 구조평면도 - 1F
{날짜} 2024-04-09
{건물명} Building-A
{건물번호} A

💡 이럴 때 쓰세요

  • 매주 월요일 발주처 보고용 PDF를 10개 문서에서 뽑아야 할 때 — 한 번에 돌리고 퇴근 가능
  • 분야별로 시트를 묶어 받고 싶을 때 — 구조 파일엔 S 시리즈 시트만, 건축엔 A 시리즈만 체크하면 자동 분리
  • 파일명 규칙이 복잡할 때 (예: {건물번호}_{시트번호}_{시트이름}_{날짜}) — 토큰 조합으로 수백 개 일관된 이름으로 자동 생성
  • 마지막으로 쓴 설정을 매번 다시 지정하기 귀찮을 때 — 설정은 자동 저장, 다음에 열면 그대로 복원

백업 파일 걱정 안 해도 됩니다

폴더를 통째로 넣어도 .0001.rvt, _backup, 백업 폴더 같은 건 자동으로 걸러내므로 실수로 옛 버전을 뽑을 일이 없습니다.

🔍 UI 미리보기

PDF Batch Export20 sheets
열린 문서파일 추가폴더 추가삭제
문서유형시트선택
STR_Building-A열림1212
STR_Building-B파일88
시트 선택
시트번호시트이름
S-001구조평면도 - 1F
S-002구조평면도 - 2F
S-101구조단면도 - A
출력:시트별 개별 PDF패턴:{문서명}_{시트번호}_{시트이름}
Developed by Yoon Dream닫기 내보내기
🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Admin.panel/pdf_batch_export.pushbutton/ — script.py, ui.xaml, pdf_batch_config.json

문서명 파싱 규칙

COCO_Document_분야코드_식별자_설명_Central_detached 형태에서:

  1. _로 분리하여 4번째 요소부터 추출
  2. central, detached, local 등 접미사 제거
  3. 대문자 변환

{문서명} 토큰 가공: lib/yoon_doc_title.py 에서 처리. DWG Batch Export와 공유.

백업 파일 자동 제외 규칙

  • 파일 패턴: \.[0-9]{4}\.rvt (Revit 자동 백업)
  • 키워드: backup, _bak, -bak, @bak, .bak
  • 폴더 키워드: backup, bak, 백업, 휴지통, archive, old

설정 저장

pdf_batch_config.json에 마지막 사용 설정 자동 저장 (폴더 경로, 출력 모드, 패턴 등).

제약사항

  • 교차 문서 PDF 합본은 Revit + IronPython 환경에서 불가 (문서별 합본만 지원).

DWG Batch Export

한 파일에 만들어 둔 DWG 설정을 여러 문서에 그대로 적용해 DWG 일괄 생성

🖱 쓰는 법

  1. YoonDream 탭 → Admin 패널 → DWG Batch Export 버튼 클릭
  2. 레퍼런스 파일 선택 — DWG Export Setup이 이미 만들어진 기준 .rvt 지정
  3. Export 설정 드롭다운에서 사용할 설정 선택
  4. 대상 문서 추가 — 같은 설정으로 뽑을 .rvt 파일들 넣기
  5. 문서별로 내보낼 시트 선택 (검색 · ▲▼ 재정렬 가능)
  6. 내보내기 클릭 → 지정 폴더에 DWG 생성

💡 이럴 때 쓰세요

  • 프로젝트 DWG 설정(레이어 매핑, 선두께 등)이 딱 하나만 있고, 모든 하위 파일에 똑같이 적용해야 할 때
  • 레퍼런스 파일에서만 설정을 관리하고 싶을 때 — 하위 파일마다 설정을 심어둘 필요 없음
  • 발주처가 "동일 설정으로 100개 파일 DWG 달라"고 할 때 — 한 번 지정하고 돌려놓으면 됨

PDF Batch와 분리되어 있는 이유

DWG는 설정을 레퍼런스에서 끌어와야 하기 때문에 PDF처럼 "각 파일이 스스로 아는" 구조가 아닙니다. 그래서 메뉴가 따로 있습니다.

🔍 UI 미리보기

DWG Batch Export
레퍼런스 파일
파일 선택열린 문서STR_Standard.rvt
Export 설정:DWG Export - Structure Plan3개
대상 문서시트
STR_Building-A12
STR_Building-B8
STR_Building-C6
Developed by Yoon Dream닫기 내보내기
🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Admin.panel/dwg_batch_export.pushbutton/ — script.py, ui.xaml, dwg_batch_config.json

워크플로우

  1. 레퍼런스 .rvt에서 ExportDWGSettings OfClass로 수집
  2. 사용자가 ComboBox에서 선택 → DWGExportOptions.GetPredefinedOptions(doc, name) 로 로드
  3. 대상 문서 각각에서 doc.Export(folder, name, viewIds, options) 호출

핵심 Revit API

API 용도
ExportDWGSettings DWG 내보내기 설정 정의 수집
DWGExportOptions.GetPredefinedOptions() 이름으로 설정 로드
doc.Export(folder, name, viewIds, options) DWG 내보내기 실행

PDF 배치와 분리한 이유

DWG는 레퍼런스 설정 전송 워크플로우가 완전히 다름 — 설정이 각 파일에 내장되지 않고 레퍼런스에서 가져와야 함.

에러 기록: ERROR/dwg_batch_export_errors.md


NWC Batch Export

오늘 수정된 RVT만 자동으로 골라 NWC로 한꺼번에 변환

🖱 쓰는 법

  1. YoonDream 탭 → Admin 패널 → NWC Batch Export 버튼 클릭
  2. 모드 드롭다운에서 추출 방식 선택
    • 빠름 — 오늘 수정분만 (일반적인 일일 작업)
    • 전체 (초기 세팅 · 주간 전체 리프레시)
  3. 프로젝트 사이트별 카드에서 추출할 대상 체크
  4. 필요 시 🔄 경로 재설정 버튼으로 원본/서버 경로 갱신
  5. 🚀 작업 시작 클릭 → 파일 순차 처리

📂 멀티 사이트 구조

도구는 여러 프로젝트 폴더를 동시에 관리합니다. 각 프로젝트는 사이드바 카드로 구분되고, 카드마다 총 파일 수오늘 수정된 파일 수 뱃지가 표시되어 어느 폴더에 오늘 작업분이 있는지 한눈에 확인 가능합니다. 프로젝트 이름(SITE · MCS · BBU 등)은 폴더 구조에 맞춰 자유롭게 설정할 수 있습니다.

💡 이럴 때 쓰세요

  • 매일 아침 전날 수정된 파일만 Navisworks에 업데이트하고 싶을 때 — "빠름" 모드 한 방
  • 주간 통합 검토 전 전체 파일 재생성이 필요할 때 — "전체" 모드로 한 번에
  • 프로젝트가 여러 개이고 각각 다른 폴더에 저장되어야 할 때 — 프로젝트별 카드로 동시 관리

링크로 로드된 파일은 자동으로 임시 폴더에 복사됩니다

Revit Link로 불려오는 파일은 직접 열면 NWC 변환이 실패합니다. 이 도구는 링크 파일을 자동으로 임시 복사하여 안전하게 처리하니 신경 안 써도 됩니다.

🔍 UI 미리보기

NWC 일괄 추출 및 서버 동기화
모드:빠름 — 오늘 수정분만🔄 경로 재설정
A Building-A
📂 D:\2024_Project\Revit\
총 15 오늘 3
B Building-B
📂 D:\2024_Project\Revit\
총 12 오늘 2
Developed by Yoon Dream닫기 🚀 작업 시작
🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Admin.panel/nwc_batch.pushbutton/ — script.py, ui.xaml, shared_config.json

멀티 사이트 설정 매핑 (shared_config.json)

사이트 색상 원본 경로 키 서버 경로
SITE 파랑 last_site_src 00.SITE
MCS 녹색 last_mcs_src 01.MCS
BBU 보라 last_bbu_src 02.BBU

증분 추출 모드

  • 빠름 — 오늘 날짜(YYYY.MM.DD) 폴더에서 수정된 파일만
  • 전체 — 모든 RVT 파일

링크 파일 충돌 해결

핵심 이슈

RevitLink로 로드된 파일을 app.OpenDocumentFile하면 IsLinked=True 참조 반환 → NWC Export 내부 Transaction 실패

해결: doc.IsLinked이면 tempfile.mkdtemp()에 복사 → 다른 경로로 열기 → 링크 인식 해제

추가 동작 (2026-04-21): 링크 워크셋 자동 언로드 추가로 사이트 파일 무한 대기 방지.

핵심 Revit API

API 용도
NavisworksExportOptions NWC 내보내기 설정
doc.Export() NWC 파일 생성
tempfile.mkdtemp() 링크 충돌 우회용 임시 폴더

금지사항: OpenAndActivateDocument는 열기 후 Export/Close 등 후속 작업이 필요한 경우 사용 금지 (UI 컨텍스트 파괴).

에러 기록: ERROR/nwc_batch_errors.md (3건)


Schedule Batch Export

기준 문서의 일람표를 여러 대상 문서에 복사한 뒤 CSV로 일괄 추출

🖱 쓰는 법

  1. YoonDream 탭 → Admin 패널 → Schedule Batch Export 버튼 클릭
  2. 기준 문서 선택 — 복사해 갈 일람표들이 있는 .rvt
  3. 복사할 일람표 체크
  4. 대상 문서 추가 — 같은 일람표를 씌울 .rvt 파일들 넣기
  5. 분야 코드 필터 선택 (AR · ST · ME 등) — 필요할 때만
  6. 실행 클릭 → 각 대상에 일람표 복사 + CSV 추출

💡 이럴 때 쓰세요

  • 같은 물량 집계표 양식을 50개 파일 모두에 붙여넣고 CSV로 뽑아야 할 때
  • 기준 문서에서 관리하는 검수용 일람표를 팀원 파일에 일괄 배포할 때
  • 분야별로 다른 일람표 패턴이 있을 때 — AR/ST/ME 필터로 분야 파일에만 해당 일람표 배포

복사 중 경고는 자동으로 삼켜집니다

일람표 복사 중 흔히 나오는 "이미 동일 이름이 있습니다" 같은 비치명적 경고는 도구가 자동으로 처리하므로 대화상자 클릭할 필요 없습니다.

🔍 UI 미리보기

Schedule Batch Export
📄 기준 문서
파일 선택열린 문서STR_Master_Schedule.rvt
복사할 일람표3개 선택
물량 집계 - 콘크리트
Door Schedule
Wall Finish Schedule
Room Area Summary
📁 대상 문서
폴더 선택파일 추가
STR_Building-A.rvt
STR_Building-B.rvt
STR_Building-C.rvt
분야:ALLARSTMEEL
Developed by Yoon Dream닫기 실행
🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Admin.panel/schedulebatchexport.pushbutton/

워크플로우

  1. 기준 문서의 ViewSchedule 수집
  2. 사용자가 복사할 일람표 선택
  3. ElementTransformUtils.CopyElements()로 대상 문서에 일람표 복사
  4. 복사된 일람표에서 CSV 추출 (codecs 인코딩 처리)

분야 코드 필터링

AR, MR, ST, EL, ME, FP, PL, COCO, BIM, ALL

경고 처리

WarningSwallower(IFailuresPreprocessor) — 복사 시 발생하는 비치명적 경고 자동 무시.


시트 목록 내보내기

여러 Revit 문서의 시트 번호 + 이름을 텍스트 파일로 뽑기

🖱 쓰는 법

  1. YoonDream 탭 → Admin 패널 → 시트 목록 내보내기 버튼 클릭
  2. 대상 문서 선택 (열린 문서 · 파일 · 폴더)
  3. 내보내기 클릭 → 지정 위치에 텍스트 파일 생성

💡 이럴 때 쓰세요

  • 시트 번호/이름 리스트를 엑셀·워드에 붙여넣을 때 — Revit을 하나씩 열 필요 없음
  • 발주처 제출용 도면 리스트 만들 때 — 여러 파일의 시트를 한 파일로 통합
  • 도면 목록 검수할 때 — 누락 시트 비교를 위해 리스트 뽑기

이미 열린 문서는 자동 감지

체크한 파일이 이미 Revit에 열려있으면 다시 열지 않고 그 참조를 그대로 사용하므로 작업이 빨라지고 중복 열기 오류가 없습니다.

🔍 UI 미리보기

시트 목록 내보내기
열린 문서파일 추가폴더 추가3개
열림STR_Building-A.rvt시트 42개
파일STR_Building-B.rvt시트 38개
파일STR_Building-C.rvt시트 29개
출력 파일:C:\Documents\시트목록_2026-04-22.txt
Developed by Yoon Dream닫기 내보내기
🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Admin.panel/export_sheet_list.pushbutton/

핵심 로직

  • FilteredElementCollectorViewSheet 수집
  • System.IO.StreamWriter + System.Text.Encoding으로 파일 출력
  • 이미 열린 문서는 경로 + 중앙파일 경로 양쪽으로 감지하여 중복 열기 방지