08.03(월)
  • 서울  27℃
  • 인천  24℃
  • 대전  29℃
  • 광주  28℃
  • 대구  27℃
  • 울산  27℃
  • 부산  23℃
  • 제주  23℃

PROGRAMMING

IfcOpenShell로 IFC에서 물량 뽑아내기 - 수량 정보 추출과 CSV 내보내기
2026-08-03 15:57:46  |  아키포털 

IFC 파일에는 형상뿐 아니라 수량 정보가 함께 담긴다. IfcOpenShell로 이것을 읽어 물량표를 만들 수 있다. ifcopenshell.open으로 파일을 열고 by_type으로 원하는 종류의 요소를 가져오는 것이 시작이다. 벽이면 IfcWall, 슬래브면 IfcSlab이다. 각 요소의 수량은 IsDefinedBy 관계를 따라가 IfcElementQuantity에 들어 있다. 그 안에 IfcQuantityLength, IfcQuantityArea, IfcQuantityVolume, IfcQuantityWeight, IfcQuantityCount, IfcQuantityTime 6가지 항목이 정의돼 있어 길이와 면적, 부피 같은 값을 꺼낼 수 있다. 속성 집합은 util.element.get_psets 헬퍼를 쓰면 한 번에 사전 형태로 받을 수 있어 편하다. 여기에 파이썬 기본 csv 모듈로 내보내면 엑셀에서 바로 열리는 물량표가 된다. 상용 소프트웨어 없이 파일만으로 검증할 수 있다는 점이 장점이다.

■ 눈여겨볼 것

IFC의 수량 정보는 항상 들어 있는 것이 아니다. 내보내는 쪽 설정에서 기본 수량 내보내기를 켜지 않으면 IfcElementQuantity 자체가 비어 있고, 그러면 아무리 코드를 잘 짜도 읽을 것이 없다. 물량 검증을 하려면 모델을 받기 전에 내보내기 설정을 먼저 합의해야 한다는 뜻이다. 또 하나, IFC의 수량은 원본 소프트웨어가 계산한 값을 그대로 옮긴 것이라 산출 기준이 서로 다를 수 있다. 개구부를 뺀 면적인지 아닌지 같은 것은 파일을 열어 확인해야지 표준이 보장해 주지 않는다.

■ 이런 분께 도움이 됩니다

  • BIM 물량 산출 담당자 — 상용 툴 없이 받은 모델의 수량을 교차 검증할 수 있다
  • 파이썬을 쓰는 건설 엔지니어 — IFC는 파이썬으로 다루기 가장 쉬운 건설 데이터 포맷이다
  • 발주처 검수 담당자 — 납품된 IFC가 요구한 정보를 실제로 담고 있는지 확인하는 수단이 된다
  • 건축 전공 대학원생 — 개방형 BIM 연구에서 데이터를 다루는 기본 도구이고, 상용 라이선스 없이 대량의 모델을 분석할 수 있어 연구 재현성 측면에서도 유리하다

■ 참고

요소 수가 많은 모델에서 by_type을 여러 번 호출하면 느려진다. 한 번 읽어 메모리에 담아 두고 반복 처리하는 편이 훨씬 빠르다.

참고 자료: IfcOpenShell · 본문과 이미지는 아키포털에서 직접 작성·제작했습니다.

댓글  0개

등록