内容
# BIM-Bot — AI-Powered Revit Automation
[](https://www.npmjs.com/package/revit-mcp-server)
[](https://github.com/HassanElmathary/BIM-Bot/releases)
[](https://opensource.org/licenses/MIT)
[](#)
> BIM-Bot: 模型上下文协议(MCP)服务器 + Revit 插件,用于 AI 驱动的 BIM 自动化,包含 **182 个工具**,内置 Gemini AI 聊天和 Power BI 3D 导出。
---
## ⚡ 快速安装
1. 从 [GitHub Releases](https://github.com/HassanElmathary/BIM-Bot/releases) 下载 **`BIMBot-Setup-2.1.0.exe`**
2. 以 **管理员** 身份运行安装程序
3. 按照向导操作 - 它将:
- ✅ 自动检测您的 Revit 版本(2020–2027)
- ✅ 为每个版本部署正确的插件
- ✅ 捆绑一个便携的 Node.js 运行时(无需单独安装)
- ✅ 自动配置 Claude Desktop
4. 打开 Revit → 在功能区中查找 **"BIM-Bot"** 标签
> **就这样!** 60 秒内即可使用。
---
## 支持的 AI 客户端
BIM-Bot 与 **任何 MCP 兼容的 AI 客户端** 配合使用。安装程序会自动配置 Claude Desktop;对于其他客户端,请复制以下配置。
| 客户端 | 配置文件 |
|--------|-------------|
| Claude Desktop | `%APPDATA%\Claude\claude_desktop_config.json` |
| Cursor | `~/.cursor/mcp.json` 或 设置 → 功能 → MCP |
| Windsurf | `%USERPROFILE%\.codeium\windsurf\mcp_config.json` |
| VS Code | `.vscode/mcp.json` 或 命令面板 → "MCP: 打开用户配置" |
| Gemini CLI | `~/.gemini/settings.json` |
### Claude Desktop / Cursor / Windsurf / Gemini CLI
```json
{
"mcpServers": {
"BIM-Bot": {
"command": "C:\\Program Files\\BIMBot\\nodejs\\node.exe",
"args": ["C:\\Program Files\\BIMBot\\server\\build\\index.js"],
"env": {}
}
}
}
```
### VS Code (Copilot / MCP 扩展)
```json
{
"servers": {
"BIM-Bot": {
"type": "stdio",
"command": "C:\\Program Files\\BIMBot\\nodejs\\node.exe",
"args": ["C:\\Program Files\\BIMBot\\server\\build\\index.js"]
}
}
}
```
> **编辑配置后请重启您的 AI 客户端** 以加载新的 MCP 服务器。
---
## 🗑️ 卸载
打开 **设置 → 应用程序 → 已安装的应用程序**,找到 **BIM-Bot**,然后单击 **卸载**。
或者重新运行安装程序 `.exe` - 它会检测到现有的安装并提供 **修复** 或 **卸载** 选项。
卸载程序将自动:
- 🧹 从 **所有** Revit 版本(2020–2027,包括旧条目)中删除 Revit 插件(`.addin` 文件)
- 🧹 从 Claude Desktop 配置中删除 `BIM-Bot` 条目
- 🧹 删除安装目录
> **注意:** 卸载后请重启 Revit 以完全卸载插件。
---
## 功能
- **182 个 MCP 工具**,涵盖 19 个类别:
- 🔍 **读取** (19):视图、元素、参数、房间、楼层、图纸、族、进度表、链接模型
- 🏗️ **创建** (15):墙、楼板、天花板、屋顶、楼层、网格、房间、视图、图纸、标签
- ✏️ **编辑** (12):修改、移动、旋转、复制、删除、镜像、对齐、分组、批量修改
- 📄 **文档** (8):图纸、视口、导出、图例、修订、标签
- ✅ **质量控制** (8):警告、审计、合规性、命名、重复项、清理、验证
- 🤖 **AI** (8):Gemini 聊天、代码生成、模型分析、Google OAuth
- ⚡ **高级工具** (29):批量操作、批量元素处理、高级查询
- 🔧 **高级** (5):复杂模型操作和自动化
- 📐 **绘图** (3):详图线、详图构件、填充区域
- 📦 **导出** (16):DWG、PDF、IFC、NWC、图像、进度表到 CSV/Excel
- 🔌 **扩展** (16):附加元素操作和属性管理
- 📁 **文件管理** (10):工作共享、链接、工作集、文件操作
- 🔥 **机电** (8):管道、管线、电缆托盘、配件、系统
- 📊 **Power BI** (1):用于 Power BI 可视化的 3D 几何体导出
- 🎨 **渲染** (3):材质、渲染设置、视觉样式
- ⚙️ **设置** (9):项目信息、单位、共享参数、全局设置
- ✍️ **草图** (3):模型线、参考平面、草图几何体
- 🔄 **事务** (6):撤销/重做、事务组、子事务
- 📈 **BIM 仪表盘** (3):仪表盘生成、BEP MIDP 配置、合规验证
- **Antigravity AI 聊天** - 内置 Gemini 驱动的自然语言界面,位于 Revit 内
- **Google Gemini 2.5** 集成,用于自然语言 BIM 交互
- **Power BI 3D 可视化** - 用于 Power BI 仪表盘的自定义 Three.js 可视化
- **集成** - Google Sheets、Excel、Notion、SQLite 连接器
- **本地 AI 支持** - Ollama 集成,用于离线 AI 功能
- **Revit 2020–2027** 支持(多目标插件:.NET 4.8 for 2020–2024,.NET 8 for 2025–2026,.NET 10 for 2027)
- **自动更新** 通过 GitHub Releases
- **一键安装** (.exe)带有便携的 Node.js
## 支持的 Revit 版本
| Revit 版本 | 框架 | 状态 |
|---------------|-----------|--------|
| Revit 2020 | .NET Framework 4.8 | ✅ 支持 |
| Revit 2021 | .NET Framework 4.8 | ✅ 支持 |
| Revit 2022 | .NET Framework 4.8 | ✅ 支持 |
| Revit 2023 | .NET Framework 4.8 | ✅ 支持 |
| Revit 2024 | .NET Framework 4.8 | ✅ 支持 |
| Revit 2025 | .NET 8.0 | ✅ 支持 |
| Revit 2026 | .NET 8.0 | ✅ 支持 |
| Revit 2027 | .NET 10.0 | ✅ 支持 |
## 架构
```
┌─────────────────┐ MCP/stdio ┌─────────────────┐ TCP/JSON-RPC ┌─────────────────┐
│ AI 客户端 │◄──────────────────► │ MCP 服务器 │◄────────────────────►│ Revit 插件 │
│ (Gemini/Claude)│ │ (Node.js/TS) │ 端口 8080 │ (C# Add-in) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌───────────┐ ┌──────────────┐
│ 集成 │ │ Antigravity │
│ Sheets/Excel│ │ AI 聊天界面 │
│ Notion/SQLite│ │ (Gemini CLI) │
└───────────┘ └──────────────┘
```
## 开发者设置
### 1. 安装依赖项
```bash
cd revit-mcp-server
npm install
npm run build
```
### 2. 配置 API 密钥(可选 - 用于 AI 功能)
```bash
cp .env.example .env
# 编辑 .env 文件,添加您的 Gemini API 密钥
```
### 3. 配置 MCP 客户端
将以下内容添加到您的 MCP 客户端配置中(例如 Claude Desktop、Cursor、Windsurf 等):
```json
{
"mcpServers": {
"BIM-Bot": {
"command": "node",
"args": ["<path-to>/revit-mcp-server/build/index.js"],
"env": {}
}
}
}
```
### 4. 在 Revit 中启动
1. 通过 `.exe` 安装程序安装 Revit 插件
2. 在 Revit 功能区中单击 **"启动 MCP 服务"**
3. AI 客户端现在可以与您的 Revit 模型交互
## 项目结构
```
BIM-Bot/
├── revit-mcp-server/ # MCP 服务器(TypeScript/Node.js)
│ └── src/
│ ├── index.ts # 服务器入口点
│ ├── ai/
│ │ ├── gemini-service.ts
│ │ └── ollama-service.ts # 通过 Ollama 实现本地 AI
│ ├── auth/
│ │ └── google-oauth.ts
│ ├── integrations/ # 外部服务连接器
│ │ ├── sheets-client.ts
│ │ ├── excel-client.ts
│ │ ├── notion-client.ts
│ │ └── sqlite-client.ts
│ ├── tools/ # 179 个 MCP 工具(18 个文件)
│ │ ├── reading_tools.ts
│ │ ├── creating_tools.ts
│ │ ├── editing_tools.ts
│ │ ├── documentation_tools.ts
│ │ ├── qaqc_tools.ts
│ │ ├── ai_tools.ts
│ │ ├── advanced_tools.ts
│ │ ├── power_tools.ts
│ │ ├── drafting_tools.ts
│ │ ├── export_tools.ts
│ │ ├── extended_tools.ts
│ │ ├── file_management_tools.ts
│ │ ├── mep_tools.ts
│ │ ├── powerbi_tools.ts
│ │ ├── rendering_tools.ts
│ │ ├── settings_tools.ts
│ │ ├── sketch_tools.ts
│ │ └── transaction_tools.ts
│ └── utils/
│ ├── SocketClient.ts
│ └── ConnectionManager.ts
│
├── revit-mcp-plugin/ # Revit 插件(C# Add-in)
│ └── BIMBotPlugin/
│ ├── Core/ # 应用程序核心
│ │ ├── Application.cs
│ │ ├── CommandExecutor.cs
│ │ ├── SocketService.cs
│ │ ├── CodeExecutor.cs
│ │ ├── ToolRegistry.cs
│ │ ├── ExcelService.cs
│ │ ├── ProjectDataService.cs
│ │ └── ProjectFilesService.cs
│ ├── AI/ # AI 集成
│ │ ├── GeminiClient.cs
│ │ ├── ChatOrchestrator.cs
│ │ ├── GeminiCliClient.cs
│ │ └── GeminiCliOrchestrator.cs
│ ├── Antigravity/ # 内置 AI 聊天界面
│ │ ├── AntigravityWindow.cs
│ │ ├── AntigravityBridge.cs
│ │ └── AntigravityCommand.cs
│ ├── PowerBI/ # Power BI 3D 导出
│ │ ├── PowerBIExportContext.cs
│ │ └── PowerBISqliteWriter.cs
│ ├── UI/ # WPF 用户界面
│ │ ├── ChatWindow.cs
│ │ ├── SettingsWindow.cs
│ │ ├── Tools/ # 工具启动窗口
│ │ └── Themes/ # 黑色主题和图标
│ └── Commands/
│
├── revit-mcp-powerbi-visual/ # Power BI 自定义可视化
│ └── src/
│ ├── visual.ts # Three.js 3D 渲染器
│ ├── meshParser.ts # Revit 几何体解析器
│ └── settings.ts
│
├── installer/ # Inno Setup 安装程序
│ └── setup.iss
│
└── scripts/ # 实用脚本
├── antigravity-watcher.ps1
└── revit-cmd.ps1
```
## 工具参考
| 类别 | 数量 | 关键工具 |
|----------|-------|-----------|
| 读取 | 19 | `get_elements`, `get_current_view_info`, `get_parameters`, `get_rooms`, `get_linked_models` |
| 创建 | 15 | `create_wall`, `create_floor`, `create_roof`, `create_room`, `create_sheet` |
| 编辑 | 12 | `modify_parameter`, `move_element`, `rotate_element`, `copy_element`, `batch_modify` |
| 文档 | 8 | `create_sheet`, `place_viewport`, `export_dwg`, `add_revision` |
| 质量控制 | 8 | `audit_model`, `check_naming`, `find_duplicates`, `purge_unused` |
| AI | 8 | `ai_chat`, `ai_generate_code`, `ai_analyze_model`, `google_oauth` |
| 高级工具 | 29 | 批量操作、批量处理、先进的查询 |
| 导出 | 16 | DWG、PDF、IFC、NWC、图像、进度表 CSV/Excel |
| 扩展 | 16 | 附加元素操作和属性管理 |
| 文件管理 | 10 | 工作共享、链接、工作集、文件操作 |
| 机电 | 8 | 管道、管线、电缆托盘、配件、系统 |
| 设置 | 9 | 项目信息、单位、共享参数 |
| 事务 | 6 | 撤销/重做、事务组 |
| 高级 | 5 | 复杂自动化 |
| 绘图 | 3 | 详图线、构件、填充区域 |
| 渲染 | 3 | 材质、视觉样式 |
| 草图 | 3 | 模型线、参考平面 |
| Power BI | 1 | 3D 几何体导出 |
| BIM 仪表盘 | 3 | `generate_bim_dashboard`, `configure_bep_midp`, `validate_bep_compliance` |
## 构建安装程序
1. 在 Visual Studio 中编译 C# 插件
2. 下载 [便携式 Node.js](https://nodejs.org/en/download/) 到 `installer/nodejs/`
3. 安装 [Inno Setup](https://jrsoftware.org/isinfo.php)
4. 编译 `installer/setup.iss`
## 许可证
MIT