본문 바로가기
BIM/Revit API

Revit Database를 들여다 보자! (RevitLookup의 설치)

by kinorama 2011. 7. 20.
Revit API를 활용하여 Add-In, Plug-In, REX(Revit Extension) 등을 개발하려면 Revit 모델링 데이터로부터 API 객체 정보(Revit Modeling Database)를 쉽게 조회해 볼 수 있는 도구가 있어야 하는데, 이러한 도구가 RevitLookup 이다.

RevitLookup은 SDK 안에 포함되어 있으며, C# 소스코드와 Revit Add-In용 "dll" 이 함께 제공된다.
(SDK 안에는 각종 Add-In Sample 소스코드도 제공되고 있는데, 개발시 참조 또는 인용할 수 있는 유용한 코드가 있으므로 꼭 한번씩은 들여다봐야 할 것으로 생각된다.) 참고로 Revit 2012 버전은 Visual Studio.NET 2010으로 Sample이 제작되어 있다. Visual Studio.NET 2008도 가능하지만 몇 가지 수작업이 필요하므로 가급적이면 2010 버전을 이용하여 개발을 진행하는 편이 나으리라 본다. (2010 버전도 Expression일 경우, 수작업이 필요한 것으로 알고 있다. 귀찮으니즘이 있으신 개발자분들은 Professional 이상의 버전을 사용하도록 하자.)

Revit과 SDK를 설치한 상태라고 가정하고, 아래와 같이 Revit에 Add-In 도구를 설치해 보도록 하겠다.
(여기서는 Revit 2012 버전을 기준으로 설명한다.)

1. Add-In 용 "dll" 파일의 준비

   - RevitLookup Add-In 파일명은 RevitLookup.dll 이며, 사용자의 윈도우가 
     32비트일 경우, C:\Program Files\Revit 2012 SDK\RevitLookup\CS\bin\Debug 폴더
     64비트일 경우, C:\Program Files (x86)\Revit 2012 SDK\RevitLookup\CS\bin\Debug 폴더
     에 존재한다.
   - 이 파일을 Add-In용 폴더에 복사하거나 Revit이 설치된 폴더 또는 기타 사용자 정의 폴더에 복사한다.


2. Manifest File (*.addin)의 작성

   - 이전 버전의 RevitLookup (RvtMgdDbg으로 알려져 있다.)은 ExternalApplication 형태로 Revit.ini 파일에
     등록하여 사용해야 했었다.
   - 그러나 최근 버전 부터는 manifest file을 이용하여 Revit 실행 시에 Load 하도록 바뀌었으며,
      Revit 2012 버전부터는 manifest file에 Vendor 정보를 기록하지 않을 경우 Load 되지 않도록 수정되었다.
   - Revit API 개발 Vendor 정보는 Vendor별로 등록된 4자리 Symbol Character (숫자와 영문으로 구성)를
     등록한다. (Vendor Symbol Character는 http://www.autodesk.com/symbreg 에서 등록할 수 있다.)
   - RevitLookup용 manifest file은 RevitLookup.addin 파일명으로 아래와 같이 작성한다.
   - Manifest file에 대한 상세 설명은 나중에 다른 글을 통해 설명하도록 하겠다.

* 5번째 줄: RevitLookup.dll 파일의 절대경로 위치 (예: C:\Add-In\RevitLookup.dll)
* 8번째 줄: Vendor Symbol Character



3. Manifest file의 위치

   - Manifest file의 위치는 두 가지 경우로 생각해 볼 수 있는데, 우리가 특정 프로그램의 설치 시에 EveryOne,
     User Only와 같이 사용 대상을 물어 보는 경우가 있다. 이것 처럼 둘중에 하나의 위치를 선택해야 한다.
   
   -  In a non-user specific location     
      * Windows XP : 
        C:\Documents and Settings\All Users\Application Data\Autodesk\Revit\Addins\2012\
      * Vista / Windows 7 : 
        C:\ProgramData\Autodesk\Revit\Addins\2012\

   - In a user specific location
     * Windows XP : 
       C:\Documents and Settings\<user>\Application Data\Autodesk\Revit\Addins\2012\
     * Vista / Windows 7 :
       C:\Users\<user>\AppData\Roaming\Autodesk\Revit\Addins\2012\

   - 여기서는 non-user specific location 중 Windows 7 위치에 manifest file 및 add-in용 dll을 설치하였다.


4. Revit Database의 조회

   - 이제 RevitLookup의 설치가 끝났으므로(실제 알고 보면 너무 간단하다.), Revit을 실행하여 모델링 데이터로부터
     API 정보를 들여다 보도록 하자.
   - Revit을 실행하면 상단의 리본 메뉴중 에드인 메뉴에 Revit Lookup이라는 하위 메뉴가 하나 생긴것을 볼 수가
     있다.
   - 이제 벽체를 하나 그린뒤, 그 벽체를 선택하고 Revit Lookup 메뉴를 클릭하면 하위 Pull-down 메뉴가 나오며
     여기서 Snoop Current Selection... 이라는 메뉴를 선택한다.

   - 그러면 선택된 모델 객체의 상세한 API 정보를 볼 수 있는 팝업창이 뜬다.


   - 이런 방식으로 Revit API 개발 시에 특정 객체의 내부 정보나 API Class명칭 등등의 정보를 들여다 볼 수 있다.

댓글