이 도구가 하는 일
Revit, Archicad, Tekla, Vectorworks, BricsCAD 같은 BIM 프로그램에서 내보낸 IFC 파일을 엽니다. 도구는 벽, 슬래브, 기둥, 보, 문, 창, 계단, 지붕 같은 부재를 모두 찾아 재료와 층, 수량을 읽고 더합니다. 그다음 항목마다 단위를 고르고 단가를 넣으면 물량 내역서를 XLSX 파일로 받을 수 있습니다.
파일은 오픈소스 라이브러리 web-ifc의 WebAssembly 판으로 브라우저 안에서 읽습니다. 서버로 보내지 않으므로 외부에 공개하면 안 되는 프로젝트 모델도 여기서 확인할 수 있습니다.
실무에서 쓰는 단계
물량 산출(적산)은 설계와 공사비 사이에 있습니다. 설계 모델이 정리되면 적산 담당자가 재료별 수량을 뽑고 단가를 곱해 공사비를 냅니다. 2D 도면으로 손으로 하면 며칠이 걸리고, 모델을 읽는 적산 프로그램은 한 자리에 1년 수백만 원이 듭니다. 이 도구는 그 첫 단계를 맡습니다. 모델에서 바로 내역을 뽑아 직접 산출한 값과 비교하거나, 설계안이 예산 안에 드는지 확인하거나, 협력 업체에 출발점으로 넘길 수 있습니다.
수량을 고르는 순서
IFC에는 기본 수량(base quantities)이라는 표준 수량 묶음이 있습니다. 벽은 Qto_WallBaseQuantities, 슬래브는 Qto_SlabBaseQuantities입니다. 대부분의 BIM 프로그램이 IFC로 내보낼 때 이 값을 함께 씁니다. 저작 프로그램이 접합부와 개구부를 자기 규칙으로 계산한 값이므로 도구는 이 값을 먼저 씁니다. 수량 묶음이 없는 부재는 형상을 직접 계산하고, 그 줄에 「형상」이라고 표시합니다.
| 단위 | 먼저 쓰는 값 | 없을 때 |
|---|---|---|
| m³ | NetVolume, 없으면 GrossVolume | 부재의 닫힌 메시 체적 |
| m² | 벽: NetSideArea, 없으면 GrossSideArea. 문·창: Area. 슬래브·지붕·마감: NetArea, 없으면 GrossArea | 비워 둠(메시 겉넓이는 산출 면적이 아님) |
| m | Length | 비워 둠 |
| 개 | 부재 하나에 1 |
파일 안의 수량은 프로젝트 단위로 저장돼 있습니다. 도구는 파일에 적힌 단위 정의(예를 들어 길이는 밀리미터, 면적은 제곱미터)를 읽어 모든 값을 미터, 제곱미터, 세제곱미터로 바꾼 다음에 더합니다.
형상으로 체적을 계산하는 방법
web-ifc는 부재마다 미터 단위의 삼각형 메시를 만듭니다. 닫힌 메시라면 발산 정리로 체적을 구할 수 있습니다. 꼭짓점이 a, b, c인 삼각형 하나가 원점과 사면체를 이루고, 이 사면체들의 부호 있는 체적을 모두 더하면 입체의 체적이 됩니다.
V = | Σ a · (b × c) / 6 |
문과 창이 뚫은 개구부는 메시에서 이미 빠져 있으므로 결과는 순체적입니다. 이 방법은 닫혀 있고 서로 겹치지 않는 입체에서만 맞습니다. 열린 면으로 모델링했거나 여러 덩어리가 겹친 부재는 체적이 틀리게 나오므로, 그런 줄을 확인할 수 있게 「형상」 표시를 붙입니다.
계산 예
이 페이지의 예제 모델은 시험용으로 직접 만든 1층짜리 작은 사무실입니다. 10 m × 6 m 평면 둘레에 높이 3 m, 두께 200 mm 콘크리트 벽 네 개, 190 mm 블록 칸막이벽 하나, 200 mm 바닥 슬래브, 400 × 400 mm 기둥 네 개, 5 m 철골 보 두 개, 문 하나와 창 두 개가 있습니다. 길이는 밀리미터로 저장돼 있습니다.
| 항목 | 수량 | 근거 |
|---|---|---|
| 벽, Concrete C25/30 | 19.200 m³ (벽 4개) | Qto NetVolume: 6.12 + 3.48 + 6.12 + 3.48 |
| 벽, Masonry block 190 | 17.400 m² | Qto NetSideArea: 5.8 m × 3.0 m |
| 슬래브, Concrete C25/30 | 12.648 m³ | Qto NetVolume: 10.2 × 6.2 × 0.2 |
| 기둥, Concrete C30/37 | 1.920 m³ (기둥 4개) | 형상 계산: 하나에 0.4 × 0.4 × 3.0 = 0.48 |
| 보, Steel S275 | 10.000 m (보 2개) | Qto Length 5000 mm씩, 미터로 환산 |
| 문 / 창 | 1개 / 2개 | 개수 |
기둥 체적은 파일에 없어서 형상으로 계산했고, IfcOpenShell로 따로 잰 값과 소수점 셋째 자리까지 같습니다. 슬래브 단가를 m³당 120으로 넣으면 그 줄 금액은 12.648 × 120 = 1,517.76입니다. 이 단가는 계산을 보여 주기 위한 숫자이며 시장 가격이 아닙니다.
숫자를 쓰기 전에 확인할 것
- 모델 수량은 수량 산출 기준(한국 표준품셈의 수량 계산 규정, 영국 NRM 2 등)에 따른 산출 수량과 다릅니다. 이런 기준은 공제 한도, 겹침, 할증 같은 규칙으로 수량을 더하거나 뺍니다. 여기서 나온 내역은 모델 수량으로 보셔야 합니다.
- 거푸집, 철근, 할증은 모델에 부재로 들어 있지 않으면 포함되지 않습니다.
- 결과는 모델 품질만큼만 정확합니다. 중복 부재, 모서리에서 겹친 벽, 빠진 재료는 그대로 합계에 나타납니다. 재료 이름은 파일에 적힌 그대로 씁니다.
- 수량 묶음은 내보내기 설정에 따라 들어가거나 빠집니다. 체적이 모두 「형상」으로 나오면 프로그램의 IFC 내보내기에서 기본 수량(base quantities) 옵션을 켜세요.
- 수백 MB짜리 큰 모델은 브라우저 탭이 쓸 수 있는 메모리를 넘을 수 있고, 휴대폰에서는 더 작은 파일에서도 멈출 수 있습니다.
이 도구는 초기 검토와 학습용입니다. 입찰, 계약, 기성 청구에 쓰는 내역서는 자격 있는 적산 담당자가 작성하거나 확인해야 합니다.
받는 파일
- 물량 내역서(XLSX): 「내역서」 시트에 항목, 재료, 단위, 수량, 단가, 금액이 있고, 「부재」 시트에 부재별 값과 각 값의 출처, 「참고」 시트에 파일 이름, 단위, 날짜가 들어갑니다.
- 부재 목록(CSV): 부재 하나가 한 줄입니다. 직접 쓰는 엑셀 양식에 붙여 넣을 수 있습니다.
- 단가표(CSV): 종류, 재료, 단위, 단가 열입니다. 한 번 저장해 두면 다음 모델에서 불러와 쓸 수 있습니다.
- 프로젝트(JSON): 단위, 단가, 묶음 기준을 저장해 나중에 이어서 작업합니다.
출처
- buildingSMART International, Industry Foundation Classes. IFC 4.3은 ISO 16739-1:2024로 발행됐습니다.
- buildingSMART, Qto_WallBaseQuantities, Qto_SlabBaseQuantities, IFC 4.3.2.0 문서.
- That Open Company, web-ifc, MPL-2.0.
- 파일이 표준을 지키는지 확인하려면 무료 buildingSMART IFC Validation Service를 쓰면 됩니다.
마지막 확인 2026-10-19