BIM 자동화와 AI — Revit·Dynamo·Grasshopper 실무
BIM에서 시간을 잡아먹는 건 모델링이 아니라 반복 작업입니다. 시트 이름 바꾸기, 태그 일괄 배치, 실 번호 재정렬. 여기가 AI와 만나는 지점입니다.
1. 왜 지금 되는가
예전에도 Dynamo와 Grasshopper는 있었습니다. 문제는 스크립트를 짤 줄 아는 사람이 사무소에 한둘이라는 것이었습니다. 지금은 하고 싶은 일을 말로 설명하면 스크립트가 나옵니다. 진입 장벽이 낮아진 것이 변화의 전부이자 핵심입니다.
2. 자동화 효과가 큰 작업
| 작업 | 수동 | 자동화 후 | 위험도 |
|---|---|---|---|
| 시트·뷰 이름 일괄 변경 | 1~2시간 | 3분 | 낮음 |
| 실 번호 재정렬 | 2시간 | 5분 | 낮음 |
| 도어·윈도 태그 일괄 배치 | 3~4시간 | 10분 | 중간 |
| 면적표 추출·집계 | 2시간 | 즉시 | 중간 |
| 패밀리 매개변수 일괄 수정 | 반나절 | 15분 | 높음 |
| 모델 정합성 점검 | 하루 | 30분 | 중간 |
3. 코드를 모를 때 시작하는 법
- 하고 싶은 일을 한국어로 정확히 씁니다 — “모든 시트의 이름 앞에 도면번호를 붙이고, 도면번호는 세 자리로 맞춰라.”
- 환경을 명시합니다 — “Revit 2026, Dynamo, Python 노드 사용.” 버전을 안 쓰면 안 되는 코드가 나옵니다.
- 먼저 읽기만 하는 코드를 요청합니다 — “바꾸지 말고, 바뀔 대상 목록만 출력해 줘.”
- 목록을 눈으로 확인합니다. 여기서 대부분의 오류가 잡힙니다.
- 확인 후 쓰기 코드로 바꿉니다.
4. Dynamo · Grasshopper · 파이썬 어떻게 나누나
| 주 용도 | AI와의 궁합 | |
|---|---|---|
| Dynamo | Revit 모델 조작·데이터 추출 | Python 노드 코드를 받아 붙이는 방식이 가장 실용적 |
| Grasshopper | 형상 생성·최적화(Rhino) | 노드 구성 설명은 잘 하지만, 코드는 C#·Python 컴포넌트로 |
| 순수 파이썬 | 파일 정리, 엑셀 연동, IFC 처리 | 가장 잘 맞음. BIM 밖 작업까지 처리 가능 |
의외로 순수 파이썬이 실무에서 제일 많이 쓰입니다. 도면 PDF 일괄 이름 변경, 엑셀 물량표 정리, 폴더 구조 정돈 같은 일이 실제로는 더 자주 발생하기 때문입니다.
5. AI가 짠 코드를 믿어도 되나
기준은 하나입니다. 결과를 눈으로 검산할 수 있는 규모인가.
- 시트 50장 이름 변경 → 목록을 훑으면 됩니다. 믿어도 됩니다.
- 실 2,000개 면적 집계 → 합계만 보면 오류를 놓칩니다. 표본을 뽑아 수동 검산하세요.
- 구조 부재 매개변수 일괄 수정 → 사본에서만. 원본에 바로 돌리지 마세요.
6. IFC와 데이터 교환
협업에서 실제로 문제가 되는 지점입니다. IFC로 내보내면 속성이 빠지거나 이름이 바뀌는 일이 흔합니다. AI는 여기서 대조 작업에 쓸모가 있습니다.
- 내보내기 전후의 속성 목록을 각각 추출해 차이를 뽑게 합니다.
- 협력사가 보낸 모델의 속성 명명 규칙이 우리 것과 어떻게 다른지 표로 정리시킵니다.
- 매핑 규칙이 정해지면 그걸 코드로 만들어 자동 변환합니다.
BIM 자체가 처음이라면 건축 BIM 입문 가이드를 먼저 보세요.
자주 묻는 질문
Q. 코딩을 전혀 모르는데 가능한가요?
가능합니다. 다만 “코드를 이해하지 못해도 결과를 검산할 수 있어야” 합니다. 읽기 전용 코드로 대상 목록을 먼저 뽑아 확인하고, 사본에서 실행한 뒤 원본에 적용하는 순서를 지키면 코드를 몰라도 안전하게 쓸 수 있습니다.
Q. AI가 짠 Dynamo 스크립트가 자꾸 오류가 납니다.
Revit·Dynamo 버전에 따라 API가 달라서 생기는 경우가 대부분입니다. 프롬프트에 정확한 버전을 명시하고, 오류 메시지를 그대로 붙여 넣어 수정을 요청하면 대개 몇 번 안에 해결됩니다.
Q. 모델이 망가졌을 때 되돌릴 수 있나요?
Revit의 실행 취소로 되돌아가지 않는 변경도 있습니다. 그래서 자동화 작업 전에는 반드시 파일을 복제해 두는 것이 원칙입니다. 워크셰어링 환경이라면 로컬 사본에서 먼저 검증하세요.