본문 바로가기

Revit API Study

[Revit API] Hello Revit 창 띄우기

왠지는 잘 모르겠지만 막연하게 코딩을 할 수 있으면 좋겠다는 생각이 머릿속 어딘가에 항상 있었다. 아마도 단순히 안 되는 걸 되게 하고 싶은 욕구에서 부터였거나, 그저 반복적인걸 하기 싫은 귀차니즘에서부터 였던것 같다...

 

지금까지는 의욕을 가지고 막상 코딩공부를 시작하려고 하면 한글로 된 자료도 별로 없고 환경도 따라주지 않는다는 핑계로 시작하고 포기하기를 반복했었는데.... 최근에는 유튜브에 Revit API 관련 영상도 예전에 비해 많아져서 다시 한번 스터디를 꾸준히 시작하고 아카이빙 형식으로 남겨보려고 한다.

 

시작은 기억을 더듬어서 코딩의 정석인 Hello World(Revit)라는 메시지 창을 Revit에서 띄워 보려고 한다.

아래에 있는 순서대로 하나씩 기록해보자.

 

  1. 비주얼 스튜디오 설치
  2. 클래스 라이브러리 만들기
  3. Revit API 참조 걸기
  4. Revit 버전에 맞는 프레임워크와 디버그 설정
  5. 코드 작성 및 빌드
  6. 메니페스토 파일 작성
  7. 실행 확인

1.비주얼 스튜디오 설치

현재 최신 버전인 2022 버전을 설치해도 되지만 나중에 개인적으로 테스트해보고 싶은 MYSQL과 DB를 연결하는 기능이 2022에서 아직 호환이 안되는 것 같아서 2019 커뮤니티 버전(무료)으로 설치를 진행.

구 버전 설치 링크 : https://visualstudio.microsoft.com/ko/vs/older-downloads/

 

 

윈도우 기반이기 때문에. NET 데스크톱 개발을 필수로 선택해서 설치.

 

 

 

2.클래스 라이브러리 만들기

 설치가 완료되었으면 비주얼 스튜디오를 실행하고 새 프로젝트를 만들어 준다.

 

 

이때 클래스 라이브러리(.Net Framework)를 선택하고 만들어 준다

( .NetCore 혹은 유니버셜 윈도우와는 완전 다른 것이기 때문에 주의 )

 

 

프로젝트 이름과 위치를 지정해주고 프레임워크를 설정해주는데 Revit 2021버전은 .NET Framework 4.8버전을 선택하고 만들어 주면 된다. (Revit 버전에 맞게 프레임워크를 다르게 지정해줘야 함)

 

 

 

3.Revit API 참조 걸기

비주얼스튜디오에서 Revit API를 사용하려면 참조를 걸어줘야 하는데 우측 솔루션 탐색기의 참조를 우클릭해서 참조를 추가해줘야 한다.

 

 

 

참조 관리자 창이 뜨면 찾아보기를 클릭하고 Revit이 설치된 위치에서 "RevitAPI.dll", "RevitAPIUI.dll"을 추가해준다.

( 일반적으로 Revit이 설치된 위치 = C:\Program Files\Autodesk\Revit 2021 )

 

 

 

4.Revit 버전에 맞는 프레임워크와 디버그 설정

그리고 이번에는 우측 솔루션탐색기에서 HelloRevit을 우클릭해서 속성 창으로 이동해 준다.

 

애플리케이션 탭에서 대상 프레임워크가 해당 Revit 버전에 맞는지 확인해주고 출력 형식도 클래스 라이브러리가 맞는지 확인한다.

 

그리고 디버그 탭에서 시작 외부 프로그램을 지정하기 위해서 찾아보기를 누르고 Revit이 설치된 위치에서 Revit.exe 실행파일을 선택.

 

 

 

5.코드 작성 및 빌드

프로젝트를 처음 시작할 때 일일이 타이핑하거나 전부 다 이해하려고 하지 말고 래빗 템플릿처럼 미리 만들어 놓은 아래의 코드를 붙여 넣고 시작하면 된다.

코드의 시작은 주석 작업해놓은

 

//여기에 내용입력

 

