01What this is
RevitCDE is a Common Data Environment for Revit projects.
It binds user actions to concrete model objects.
Build an auditable digital loop.
02For whom
RevitCDE addresses several distinct roles.
BIM coordinator / Project manager
Sees the state of model, approvals, documents and tasks.
Author (designer)
Works in Revit without constant context switching.
Approver
Reviews incoming requests with snapshot and documents.
Viewer
Read access within project scope.
Estimator
Estimate database, line items, non-model costs.
Planning engineer
Schedule, activities, non-model time processes.
Administrator
Server, users, projects, databases, policies.
03Problems we solve
Gap between Revit and management processes
Approvals and tasks live separately from the model.
The plugin captures model data and links requests to objects.
No single source of truth
Files, e-mail and spreadsheets drift apart in versions.
A CDE structure stores projects, documents, versions and history.
Opaque approvals
Decisions get lost and routes are informal.
ApprovalRequest, multi-stage routes, append-only events, immutable snapshots.
Model status invisible in Revit
The designer does not see what is approved, pending or rejected.
Statuses mirrored into Shared Parameters and Extensible Storage.
3D, 4D and 5D not connected
Estimate and schedule run separately; non-model work drops off the radar.
Per-project estimate.db and schedule.db, WorkPackage as the 4D/5D hub.
Offline / local work without a server
Detached models need local storage without losing the path to a server.
Local mode in Extensible Storage, optional external single-file DB, later migration to server.
04How it works
Three layers form a single data loop.
- The user works in Revit. The plugin reads model elements, sheets, views, schedules and statuses.
- The model is bound to a server project. The binding is stored inside the RVT model via Extensible Storage.
- The plugin syncs project elements, model elements, changes, statuses, requests, tasks, chats and documents with the server.
- The server keeps global data in the main database and subject data in per-project bases: model_{guid}.db, disciplines.db, estimate.db, schedule.db.
- The web cabinet exposes projects, documents, approvals, tasks, chats and administration; realtime updates flow over SignalR.
- Approver decisions, status changes, linked documents and tasks return to Revit and surface in the plugin and model parameters.
The server is the source of truth for collaborative mode; the model still keeps the minimum binding and local data so work survives Revit restarts and offline windows.
05What it does
The functional map at a glance.
Projects
Project setup, members, roles, standards, disciplines, stages, packages.
Model
RVT binding, sync, identifiers, fingerprint, statuses, dirty tracking.
Approvals
Requests, routes, snapshots, decisions, withdrawal, journal, realtime.
Documents
CDE documents, versions, upload/download, SHA-256, WIP→Shared→Published→Archived.
Tasks
Kanban, Gantt, importance, statuses, assignees, task relations.
Communications
Project chats, messages, reactions, correspondence, e-mail integration.
Administration
Users, roles, server parameters, databases, health, authorisation policies.
4D/5D
Estimate, schedule, WorkPackage, quantity snapshots, EVM/CPM.
Local work
Extensible Storage, optional external local DB, migration to server.
Localisation
Centralised UI localisation, 22 languages by roadmap.
06Usage scenarios
Submitting a sheet or view for approval
- Step 1
- Step 2
- Step 3
- Step 4
- Step 5
- Step 6
A document from WIP to publication
- Step 1
- Step 2
- Step 3
- Step 4
- Step 5
Linking model, estimate and schedule
- Step 1
- Step 2
- Step 3
- Step 4
- Step 5
07Frequently asked questions
Question 1
Answer 1
Question 2
Answer 2
Question 3
Answer 3
Question 4
Answer 4
Question 5
Answer 5
Question 6
Answer 6
Question 7
Answer 7
Question 8
Answer 8
Question 9
Answer 9
Question 10
Answer 10
Below is the technical layer for readers who want to see how RevitCDE is built.
08Solution composition
| Component | Purpose | Technology |
|---|---|---|
RevitCDE.Addin | ||
RevitCDE.UI | ||
RevitCDE.Core | ||
RevitCDE.Domain | ||
RevitCDE.Server | ||
RevitCDE.Cabinet | ||
RevitCDE.Localization |
09Local and server modes
RevitCDE supports two runtime modes.
Local mode
Data lives in the model's Extensible Storage.
External local storage
A separate database file per RVT model.
Server mode
Active data lives on the server.
Migration rules from local to server.
10Storage architecture
| Store | What it stores | Why it works this way |
|---|---|---|
| Main server DB | ||
model_{guid}.db | ||
disciplines.db | ||
estimate.db | ||
schedule.db | ||
| Extensible Storage | ||
| External local DB |
11Security and access
Security is built around membership, roles, JWT and trust modes.
12Approvals — under the hood
A formalised, reproducible process.
13WorkPackage — the 4D/5D hub
The central object linking model, quantities, estimate, schedule and progress.
|
|
|
|
|
|
|
|
|
|
|
Project databases are split by subject area.
14Standards, disciplines, stages, packages
Project standard drives documentation, estimate and schedule formats.
15REST API — primary groups
REST API by subject area, JWT-authenticated.
-
· -
· -
· -
· -
· -
· -
· -
·
16Glossary
17What's on the way
The current implementation has a working core; below is what we're growing next.