IFC(Industry Foundation Classes) 파일 형식 및 Polygon 좌표

미남잉·2025년 1월 12일
0

IFC (Industry Foundation Classes)

건설 및 건축 분야에서 널리 사용되는 개방형 데이터 형식으로, 주로 BIM(Building Information Modeling) 데이터의 저장과 교환을 위해 사용된다.

IFC는 건물과 인프라 프로젝트에 대한 구조, 공간 시스템 및 구성 요소의 정보를 디지털 방식으로 표현하기 위한 표준이다. 이는 기술적 메타데이터와 참조 메타데이터의 성격을 가진 표준 데이터 형식이다.

  • 표준화: IFC는 ISO 16739에 의해 표준으로 지정되었고, 다양한 BIM 소프트웨어 간의 상호운용성을 지원함
  • 개방형 데이터 형식: 특정 소프트웨어에 종속되지 않고, 여러 플랫폼 간 데이터 교환이 가능함
  • 객체 지향 구조: IFC는 건물의 요소를 객체로 정의하며, 각각의 객체는 속성과 관계를 갖고 있음

IFC 데이터의 주요 내용

  • 건축 요소: 벽, 바닥, 문, 창문 등 건물의 물리적 요소.
  • 공간 및 존 정보: 공간(방), 층, 구역(zone) 등의 논리적 구분.
  • 시스템 정보: HVAC, 전기 시스템, 배관 등 건물의 기계적/전기적 시스템.
  • 재료 및 속성: 사용된 재료, 구조적 특성, 단열 성능 등의 속성 데이터.
  • 프로젝트 정보: 프로젝트명, 설계 단계, 프로젝트 팀 등 메타데이터.

파일 형식

IFC 파일은 주로 .ifc 확장자를 가지며, 다음과 같은 형식으로 저장될 수 있습니다:

  • IFC-SPF: 텍스트 기반의 Step Physical File 형식 (가장 일반적).
  • IFC-XML: XML로 표현된 IFC 데이터.
  • IFC-ZIP: 압축된 IFC 데이터.

해당 데이터에 기하학적, 파라매트릭한 요소들로 건물을 표현할 수 있다. 어떤 entity가 존재하는 지는 버전에 따라 다른 것으로 파악하였다.

객체 기반(Object-based) 데이터 모델로 건축 요소(벼그 창문 문 등), 공간, 관계 등을 객체로 정의하며, 객체 관의 관계(예: 포함, 연결, 속성)는 명확히 표현한다. RDB(관계형 데이터베이스, Relational database)의 경우에 데이터를 테이블 형태로 저장하며 ,각 테이블은 열(속성)과 행(객체)을 가집니다. IFC 객체와 속성 정보를 RDB 테이블 구조에 매핑할 수 있다.

즉, IFC는 객체 기반 데이터 모델로, ODB와 자연스럽게 호환되지만, RDB와도 매핑하여 활용할 수 있다.

파일 내부

ISO-10303-21 와 같은 스키마 정보가 적힌 헤더가 있고, #1 로 시작하는 부분부터 건물 데이터 모델 정보이다. 3D 데이터이다.

사전 정의된 유형, 속성, 외부 참조 (Predefined types, properties & external references)

출처: https://aecmag.com/collaboration/ifc-what-is-it-and-why-is-it-needed/

1. 사전 정의 유형 (Predefined Types)

  • 사전 정의 유형은 엔티티를 보다 구체적으로 설명하기 위해 사용된다. 예를 들어, IfcSanitaryTerminalType의 경우, TOILETPAN, SINK, WASHHANDBASIN과 같은 사전 정의 유형이 있습니다. 이들은 대문자로 표기되며, 선택 목록(pick-list)에서 선택할 수 있다.
  • USERDEFINED: 사전 정의 유형이 적절하지 않은 경우에만 사용됩니다.
    • 이 경우에도 사전 정의 유형으로 USERDEFINED를 지정해야 하며, ElementType 또는 ObjectType 속성을 통해 추가적인 정의를 입력해야 한다.

2. 속성 (Properties)

  • IFC는 객체에 속성을 연결할 수 있도록 지원한다.
  • 속성을 연결하려면 먼저 속성 세트(Property Set)에 속성을 할당해야 한다.
    • 속성 세트는 관련 속성들을 그룹화한 컨테이너로, IFC 스키마에서는 Pset_ 접두사를 사용해 표현된다.
  • 사용자 정의 속성(Custom Properties)도 사용자 정의 속성 세트를 통해 추가할 수 있다. 하지만, 먼저 해당 속성이 이미 산업 사전(Dictionary)이나 용어집(Lexicon)에 존재하지 않는지 확인해야 한다.

3. 외부 참조 (External References)

  • IFC는 모든 정보가 모델 내에 포함되지 않을 수 있음을 인식하고, 외부 참조 정보를 IFC 객체에 연결할 수 있도록 지원한다.
    • 분류(Classification): Uniclass와 같은 분류 시스템을 객체에 연결.
    • 라이브러리(Libraries): 제조업체의 제품 데이터와 같은 외부 데이터베이스의 정보를 객체에 연결.
    • 문서(Documents): 예를 들어, 보일러에 커미셔닝 인증서를 연결.

폴리곤 좌표

IFC 데이터는 객체의 기하학적 표현을 정의하기 위해 좌표 기반 지오메트리를 사용할 수 있다. 객체의 형태는 속성 데이터(Property Sets) 또는 고차원적인 매개변수로만 정의될 수 있다.

  • Boundary Representation (BRep): IFC 객체의 외형을 다각형으로 정의.
  • Swept Solid: 기본 형상(예: 프로파일)을 축을 따라 이동하거나 회전하여 형성된 지오메트리.
  • Faceted BRep: 다각형(폴리곤) 면들로 정의된 3D 형상.
  • IfcCartesianPoint: 좌표를 표현하는 기본 엔티티로, 폴리곤의 꼭짓점을 정의.
  • IfcPolyline 또는 IfcPolygonalBoundedHalfSpace: 폴리곤 경계 데이터를 정의하는 데 사용.
  • IfcFace: 3D 객체의 면 정보를 정의하며, 다각형 지오메트리로 표현 가능.

폴리곤 좌표 추출 및 활용

폴리곤 좌표가 IFC 데이터에 포함된 경우, 이를 활용하여 다음을 수행할 수 있다.

  • 시각화: IFC 데이터를 3D 렌더링 소프트웨어로 불러와 객체의 형상 확인.
  • 분석: 객체의 경계나 면적을 계산.
  • 변환: 폴리곤 데이터를 다른 형식(예: GeoJSON, DXF)으로 변환.

폴리곤 좌표가 포함되지 않은 경우, 매개변수와 관계 데이터를 기반으로 지오메트리를 계산하거나 생성해야 할 수 있다.

profile
Computer Vision Engineer

0개의 댓글