Revit이 실행될 때 처음 호출되는 OnStartup에서 원하는 곳에 버튼을 생성하여 붙여주면 된다.
1. OnStartup()
2. PushButtonData 생성
버튼 명칭, dll 위치, 버튼을 클릭했을 때 실행될 클래스 패스(네임스페이스.클래스명) 를 입력해주면 된다. (클래스는 하단 4번 항목 참고)
3. RibbonPanel 생성하여 Panel에 2번에서 생성한 버튼 추가
RibbonPanel을 panel 이름만 주어 생성하게 되면 기본적으로 애드인 탭에 생성된다.
RibbonTab을 별도로 생성하여 이곳에 붙이고 싶은 경우, RibbonTab도 생성하면 된다.
4. 버튼을 클릭했을 때 실행될 클래스 생성
버튼 클래스는 IExternalCommand 인터페이스를 상속받도록 한다.
버튼을 클릭했을 때 IExternalCommand의 Execute() 메소드가 실행되므로 Execute 메소드 안에 내용을 구현하면 된다.
매개변수로 넘어오는 commandData에서 Application, UIApplication, Document를 가져올 수 있다.
* Transaction Attribute *
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
- Transaction 사용이 필요한 경우 (Document 내에서 수정/삭제/추가 등의 작업이 필요한 경우)
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.ReadOnly)]
- Transaction 사용이 불필요한 경우 (Document 내의 정보를 읽는 작업만 필요한 경우)
'Revit > RevitAPI' 카테고리의 다른 글
[Revit API] 프로젝트 생성 (1) | 2021.08.09 |
---|---|
[Revit API] Element, ElementType (0) | 2018.05.05 |
[Revit API] 기초: Family (0) | 2018.05.04 |