BIM 칼럼니스트 강태욱의 이슈 & 토크
이번 호에서는 CDE(Common Data Environment) 개발 지원 BIM(Building Information Modeling) 라이브러리인 IFC.js 및 사용방법을 간략히 설명한다. IFC는 3차원 건설 정보 모델로 건설 부재의 객체별로 형상과 속성을 저장할 수 있다.
강태욱 | 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 Engineering digest와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다.
이메일 | laputa99999@gmail.com
페이스북 | http://www.facebook.com/laputa999
홈페이지 | https://sites.google.com/site/bimprinciple
팟캐스트 | http://www.facebook.com/groups/digestpodcast
그림 1. IFC.js 기반 CDE 예제 데모
IFC.js는 최근 개발된 IFC 관련 라이브러리로 이를 이용한 개발 사례가 조금씩 나타나고 있다.
그림 2. IFC.js 활용 BIM-GIS 기반 CityLite 개발 사례(https://github.com/Parametricos/CityLite)
IFC.js 소개
IFC.js는 BIM 개방형 표준 파일 포맷인 IFC(Industry Foundation Classes) 파일을 로딩, 디스플레이 및 편집할 수 있는 자바스크립트 라이브러리이다. 이 라이브러리는 안토니오 곤잘레스(Antonio Gonzalez Viegas)에 의해 개발이 주도되고 있다. 참고로, 그는 2018년 스페인의 ETSAS 건축과를 졸업하고 BIM 연구 개발 경험이 많은 디지털 아키텍트이며, 재즈를 좋아한다.
■ IFC.js 데모 : https://ifcjs.github.io/web-ifc-viewer/example/index
IFC는 읽고 쓰기 어려운 복잡한 포맷이다. 실제 IFC 구조는 다음과 같다. 이 파일 포맷을 해석(parse, 파싱)하기 위한 여러 라이브러리가 이미 오래전부터 있었다. IFC.js는 웹기반으로 동작되는 순수 자바스크립트와 빠른 렌더링 성능을 지원하는 C++ WASM(Web assembly)기술을 이용해 개발되었다. 이를 통해 웹 브라우저에서도 60fps까지 렌더링 처리된다. 그러므로 스마트폰을 포함한 모든 컴퓨터 디스플레이에서 IFC.js 기능을 사용할 수 있다.
소스코드는 깃허브(github : https://github.com/IFCjs)에 있으며, node, npm으로 실행할 수 있다.