01这是什么
RevitCDE 是面向 Revit 项目的公共数据环境。
它把用户操作与具体模型对象关联起来。
构建可审计的数字化闭环。
02适用对象
RevitCDE 面向多种不同角色。
BIM 协调员 / 项目经理
查看模型、审批、文档和任务的当前状态。
作者(设计人员)
无需频繁切换上下文即可在 Revit 中工作。
审批人
结合快照和文档审查收到的请求。
查看者
项目范围内的只读访问权限。
造价工程师
估算数据库、条目和非模型成本。
计划工程师
进度计划、活动以及非模型时间过程。
管理员
服务器、用户、项目、数据库和策略。
03我们解决的问题
Revit 与管理流程之间存在断层
审批和任务脱离模型单独存在。
插件采集模型数据,并将请求关联到具体对象。
缺少唯一可信数据源
文件、电子邮件和电子表格的版本逐渐不一致。
CDE 结构集中保存项目、文档、版本和历史记录。
审批过程不透明
决定容易丢失,流程缺乏正式规范。
ApprovalRequest、多阶段流程、仅追加事件和不可变快照。
Revit 中无法看到模型状态
设计人员看不到哪些内容已批准、待处理或已拒绝。
状态同步写入 Shared Parameters 和 Extensible Storage。
3D、4D 与 5D 相互割裂
估算与进度计划彼此独立,非模型工作容易被遗漏。
每个项目使用独立的 estimate.db 和 schedule.db,并以 WorkPackage 作为 4D/5D 枢纽。
无服务器的离线/本地工作
独立模型需要本地存储,同时不能失去迁移到服务器的路径。
在 Extensible Storage 中提供本地模式,可选外部单文件数据库,并可在之后迁移到服务器。
04工作原理
三个层级构成一个统一的数据闭环。
- 用户在 Revit 中工作。插件读取模型元素、图纸、视图、明细表和状态。
- 模型绑定到服务器项目。绑定信息通过 Extensible Storage 保存在 RVT 模型内部。
- 插件将项目元素、模型元素、变更、状态、请求、任务、聊天和文档与服务器同步。
- 服务器在主数据库中保存全局数据,并在每个项目的专用数据库中保存业务数据:model_{guid}.db、disciplines.db、estimate.db、schedule.db。
- Web 工作台提供项目、文档、审批、任务、聊天和管理功能;实时更新通过 SignalR 传输。
- 审批人的决定、状态变更、关联文档和任务会返回 Revit,并显示在插件和模型参数中。
在协作模式下,服务器是唯一可信数据源;模型仍保留最小绑定信息和本地数据,以确保 Revit 重启或离线期间工作不丢失。
05作用
功能全景一览。
项目
项目设置、成员、角色、标准、专业、阶段和工作包。
模型
RVT 绑定、同步、标识符、指纹、状态以及变更跟踪。
审批
请求、流程、快照、决定、撤回、日志和实时更新。
文档
CDE 文档、版本、上传/下载、SHA-256,以及 WIP→Shared→Published→Archived 生命周期。
任务
看板、甘特图、重要性、状态、负责人以及任务关系。
通信
项目聊天、消息、回应、往来记录以及电子邮件集成。
管理
用户、角色、服务器参数、数据库、运行状态和授权策略。
4D/5D
估算、进度计划、WorkPackage、工程量快照以及 EVM/CPM。
本地工作
Extensible Storage、可选的外部本地数据库以及向服务器迁移。
本地化
集中式界面本地化;路线图规划支持 22 种语言。
06使用场景
提交图纸或视图进行审批
- 步骤 1
- 步骤 2
- 步骤 3
- 步骤 4
- 步骤 5
- 步骤 6
文档从 WIP 到发布
- 步骤 1
- 步骤 2
- 步骤 3
- 步骤 4
- 步骤 5
关联模型、估算和进度计划
- 步骤 1
- 步骤 2
- 步骤 3
- 步骤 4
- 步骤 5
07常见问题
问题 1
回答 1
问题 2
回答 2
问题 3
回答 3
问题 4
回答 4
问题 5
回答 5
问题 6
回答 6
问题 7
回答 7
问题 8
回答 8
问题 9
回答 9
问题 10
回答 10
以下内容面向希望了解 RevitCDE 技术架构的读者。
08解决方案组成
| 组件 | 用途 | 技术 |
|---|---|---|
RevitCDE.Addin | Revit 加载项入口、模型绑定和命令注册。 | C# /.NET Framework, Autodesk Revit API |
RevitCDE.UI | Revit 内的桌面面板、命令和用户交互。 | WPF / MVVM |
RevitCDE.Core | 应用服务、同步、本地存储以及与服务器通信。 | C# 服务、HTTP 客户端、SQLite |
RevitCDE.Domain | 共享的领域模型、标识符、状态和业务规则。 | netstandard2.0 库 |
RevitCDE.Server | 中央 API、身份验证、项目数据和集成服务。 | ASP.NET Core 8, EF Core, PostgreSQL |
RevitCDE.Cabinet | 用于项目、文档、审批、任务、聊天和管理的 Web 工作台。 | TypeScript / React web UI |
RevitCDE.Localization | 面向全部可见界面的集中式翻译词典和语言切换。 | JSON 词典、共享 i18n 键 |
09本地模式与服务器模式
RevitCDE 支持两种运行模式。
本地模式
数据保存在模型的 Extensible Storage 中。
外部本地存储
每个 RVT 模型使用一个独立的数据库文件。
服务器模式
活动数据保存在服务器上。
从本地模式迁移到服务器模式的规则。
10存储架构
| 存储 | 存储内容 | 采用此结构的原因 |
|---|---|---|
| 服务器主数据库 | 用户、组织、项目、角色、全局设置和许可证数据。 | 将跨项目数据统一保存在权威服务器数据库中。 |
| model_{guid}.db | 模型元素、图纸、视图、明细表、工程量以及模型级绑定。 | 为提高性能和便于维护,大型模型数据按 RVT 模型隔离。 |
| disciplines.db | 项目专业、阶段、工作包以及符合项目标准的文档结构。 | 项目标准可以演进,而无需修改全局数据库结构。 |
| estimate.db | 估算文档、条目、非模型成本、工程量关联和 WorkPackage 绑定。 | 成本数据具有独立生命周期,并且必须包含模型中不存在的条目。 |
| schedule.db | 进度活动、依赖关系、非模型时间过程以及 WorkPackage 关联。 | 计划数据需要 CPM/甘特图逻辑,并可能同时引用模型和估算数据。 |
| Extensible Storage | RVT 内部的最小模型绑定、技术标识符和本地后备数据。 | 即使离开服务器环境,模型仍能识别自身身份。 |
| 外部本地数据库 | 可选的单文件本地数据库,用于聊天、审批、文档、任务和其他本地数据。 | 独立/本地模型可以保存更丰富的数据,同时避免 Extensible Storage 过度膨胀。 |
11安全与访问
安全体系基于项目成员、角色、JWT 和信任模式构建。
12审批流程的内部机制
规范且可复现的流程。
提交审批
为所选模型修订版或文档包创建审批请求。
不可变快照
记录正在审查的模型和文档的精确状态,使决定能够复现。
审批流程
定义顺序或并行的审查步骤、责任参与者以及必需的决定。
已记录的决定
保存批准、拒绝、退回和评论,并记录作者与时间戳。
事件历史
以仅追加方式保存提交、分配、决定和状态变更的时间线。
状态同步
将已确认的审批状态回写到项目对象以及关联的 Revit 工作流。
实时更新
将审批变更实时推送给已连接的客户端,无需手动刷新页面。
13WorkPackage — 4D/5D 枢纽
连接模型、工程量、估算、进度计划和实际进展的核心对象。
ModelElement |
将工作包与 BIM 元素及其稳定标识符关联。 |
QuantityItem |
保存测量工程量以及每个数值的来源。 |
EstimateItem |
将工程量与估算条目、单价和计算成本关联。 |
WorkPackage |
作为核心对象,将工作范围、模型、成本、进度、责任和证据连接起来。 |
ScheduleActivity |
将工作包与计划活动、日期、依赖关系和关键路径数据关联。 |
ProgressSnapshot |
保存实际进展、挣值指标以及报告期事实数据。 |
项目数据库按业务领域拆分。
14标准、专业、阶段与工作包
项目标准决定文档、估算和进度计划的格式。
ProjectStandard
定义当前项目规则、命名约定和必需的信息结构。
专业
维护项目专业目录以及各专业的责任划分。
PackageType
定义可复用的设计、采购和施工工作包结构。
ProjectStage
管理项目阶段、阶段转换以及各阶段所需的数据。
ProjectRole
定义项目中的责任、权限和审批授权。
StandardPreset
应用一组可复用的标准、专业、阶段、角色和工作包类型。
15REST API — 主要分组
按业务领域划分并使用 JWT 身份验证的 REST API。
-
`/api/auth/*`· 身份验证、账户会话、密码恢复和访问令牌。 -
`/api/approvals/*`· 审批请求、流程、决定、评论和状态变更。 -
`/api/cde/*`· 项目、模型、文档、问题以及共享项目数据。 -
`/api/chats/*`· 项目会话、参与者、消息和附件。 -
`/api/tasks/*`· 任务、负责人、截止日期、优先级和完成状态。 -
`/api/standards/*`· 项目标准、专业、阶段、角色和工作包预设。 -
`/api/45d/*`· 工作包、工程量、估算、进度活动和实际进展。 -
`/api/admin/*`· 管理、配置、诊断以及受控的维护操作。
16术语表
CDE- 公共数据环境(CDE)——用于管理项目信息、沟通和决定的受控空间。
Extensible Storage- Revit 用于在模型内部存储结构化应用数据的机制。
Shared Parameters- 通过统一定义文件在项目和族之间共享的 Revit 参数。
ProjectElement- 项目侧的记录,用于在 Revit 文档之外表示 BIM 元素。
ModelElement- 指向特定模型及其修订版中某个元素的稳定引用。
Snapshot- 用于审查或审批的精确项目数据状态的不可变记录。
ApprovalRequest- 一种正式请求,用于将指定范围沿审批流程提交审查。
WorkPackage- 连接工作范围、工程量、成本、进度和责任的核心 4D/5D 对象。
EVM- 挣值管理(EVM)——通过计划价值、挣值和实际成本衡量进展。
CPM- 关键路径法(CPM)——基于活动依赖关系和可用时差进行进度分析。
17后续规划
当前实现已具备可用核心;以下是下一阶段的扩展方向。
扩展本地化
为每种受支持语言完成术语审校和专业领域表述。
文档工作流
带版本的文档登记、移交、审查包和证据链。
深化 4D/5D
更细致的工作包计划、成本控制、进展预测和挣值分析。
BCF 互操作性
通过 BCF 标准与其他 BIM 应用交换问题和视点。
链接模型协调
协调链接模型、所有权、修订版以及跨模型依赖关系。
可观测性
运行仪表板、审计指标、诊断以及服务健康监控。