Solibri 없어도 모델 검토는 된다 - 규칙 기반 자동 검토 시스템 구축기
설계 도면을 사람이 눈으로 검토해서는 잡지 못하는 오류가 있다. "모든 방화문은 피난 방향으로 열려야 한다", "장애인 화장실의 활동 공간은 지름 1,500mm 원이 보장되어야 한다" 같은 규칙 기반 검토는, 사람이 한 장씩 도면을 보기보다 컴퓨터가 수백 개 규칙을 일괄 적용하는 편이 훨씬 정확하다. BIM 모델이 있으면 가능한 일이다.
규칙 기반 검토의 원리BIM 모델의 객체가 가진 속성(크기·위치·유형·관계·재질)을 **사전 정의된 규칙(Rule)**과 대조하여, Pass/Fail을 자동 판정하는 체계다. 사람이 하면 놓치기 쉬운 규칙 위반을 컴퓨터가 100% 빠짐없이 체크한다.
검토 가능한 규칙 유형
| 규칙 유형 | 예시 | 필요 데이터 |
|---|---|---|
| 공간 규칙 | "피난 계단까지의 보행 거리는 30m 이하" | Room 객체, Door 객체, Pathfinding 알고리즘 |
| 속성 규칙 | "모든 방화문의 FireRating은 60분 이상" | Door 객체의 FireRating 파라미터 |
| 관계 규칙 | "장애인 화장실에는 지름 1,500mm 회전 공간이 확보되어야 함" | Room+Clearance Zone 시뮬레이션, Chair Model 배치 |
| 법규 규칙 | "대지 경계선에서 건축물까지 이격 거리 n.m 이상" | Site Boundary, Building Mass, Distance Measurement |
| 접근성 규칙 | "모든 출입문 유효 폭 800mm 이상" | Door 객체의 Clear Width 파라미터 |
IfcOpenShell + Python으로 커스텀 규칙 엔진 만들기
Solibri 같은 상용 툴이 부담스럽다면, 오픈소스인 IfcOpenShell로 기본적인 규칙 기반 검토 시스템을 직접 구축할 수 있다.
예를 들어, "IBC(국제건축법) 기준 계단 디딤판(Riser) 높이 180mm 이하, 챌판(Tread) 깊이 280mm 이상" 규칙을 검증하는 Python 스크립트:
import ifcopenshell
model = ifcopenshell.open("project.ifc")
stairs = model.by_type("IfcStair")
for stair in stairs:
# IfcStairFlight를 찾아 Riser/Tread 정보 확인
flights = model.by_type("IfcStairFlight")
for flight in flights:
riser_height = flight.RiserHeight
tread_length = flight.TreadLength
if riser_height and riser_height > 180:
print(f"FAIL: 계단 {flight.Name} Riser {riser_height}mm가 180mm 초과")
if tread_length and tread_length < 280:
print(f"FAIL: 계단 {flight.Name} Tread {tread_length}mm가 280mm 미만")
이 스크립트는 IFC 파일 하나만 있으면 Revit, ArchiCAD, Tekla 어느 쪽에서 모델을 만들었든 동일하게 작동한다. IFC를 매개로 한 규칙 검증 체계는 도구 종속성에서 자유롭다는 점이 가장 큰 장점이다.
[Image: IfcOpenShell Python 스크립트가 IFC 모델을 읽어 계단 객체를 검출하고, Riser/Tread 치수가 규정에 부합하는지 시각적으로 표시하는 검증 결과 화면]
자동화의 한계와 현실
규칙 기반 검토가 만능은 아니다. 몇 가지 현실적인 한계를 명확히 이해해야 과도한 기대를 피할 수 있다.
- 규칙의 모호성: 건축법 조항 중에는 "적절한 채광이 확보되어야 한다"처럼 정량적인 규칙으로 변환하기 어려운 것들이 많다. 수치화가 가능한 규칙과 인간의 판단이 필요한 규칙을 구분하는 것이 첫 단계다.
- 데이터 품질 의존성: BIM 모델에 검토 대상 속성(예: FireRating)이 입력되어 있지 않으면, 아무리 규칙이 잘 정의되어 있어도 검증할 수 없다. 검토 이전에 데이터 입력 품질이 선결 조건이다.
- 규칙 관리 부담: 법규는 개정된다. 도시별 조례도 다르다. 규칙을 하드코딩하면 유지보수가 지옥이 된다. 규칙을 외부 설정 파일(JSON, YAML)로 관리하고, 해마다 개정 사항만 업데이트하는 구조가 바람직하다.
마무리
규칙 기반 검토의 시작은 사소한 것에서 출발한다. "우리 사무소에서 가장 자주 틀리는 체크 항목 3가지"를 골라서, 그것만이라도 자동으로 잡아주는 작은 Python 스크립트 하나를 만들어보라. 이 작은 스크립트 하나가 쌓이면, 시간이 지나면서 사무소만의 자동화된 BIM 검증 체계로 성장한다. Solibri는 그 다음에 사도 늦지 않다.