c# (8) 썸네일형 리스트형 [Revit API] Revision 관리 플러그인 프로젝트를 진행하면서 리비전 관리는 발주처뿐만 아니라 협력업체와 협업할 때도 굉장히 중요합니다. 수시로 변경되는 도면들을 그때그때 리스트업하고 도면으로 기록하지 않으면 기억에서 금세 사라져 버리니까요... 왠지 모르게 Revit은 당연히 BIM 툴이니까 효율적으로 리비전 관리를 할 수 있을 것 같지만... 아쉽게도 기본 기능만으로는 리비전 관리를 효율적으로 할 수 있다고 말하기에는 다소 부족한 점이 있는 것 같습니다. 특히 Revision 각 객체의 Comment 값을 일람표로 추출할 수 있는 기능이 없습니다. 물론 다이나모를 잘 사용한다면 Comments 값을 포함한 각종 정보들을 추출해서 엑셀로 내보내면 되겠지만. 다이나모를 할 줄 모른다면. 기존 방식과 똑같이 도면을 일일이 찾아가면서 수기로 Exc.. [Revit API] WPF로 객체 정보 조회 플러그인 만들기 My First WPF Plug-In API 스터디를 시작하고 나서 UI를 만들 때 WinForm과 WPF 중 무엇을 사용해야 하나 고민했었는데 WinForm은 더 이상 서비스를 지원하지 않는다고 하여 WPF로 스터디를 진행하기로 결정했습니다. (편하고 직관적인건 WinForm인 것 같긴 한데...) 그래서 오늘은 WPF를 사용해서 간단한 플러그인을 만들고 어떻게 Revit에서 실행할 수 있는지 기록을 남기려고 합니다. 플러그인의 간단한 기능을 먼저 설명하자면 프로젝트 내에 존재하는 문(door)들의 객체 ID(고윳값)를 리스트 박스에 나열하고 리스트를 선택하면 우측 Show Details 패널에 이름, 타입, ID, 구속 레벨이 나타납니다 비주얼 스튜디오는 2022 버전을 사용했고 새프로젝트 만들기를 .. [C# Study] 용어 정리중... namespace Study { class Car { public string name; public string color; public void Info() { Console.WriteLine($"이차의 이름은 {name} 이고 색상은 {color}입니다"); } } } Car 클래스 내부에 선언되어있는 name과 color를 변수 혹은 필드라고 함. 그리고 필드와 메서드를 비롯하여 프로퍼티, 이벤트 등의 클래스 내에 선언되어 있는 요소들을 일컬어 멤버라고 함. [C# Study] 메서드(method) 메서드(Method) 메서드는 코드들을 하나로 묶은 것으로 클래스 안에서 선언되며 선언형식은 아래와 같음. namespace MethodStudy { class Method { 한정자 반환형식 메서드이름(매개변수 목록) { //실행할 코드 1 //실행할 코드 2 // ... return 메서드 결과 } } } 아래는 간단한 더하기 기능이 있는 Plus 메서드 class Calculator { public static int Plus(int x, int y) { int result = x + y; Console.WriteLine($"x + y = {result} 입니다"); return result; } } 메서드 이름 : Plus 메서드의 매개변수 : int x, int y (2개) 메서드의 리턴 형식:.. [C# Study] Static 정적 Static이란? C#에서 static은 메서드나 필드가 클래스의 인스턴스가 아닌 클래스 자체에 소속되도록 지정하는 한정자. static 필드는 객체 선언과 동기에 메모리가 할당되며 해당 클래스가 처음 사용될 때 한번 초기화되어 계속 동일한 메모리를 사용함. (일반적인 필드들이 객체가 새로 생성될 때 메모리가 초기화되는 것과는 다름) 예제 1 namespace Static { public class StaticTest { public static int staticNum = 0; public int num = 0; public StaticTest() //생성자 { staticNum++; num++; } public void ShowMe() { Console.WriteLine($"StaticNum : {s.. [Revit API] 일람표 Excel로 내보내기 Export Revit Schedule to Excel 아쉽지만 Revit의 기본 기능 중에는 일람표 데이터를 Excel로 바로 내보내는 기능이 없습니다. 그래서 Revit의 기본기능만으로 해결을 하려면 txt 파일로 내보낸 후 엑셀로 다시 임포트 하는 번거로운 과정이 필요합니다. 만약 Revit에 친숙한 유저라면 간단한 Dynamo코드와 Dynamo Player를 사용해서 Excel로 한 번에 내보낼 수도 있지만 Revit과 Dynamo 등 프로그램과 인터페이스가 익숙하지 않은 팀원들과 협업을 할 때는 이것 또한 부담이 될 수 있습니다. 그래서 가장 단순하지만 일람표를 Excel로 바로 내보내는 플러그인을 만들어 봤습니다. 건축업무를 하다보면 Excel로 데이터를 주고받을 일이 굉장히 많이 있는데 데이.. [Revit API] Ribbon탭 만들고 Form 띄우기 리본메뉴에 별도의 탭을 추가하고 패널을 추가하기. (참고한 자료 : API Develop Guide, YouTube 소주장군님) Application.cs 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 using System; using System.Collections.Generic; using System.Linq; u.. [Revit API] Hello Revit 창 띄우기 왠지는 잘 모르겠지만 막연하게 코딩을 할 수 있으면 좋겠다는 생각이 머릿속 어딘가에 항상 있었다. 아마도 단순히 안 되는 걸 되게 하고 싶은 욕구에서 부터였거나, 그저 반복적인걸 하기 싫은 귀차니즘에서부터 였던것 같다... 지금까지는 의욕을 가지고 막상 코딩공부를 시작하려고 하면 한글로 된 자료도 별로 없고 환경도 따라주지 않는다는 핑계로 시작하고 포기하기를 반복했었는데.... 최근에는 유튜브에 Revit API 관련 영상도 예전에 비해 많아져서 다시 한번 스터디를 꾸준히 시작하고 아카이빙 형식으로 남겨보려고 한다. 시작은 기억을 더듬어서 코딩의 정석인 Hello World(Revit)라는 메시지 창을 Revit에서 띄워 보려고 한다. 아래에 있는 순서대로 하나씩 기록해보자. 비주얼 스튜디오 설치 클래스.. 이전 1 다음