🔗 독립 도구
Revit 없이 독립 실행되는 도구 (Navisworks · AutoCAD 연동)
NWD 합치기 (Navisworks Merge)
여러 NWC 파일을 선택해 하나의 NWD 파일로 자동 합치기
🖱 쓰는 법
- 바탕화면 또는 탐색기에서
07_nwd_merge.bat더블클릭 - 파일 선택 창이 뜨면 합칠 NWC 파일들을 선택
- Shift+클릭으로 범위 선택 지원
- 저장 경로 지정 (최종
.nwd파일 저장 위치) - 실행 클릭 → Navisworks가 자동으로 열려 합치기 + 저장 진행
💡 이럴 때 쓰세요
- 매일 분야별 NWC 파일들(건축·구조·MEP)을 통합 NWD로 납품해야 할 때
- Navisworks Manage를 일일이 열어 수동 Append 하기 번거로울 때
- Revit 없이 독립 실행 가능한 통합 도구 필요할 때
Shift+클릭 범위 선택
파일 리스트에서 시작 파일을 클릭 → Shift+끝 파일 클릭으로 중간 전체 선택. 수십 개도 빠르게.
🔍 UI 미리보기
NWD 합치기 (Navisworks Merge)4 files
📂 NWC 파일 추가선택 제거전체 해제
NWC 파일크기
ARC_Building-A.nwc82MB
STR_Building-A.nwc64MB
MEP_Building-A.nwc48MB
SITE_Building-A.nwc12MB
저장 경로:D:\Navisworks\Merged\Building-A_Combined.nwd📂 찾아보기
Developed by Yoon Dream닫기 🚀 합치기 실행
🔧 개발자 정보 (API · 경로 · 내부 로직)
파일 위치
02.Python/07_nwd_merge.py+07_nwd_merge.bat
기술 아키텍처
Python (tkinter GUI) → subprocess → PowerShell (Add-Type .NET) → Navisworks Automation API
기술 스택
| 레이어 | 기술 | 역할 |
|---|---|---|
| GUI | Python tkinter | 파일 선택 UI, Shift 범위 선택 |
| Bridge | PowerShell Add-Type | .NET DLL 로드 + 호출 |
| Engine | Navisworks 2024 API | AppendFile → SaveFile |
핵심 설계 — 크로스 런타임 문제 해결
Python(CPython)에서 .NET DLL을 직접 호출할 수 없는 환경에서, PowerShell을 브릿지로 활용하여 Navisworks Automation API에 접근하는 아키텍처.
주의
- Navisworks Manage 2024 필수
SaveFile메서드 사용 (PublishFile메서드는 존재하지 않음)
DWG Batch Compare (AutoCAD 도면 비교)
두 폴더의 동명 DWG 파일을 AutoCAD 2024에서 자동으로 비교(COMPARE) 상태로 일괄 열기
🖱 쓰는 법
09_dwg_batch_compare.bat또는DWG_Batch_Compare.exe실행- 폴더 A (기준) 선택 — 어제 도면이 있는 폴더 등
- 폴더 B (비교) 선택 — 오늘 도면이 있는 폴더 등
- 자동 매칭 프리뷰 확인
- 흰색 — 파일명이 정확히 일치 (확실한 매칭)
- 노란색 — 유사도 60% 이상 (추정 매칭, 예:
section.dwg↔sections.dwg)
- 비교할 쌍을 체크박스로 선택
- (선택) 변경사항 레이어 생성 체크 — 전일 날짜 레이어(
YYMMDD_변경사항, 빨강)로 자동 레이어 세팅 - 실행 클릭 → 새 AutoCAD 인스턴스가 뜨고 쌍마다 자동 비교
💡 이럴 때 쓰세요
- 매일 어제 대비 오늘 도면 변경사항 확인해야 할 때
- 수십 개 도면을 일일이 열어 COMPARE 실행하기 번거로울 때
- 파일명이 살짝 바뀌어 있어도 자동으로 찾아 매칭해주길 바랄 때 (section ↔ sections)
- Python 없이 EXE로 팀원에게 공유하고 싶을 때 (PyInstaller 패키징 제공)
유사 이름 자동 매칭
정확 매칭 후 남은 파일을 영숫자 정규화해서 60% 이상 유사하면 추정 매칭으로 제안합니다. location.dwg ↔ location plan.dwg 같은 케이스도 자동.
변경사항 레이어 사용 시
AutoCAD 스크립트가 -LAYER M 명령으로 현재 레이어를 바꿉니다. 실행 후엔 빨간색 YYMMDD_변경사항 레이어가 활성 상태가 되므로 수정 내용이 자동으로 그 레이어로 들어갑니다.
🔍 UI 미리보기
DWG Batch Compare12 pairs
📂 폴더 A (기준, 어제 도면)
찾아보기D:\DWG\20260420\
📂 폴더 B (비교, 오늘 도면)
찾아보기D:\DWG\20260421\
매칭 프리뷰정확 9 추정 3
폴더 A↔폴더 B유사도
plan_1F.dwg=plan_1F.dwg100%
plan_2F.dwg=plan_2F.dwg100%
section.dwg~sections.dwg87%
location.dwg~location plan.dwg72%
변경사항 레이어 생성 (YYMMDD_변경사항, 빨강)
Developed by Yoon Dream취소 🚀 AutoCAD 비교 실행
🔧 개발자 정보 (API · 경로 · 내부 로직)
파일 위치
02.Python/09_dwg_batch_compare.py+09_dwg_batch_compare.bat+dist/DWG_Batch_Compare.exe
기술 아키텍처
Python (tkinter GUI) → .scr 스크립트 생성 → acad.exe /b script.scr → AutoCAD 2024 COMPARE
기술 스택
| 레이어 | 기술 | 역할 |
|---|---|---|
| GUI | Python tkinter + ttk.Treeview | 폴더 선택, 매칭 프리뷰, 체크박스 선택 |
| Matching | difflib.SequenceMatcher | 정확 매칭 + 유사 추정 매칭 |
| Script | AutoCAD .scr (cp949 인코딩) | OPEN/COMPARE/-LAYER 명령 시퀀스 |
| Engine | AutoCAD 2024 acad.exe /b | 새 인스턴스에서 스크립트 자동 실행 |
핵심 설계 포인트
- 유사 이름 매칭:
difflib.SequenceMatcher로 정규화(영숫자만 추출) 비교, 60% 이상 시 추정 매칭 - FILEDIA 0 트릭: AutoCAD 스크립트(.scr)에서
OPEN/COMPARE에 파일 경로를 직접 넘기려면FILEDIA 0으로 파일 대화상자 비활성. 작업 후FILEDIA 1로 복원 - .scr 인코딩: cp949 (AutoCAD 한국어 로케일 대응)
- 변경사항 레이어: 전일
YYMMDD_변경사항, 빨강 (ACI 1),-LAYER M으로 현재 레이어 설정 - PyInstaller onefile exe 패키징: Python 없이 공유 가능