BIM 칼럼니스트 강태욱의 이슈 & 토크
이번 호에서는 오토데스크에서 제공하는 오픈소스를 활용한 오토데스크 포지(Autodesk Forge) 기반 BIM 모델 및 속성 뷰어 개발 방법을 간단히 다룬다.
■ 강태욱 | 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 Engineering digest와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다.
이메일 | laputa99999@gmail.com
페이스북 | www.facebook.com/laputa999
홈페이지 | https://sites.google.com/site/bimprinciple
팟캐스트 | http://www.facebook.com/groups/digestpodcast
그림 1. 포지 기반 디지털 트윈 예시
오토데스크 포지는 클라우드 기반으로 BIM 360 등의 솔루션과 연결되어 디지털 트윈, IoT, 데이터 분석 및 시뮬레이션 등 다양한 응용을 위한 플랫폼이 될 수 있다.
오토데스크는 해당 분야를 선점하기 위해 다양한 오픈소스 정책을 제공하고 있다. 이번 호에서는 클라우드 기반 BIM 모델 및 속성 뷰어를 개발하기 위해, 오토데스크에서 제공한 오픈소스를 이용하는 방법을 간단히 알아본다.
포지는 사용자가 개발한 앱을 생성, 관리하고 앱에서 오토데스크 클라우드 플랫폼의 기능을 호출할 수 있는 API(Application Program Interface)를 제공한다. 아울러, API 사용 시 인증 방법을 제공하여 보안을 제공한다. 포지에서 제공되는 뷰어는 RVT, DWG, DXF, IFC, 3DS, DAE, OBJ, FBX, STEP, STL 등 거의 대부분의 2차원 및 3차원 캐드 포맷을 지원한다. 포지 앱은 인터넷 기반으로 컴퓨터뿐 아니라 스마트폰, 스마트 패드 등 인터넷이 접근되는 모든 곳에서 사용할 수 있다.
포기 기반의 앱 개발 순서는 다음과 같다.
(1) 포지 포털에 접속한다.
(2) 포지 포털에서 Create 앱을 선택하고 앱을 생성한다.
(3) 앱의 인증키에 해당하는 Client ID및 Secret ID를 획득한다.
(4) NodeJS 기반 Javascript(자바스크립트) 등 언어를 이용해 Forge API 호출하여 앱 프로그램을 코딩한다.
(5) NodeJS 기반일 경우, 앱에서 사용되는 패키지를 설치한다.
(6) 웹 서버를 실행해 서비스를 운영한다.
오토데스크는 포지의 개발 지원을 위해, 수십 개 이상의 서비스 유형에 대한 기본 템플릿을 오픈소스 형태로 깃허브(github)에 공개해 놓았다. 우리는 이를 활용할 것이다.