본문 바로가기

BIM_D.E.C/Dev-X

ⓢ[Revit API]MCP(Model Context Protocol) Vibe Modeling

[Revit API] MCP(Model Context Protocol) Vibe Modeling

 

제공된 영상은 Revit 소프트웨어와 AI 기반 시스템인 Klod를 연동하여 사용하는 방법을 시연합니다. 사용자는 자연어로 Revit에서 수행할 작업을 지시하고, Klod는 해당 지시를 해석하여 Revit API를 통해 코드를 생성합니다. 이 코드는 즉시 실행되어 벽체 생성, 색상 변경, 시트 생성 및 뷰 배치와 같은 Revit 작업이 자동화됩니다. 시연 과정에서 일부 오류가 발생하기도 하지만, 전반적으로 AI를 활용하여 BIM 모델링 프로세스를 간소화하는 가능성을 보여줍니다.

 

음성개요(내용설명):


[Revit API] MCP : (Model Context Protocol) Vibe Modeling Step1

https://youtu.be/lHeoNweSsS0?si=sTdvhL_-DKjZYVad

제공된 유튜브 영상의 핵심은 MCP(Model Context Protocol) 구조를 활용하여 클라우드 환경과 레빗을 연결하고, 클라우드의 지식을 이용하여 레빗에서 모델링 작업을 자동화하는 과정을 보여주는 것입니다. 사용자는 자연어 명령으로 벽체 생성이나 색상 변경, 시트 생성과 같은 작업을 요청하고, 클라우드 시스템은 이를 처리하여 레빗에서 자동으로 실행될 코드를 작성합니다. 이 과정에서 발생할 수 있는 오류를 수정하고 재시도하는 기능도 포함되어 있어, 사용자의 명령을 레빗 작업으로 변환하는 시스템의 가능성을 엿볼 수 있습니다.

 

[Revit API] MCP : (Model Context Protocol) Vibe Modeling Step2

https://youtu.be/bN4Q1Cz7JYo?si=SnL9MhbeTZSs8EsJ

이 영상은 라이노와 레빗 같은 건축 설계 소프트웨어 간의 데이터 교환 및 모델링 자동화를 가능하게 하는 **MCP(Model Context Protocol)**를 소개합니다. 특히, 라이노에서 선택한 객체(선, 곡선, 점 등)의 정보를 추출하여 MCP를 통해 레빗으로 직접 코드를 보내 보, 벽, 커튼월, 심지어 문까지 생성하는 과정을 시연합니다. 이를 통해 서로 다른 프로그램 환경에서도 효율적으로 모델링 작업을 수행할 수 있음을 보여주지만, 모든 종류의 객체나 복잡한 작업에 완벽하게 작동하는 것은 아니라고 언급하며 개선의 필요성을 시사합니다.

 

[Revit API] MCP : (Model Context Protocol) Vibe Modeling Step3

https://youtu.be/wvluTtcHsAk?si=7vLGAMSH-aCamYUv

제공된 유튜브 영상의 핵심 내용은 **모델 컨텍스트 프로토콜(MCP)**이라는 AI 모델과 다양한 도구를 연결하는 표준 방식에 대해 설명합니다. 엔트로픽에서 개발한 이 프로토콜은 다양한 프로그래밍 언어를 지원하지만, 실제 사용하기 위해서는 서버 및 플러그인 구성 등 상당한 코딩 지식이 필요함을 강조합니다. 특히, 기존 MCP는 미리 정의된 기능만 수행 가능하며, 유연성이 떨어진다는 점을 지적하며, 코드를 직접 실행하는 방식의 개방형 접근 방식이 더 효과적일 수 있음을 보여줍니다.


주요 주제

본 문서의 소스는 Revit API, MCP(Model Context Protocol) 및 Vibe Modeling의 가능성에 대해 다루고 있습니다. 주요 주제는 다음과 같습니다.

  • MCP의 개념 및 활용: 다양한 AI 모델과 데이터 소스, 도구를 연결하는 표준화된 프로토콜로서의 MCP를 소개합니다. 특히 Revit 및 Rhino와 같은 BIM/CAD 소프트웨어와의 연동 가능성을 탐구합니다.
  • AI 기반 모델링 및 자동화: 클로드와 같은 LLM(Large Language Model)을 활용하여 Revit 또는 Rhino에서 모델링 작업을 자동화하고 효율성을 높이는 방법에 대한 실험 결과를 보여줍니다.
  • MCP 기반 개발 및 한계: MCP를 활용한 개발의 기술적인 측면과 현재 구현의 한계점을 분석하고, 일반 사용자가 아닌 개발자에게 더 적합할 수 있음을 지적합니다.
  • 코드 기반 자동화의 잠재력: 미리 정의된 기능 기반의 접근 방식보다는 LLM이 직접 코드를 생성하고 실행하는 방식의 잠재력을 보여주는 실험 결과를 제시합니다.
  • 데이터 시각화 및 분석: LLM을 활용하여 Revit 모델 데이터를 분석하고 대시보드 형태로 시각화하는 가능성을 제시합니다.