부터 시작되는데, 창을 띄우기 위해 추가된 코드는 TaskDialog.Show("Revit API","Hello Revit!!!"); 이 전부이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.ApplicationServices;
 
namespace HelloRevit //네임스페이스명
{
    [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
    public class Command : IExternalCommand
    {
 
        public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData,
            ref string message, Autodesk.Revit.DB.ElementSet elements)
        {
            //여기에 내용입력
            TaskDialog.Show("Revit API","Hello Revit!!!");
                       
            return Autodesk.Revit.UI.Result.Succeeded;
        }
    }
}
 
 
cs

 

여기서 하나 주의해야 할 건 위 코드에 있는 클래스명은 Command인데 새로 생성한 클래스 명은 기본값이 Class1.cs 이기 때문에 솔루션 탐색기에서 클래스명을 Command로 바꿔줘야 한다.

 

그리고 이제 빌드를 해야 하는데 빌드를 하는 방법은 솔루션 탐색기에 있는 HelloRevit을 우클릭해서 빌드를 눌러주면 된다.

 

그리고 빌드가 성공하면 아래 콘솔 창에 빌드가 성공했다는 메시지와 함께 dll 파일이 생성된 위치가 나온다. 이 위치는 다음 메니페스토 파일을 설정할 때 복사해서 사용.

 

 

 

6.메니페스트 파일 작성

메니페스트 파일을 만드는 방법은 아래의 위치에 비어있는 메모장 파일을 하나 만들고 이름과 확장자명을 Hellorevit.addin으로 바꿔주면 된다.

( C:\Users\사용자\AppData\Roaming\Autodesk\Revit\Addins\2021 )

 

 

 

그러면 이제 마지막으로 메니페스트 파일에 내용을 입력해야 하는데 아래에 있는 메니페스트 코드 템플릿에 추가 정보만 입력하면 끝이다.

 

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<RevitAddIns>
    <AddIn Type="Command">
        <Assembly>빌드하고 생성된 dll 파일 위치</Assembly>        
        <AddInId>GUID</AddInId>        
        <FullClassName>네임스페이스.클래스</FullClassName>
        <Text>TEXT</Text> 
        <VendorId>NAME</VendorId>
        <VendorDescription>VENDOR</VendorDescription> 
    </AddIn>
</RevitAddIns>
 
cs
 

 

<Asssembly>사이에는 빌드해서 얻은 dll 파일의 위치를 입력하고

<AddInID>사이에는 GUID 값을 입력하면 된다.

GUID는 상단 도구 탭에서 GUID 만들기를 클릭하고 GUID 만들기 창이 뜨면 복사를 눌러서 그 값을 그대로 붙여 넣기 하면 된다.

 

 

 

<FillClassName> 사이에는 "네임스페이스이름.클래스이름을" 입력하면 되고,

<Text>사이에는 애드인의 이름을 써준다. 여기까지 작성을 완료했으면 아래와 같이 메니페스트 파일이 완성된다.

 

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<RevitAddIns>
    <AddIn Type="Command">
        <Assembly>C:\Users\Desktop\HelloRevit\HelloRevit\HelloRevit\bin\Debug\HelloRevit.dll</Assembly>       
        <AddInId>C2223081-22FD-46C9-8377-485AE7829A88</AddInId>        
        <FullClassName>HelloRevit.Command</FullClassName>
        <Text>MyFirstRevitPlunIn</Text> 
        <VendorId>NAME</VendorId>
        <VendorDescription>VENDOR</VendorDescription> 
    </AddIn>
</RevitAddIns>
 
cs

 

7.실행 확인

이제 진짜 마지막으로 남은 건 실행해서 작동이 제대로 되는지 확인만 하면 되는데 상단 재생 버튼을 누르거나 단축키 F5를 눌러서 실행하면 된다. 문제없이 잘 따라왔다면 Revit이 실행되면서 아래와 같은 경고 창이 뜰 것인데 항상 로드 혹은 한번 로드를 클릭해서 실행하면 된다.

 

 

 

그리고 새 프로젝트 파일을 하나 만들고 나서 상단 애드인(AddIn) 탭에 외부 도구에 가면 방금 만든 MyFirstRevitPlugIn이 생기고 클릭하면 아래처럼 Hello Revit!!! 라는창이 뜨게 된다.