08.01(토)
  • 서울  21℃
  • 인천  18℃
  • 대전  21℃
  • 광주  20℃
  • 대구  21℃
  • 울산  20℃
  • 부산  21℃
  • 제주  18℃

PROGRAMMING

IfcOpenShell로 IFC 파일 파싱하기 — Python으로 요소 조회와 속성 추출
2026-07-28 19:51:47  |  아키포털 

IfcOpenShell은 IFC 파일을 코드로 직접 다루는 오픈소스 라이브러리다. Revit이나 ArchiCAD를 띄우지 않고도 요소 조회와 속성 추출이 되므로, 납품 전 물량 검토나 데이터 품질 점검 스크립트를 짜기에 알맞다.

시작은 세 줄이면 된다.
import ifcopenshell
model = ifcopenshell.open('sample.ifc')
walls = model.by_type('IfcWall')

model.schema 로 스키마 버전(IFC2X3, IFC4, IFC4X3)을 확인하고, by_id 와 by_guid 로 개별 요소를 바로 집을 수 있다. 속성세트는 별도 유틸 모듈이 맡는다.

import ifcopenshell.util.element as ue
psets = ue.get_psets(walls[0])

get_psets 는 프로퍼티세트와 수량세트를 딕셔너리로 돌려주므로 Pset_WallCommon 의 IsExternal, Qto_WallBaseQuantities 의 NetVolume 을 그대로 꺼내 쓸 수 있다. 같은 모듈의 get_type, get_container, get_decomposition 으로 타입 요소와 소속 층, 하위 요소까지 따라간다. 형상까지 필요하면 ifcopenshell.geom 의 create_shape 와 iterator 를 쓴다.

출처: IfcOpenShell 공식 문서 | 원문보기: https://docs.ifcopenshell.org/

댓글  0개

등록