가장 중요한 아이디어 및 사실

  • MCP는 AI 모델과 다양한 애플리케이션을 연결하는 개방형 프로토콜입니다. 이는 Revit, Rhino 등 다양한 소프트웨어와의 연동을 가능하게 합니다. "mcp는 ai 모델을 다양한 데이터 소스 도구와 연결하는 표준화된 방법입니다" (Source 3)
  • 클로드와 같은 LLM을 통해 자연어 명령으로 Revit에서 객체를 생성하고 수정할 수 있습니다. 소스 1에서는 "벽을 하나 생성해 볼게요 구조벽을 한 열 개만 해줘 높이는 3.0m 정도로 하겠습니다 타입은 기본 타입으로 알아서 해줘" 와 같이 자연어로 벽체를 생성하는 과정을 보여줍니다. 또한 "컬러를 뭐 어 빨간색로 변경해 줘" 와 같이 객체의 속성을 변경하는 것도 가능합니다.
  • Rhino에서 선택된 객체의 정보를 추출하여 Revit에서 객체를 생성할 수 있습니다. 소스 2에서는 Rhino에서 그린 선분을 바탕으로 Revit에서 보를 생성하거나 벽을 생성하는 실험을 보여줍니다. "라인에서 선택된 객체에 정보를 추출하고 레빗에서 보를 생성해" (Source 2)
  • MCP 기반의 현재 공개된 구현체는 미리 정의된 기능에 의존하며 자유도가 제한적입니다. 소스 3에서는 GitHub에 공개된 Revit MCP 플러그인을 분석하며, "정의에 놓 놓지 않은 것들에 대한 객체는 생성할 수가 없습니다" 라거나 "파라미터가 여기이 정도만 있는데 이거 말고 더 많은 파라미터가 사실은 어 api를 구현할 때 필요할 것 같아요" 와 같이 미리 정의된 파라미터와 기능만 실행 가능하다는 한계를 지적합니다.
  • LLM이 직접 코드를 생성하여 실행하는 방식은 더 큰 유연성과 잠재력을 가집니다. 소스 3의 작성자는 직접 코드를 생성하고 실행하는 방식을 구현하여 기둥의 결합 관계를 변경하거나 벽체 타입별로 색상을 변경하는 등의 복잡한 작업을 성공적으로 수행합니다. "결론적으로 얘기하면 뭐 안 되는 건 없다 안 되는 건 없는데 지금 나와 있는 mcp의 그런 형태는 아닐 거다라고 하는 거죠" (Source 3)
  • LLM은 모델 데이터를 분석하고 시각화하는 데 활용될 수 있습니다. 소스 3의 마지막 부분에서는 LLM을 통해 Revit 모델 데이터를 분석하고 벽체 타입별 개수와 두께를 나타내는 대시보드를 생성하는 과정을 보여줍니다. "이런 lrm을 사용하는 부분이 어떻게 보면 어 큰 강점이 될 거 같아요" (Source 3)
  • MCP 기반 개발은 현재 코딩 지식이 있는 사용자에게 더 적합합니다. 소스 3에서는 MCP 서버 및 플러그인 개발 과정을 설명하며 Node.js, TypeScript, C# 등 다양한 기술 스택이 필요함을 언급하고 "코딩에 이제 어 지식이 없으시면 여기서부터 이제 포기를 하게 되실 것 같고요" 라며 비개발자의 어려움을 시사합니다.

요약

본 소스들은 MCP가 AI 모델과 BIM/CAD 소프트웨어를 연동하여 모델링 및 자동화를 가능하게 하는 유망한 기술임을 보여줍니다. 클로드와 같은 LLM을 활용하면 자연어 명령으로 모델링 작업을 수행하고 데이터를 분석하는 것이 가능합니다. 그러나 현재 공개된 MCP 구현체는 기능적 한계가 있으며, LLM이 직접 코드를 생성하여 실행하는 방식이 더 큰 잠재력을 가지고 있습니다. MCP 기반 개발은 현재로서는 코딩 지식이 있는 사용자에게 더 유리하며, 앞으로 지속적인 발전이 기대됩니다.


핵심 용어 용어집

  • MCP (Model Context Protocol): AI 모델을 다양한 데이터 소스 및 도구(Revit, Rhino 등)와 연결하는 표준화된 프로토콜.
  • Revit API: Autodesk Revit 소프트웨어의 기능을 제어하고 확장하기 위한 프로그래밍 인터페이스.
  • Rhino: NURBS 기하학 기반의 3D 모델링 소프트웨어.
  • 클로드 (Claude): Anthropic에서 개발한 대규모 언어 모델 (LLM). 본 자료에서는 MCP와 연동하여 자연어 명령을 처리하는 AI 모델로 언급됨.
  • LLM (Large Language Model): 방대한 텍스트 데이터로 학습된 인공지능 모델로, 자연어 이해 및 생성을 수행할 수 있음.
  • 플러그인 (Plugin): 특정 소프트웨어의 기능을 확장하기 위해 추가되는 소프트웨어 모듈.
  • 서버 (Server): 클라이언트의 요청에 응답하여 서비스나 데이터를 제공하는 컴퓨터 또는 프로그램. 본 자료에서는 MCP 통신을 중계하는 역할을 하는 프로그램으로 언급됨.
  • 클라이언트 (Client): 서버에 요청을 보내고 서비스를 이용하는 컴퓨터 또는 프로그램. 본 자료에서는 Revit 플러그인과 같이 서버와 통신하는 프로그램으로 언급됨.
  • API (Application Programming Interface): 소프트웨어 애플리케이션이 서로 통신하고 데이터를 교환할 수 있도록 정의된 규칙과 인터페이스.
  • GitHub: 소프트웨어 개발 프로젝트를 위한 웹 기반 호스팅 서비스로, 버전 제어 및 협업 기능을 제공함. 오픈 소스 코드를 공유하는 데 널리 사용됨.
  • 오픈 소스 (Open Source): 소스 코드가 공개되어 누구나 자유롭게 사용, 수정 및 배포할 수 있는 소프트웨어.
  • 타입스크립트 (TypeScript): 자바스크립트에 정적 타이핑 기능을 추가한 프로그래밍 언어.
  • Node.js: 서버 측 및 네트워킹 애플리케이션 개발에 사용되는 자바스크립트 런타임 환경.
  • npm: Node.js 패키지 관리자.
  • 파라미터 (Parameter): 함수나 명령어에 전달되는 값 또는 설정. Revit API에서는 객체의 속성 값을 정의하는 데 사용됨.
  • 익스터널 이벤트 핸들러 (External Event Handler): Revit API에서 사용자 상호작용과 같은 외부 이벤트에 응답하여 코드를 실행하는 메커니즘. 트랜잭션 수행 시 필요함.
  • 트랜잭션 (Transaction): Revit API에서 모델 변경 작업을 수행할 때 사용되는 개념. 변경 사항을 하나로 묶어 커밋하거나 롤백할 수 있음.
  • 라인 베이스 엘레멘트 (Line-Based Element): 두 점을 연결하는 선을 기반으로 생성되는 Revit 요소 (예: 벽, 보).
  • 서페이스 베이스 엘레멘트 (Surface-Based Element): 면을 기반으로 생성되는 Revit 요소 (예: 바닥).
  • 대시보드 (Dashboard): 데이터를 시각적으로 표현하고 요약하여 보여주는 사용자 인터페이스. 본 자료에서는 벽 유형별 수량 등을 시각화하는 데 사용됨.

 

[마인드맵]

[Revit API] MCP Vibe Modeling_Mind Map

 

 


NotebookLM을 이용해서 작성되었습니다.

디이씨(D.E.C)

martin@dec-w.com

사업자 정보 표시
디이씨(DEC) | 이정희 | 경기도 고양시 덕양구 항동로 128, 924호 | 사업자 등록번호 : 220-10-09832 | TEL : 070-8657-2850 | Mail : martin@dec-w.com | 통신판매신고번호 : 제 2024-고양덕양구-2952호 | 사이버몰의 이용약관 바로가기

'BIM_D.E.C > Dev-X' 카테고리의 다른 글

ⓢ[Revit API]MCP 어떻게 사용해야할까  (2) 2025.05.20
Dev-X 사용설명(주석부분)  (0) 2025.04.29
Dev-X 사용설명(건축부분)  (0) 2025.04.29
Dev-X 사용설명(구조부분)  (0) 2025.04.29
Dev-X 소개, 업데이트  (0) 2025.04.29