01Che cos’è
RevitCDE è un Common Data Environment per progetti Revit.
Collega le azioni degli utenti a oggetti concreti del modello.
Costruire un ciclo digitale verificabile.
02Per chi
RevitCDE copre diversi ruoli distinti.
Coordinatore BIM / Project manager
Vede lo stato di modello, approvazioni, documenti e attività.
Author (designer)
Lavora in Revit senza continui cambi di contesto.
Approver
Esamina le richieste in arrivo con snapshot e documenti.
Viewer
Accesso in lettura nell’ambito del progetto.
Estimator
Estimate database, line items, non-model costs.
Planning engineer
Schedule, activities, non-model time processes.
Administrator
Server, utenti, progetti, database e policy.
03Problemi che risolviamo
Divario tra Revit e processi gestionali
Approvazioni e attività vivono separatamente dal modello.
Il plugin acquisisce i dati del modello e collega le richieste agli oggetti.
Nessuna fonte unica autorevole
File, e-mail e fogli di calcolo divergono tra le versioni.
Una struttura CDE conserva progetti, documenti, versioni e cronologia.
Opaque approvals
Le decisioni si perdono e i percorsi sono informali.
ApprovalRequest, percorsi multistadio, eventi append-only e snapshot immutabili.
Stato del modello invisibile in Revit
Il progettista non vede cosa è approvato, in attesa o rifiutato.
Stati replicati in Shared Parameters ed Extensible Storage.
3D, 4D e 5D non collegati
Stima e programma funzionano separatamente; il lavoro non modellato esce dal radar.
estimate.db e schedule.db per progetto, con WorkPackage come hub 4D/5D.
Lavoro offline / locale senza server
I modelli scollegati richiedono archiviazione locale senza perdere il percorso verso il server.
Modalità locale in Extensible Storage, database esterno opzionale in file singolo, successiva migrazione al server.
04Come funziona
Tre livelli formano un unico ciclo dati.
- L’utente lavora in Revit. Il plugin legge elementi del modello, tavole, viste, abachi e stati.
- Il modello è associato a un progetto server. Il binding viene memorizzato nel modello RVT tramite Extensible Storage.
- Il plugin sincronizza con il server elementi di progetto, elementi del modello, modifiche, stati, richieste, attività, chat e documenti.
- Il server conserva i dati globali nel database principale e i dati tematici in database per progetto: model_{guid}.db, disciplines.db, estimate.db, schedule.db.
- L’area web espone progetti, documenti, approvazioni, attività, chat e amministrazione; gli aggiornamenti in tempo reale viaggiano tramite SignalR.
- Decisioni degli approvatori, modifiche di stato, documenti collegati e attività tornano in Revit e vengono mostrati nel plugin e nei parametri del modello.
In modalità collaborativa il server è la fonte autorevole; il modello conserva comunque il binding minimo e i dati locali, così il lavoro sopravvive ai riavvii di Revit e ai periodi offline.
05Cosa fa
Mappa funzionale in sintesi.
Progetti
Configurazione progetto, membri, ruoli, standard, discipline, fasi e pacchetti.
Model
RVT binding, sync, identifiers, fingerprint, statuses, dirty tracking.
Approvazioni
Richieste, percorsi, snapshot, decisioni, ritiro, registro e aggiornamenti in tempo reale.
Documents
Documenti CDE, versioni, upload/download, SHA-256, WIP→Shared→Published→Archived.
Attività
Kanban, Gantt, importance, statuses, assignees, task relations.
Communications
Chat di progetto, messaggi, reazioni, corrispondenza e integrazione e-mail.
Administration
Utenti, ruoli, parametri server, database, stato di salute e policy di autorizzazione.
4D/5D
Estimate, schedule, WorkPackage, quantity snapshots, EVM/CPM.
Lavoro locale
Extensible Storage, database locale esterno opzionale, migrazione al server.
Localisation
Localizzazione centralizzata dell’interfaccia, 22 lingue secondo la roadmap.
06Usage scenarios
Invio di una tavola o vista per approvazione
- Step 1
- Step 2
- Step 3
- Step 4
- Step 5
- Step 6
Un documento da WIP alla pubblicazione
- Step 1
- Step 2
- Step 3
- Step 4
- Step 5
Collegamento tra modello, stima e programma
- 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
Di seguito il livello tecnico per chi vuole vedere come è costruito RevitCDE.
08Solution composition
| Component | Scopo | Technology |
|---|---|---|
RevitCDE.Addin | Punto di ingresso dell’add-in Revit, associazione del modello e registrazione dei comandi. | C# /.NET Framework, Autodesk Revit API |
RevitCDE.UI | Pannelli desktop, comandi e interazione utente all’interno di Revit. | WPF / MVVM |
RevitCDE.Core | Servizi applicativi, sincronizzazione, archiviazione locale e comunicazione con il server. | C# services, HTTP clients, SQLite |
RevitCDE.Domain | Modelli di dominio condivisi, identificatori, stati e regole di business. | netstandard2.0 library |
RevitCDE.Server | API centrale, autenticazione, dati di progetto e servizi di integrazione. | ASP.NET Core 8, EF Core, PostgreSQL |
RevitCDE.Cabinet | Area web per progetti, documenti, approvazioni, attività, chat e amministrazione. | TypeScript / React web UI |
RevitCDE.Localization | Dizionari di traduzione centralizzati e cambio lingua per tutta l’interfaccia visibile. | JSON dictionaries, shared i18n keys |
09Modalità locale e server
RevitCDE supports two runtime modes.
Local mode
I dati risiedono nell’Extensible Storage del modello.
External local storage
Un file database separato per ogni modello RVT.
Server mode
I dati attivi risiedono sul server.
Regole di migrazione dalla modalità locale al server.
10Storage architecture
| Store | Cosa memorizza | Perché funziona in questo modo |
|---|---|---|
| Main server DB | Utenti, organizzazioni, progetti, ruoli, impostazioni globali e dati di licenza. | Mantiene i dati trasversali ai progetti in un unico database server autorevole. |
| model_{guid}.db | Elementi del modello, tavole, viste, abachi, quantità e binding a livello di modello. | I grandi volumi di dati del modello sono isolati per ogni RVT per prestazioni e manutenzione. |
| disciplines.db | Discipline, fasi, pacchetti e struttura documentale specifica dello standard di progetto. | Gli standard di progetto possono evolvere senza modificare lo schema globale. |
| estimate.db | Documenti di stima, voci, costi non modellati, collegamenti alle quantità e binding ai WorkPackage. | I dati di costo hanno un proprio ciclo di vita e devono includere voci non presenti nel modello. |
| schedule.db | Attività di programma, dipendenze, processi temporali non modellati e collegamenti ai WorkPackage. | I dati di pianificazione richiedono logica CPM/Gantt e possono riferirsi sia al modello sia ai dati di stima. |
| Extensible Storage | Binding minimo del modello, identificatori tecnici e dati locali di fallback dentro l’RVT. | Il modello resta autoidentificabile anche fuori dall’ambiente server. |
| External local DB | Database locale opzionale in file singolo per chat, approvazioni, documenti, attività e altri dati locali. | I modelli scollegati/locali possono conservare dati più ricchi senza appesantire Extensible Storage. |
11Sicurezza e accesso
La sicurezza si basa su appartenenza, ruoli, JWT e modalità di fiducia.
12Approvazioni — come funzionano internamente
Un processo formalizzato e riproducibile.
Invia per approvazione
Crea una richiesta di approvazione per la revisione del modello o il pacchetto documentale selezionato.
Immutable snapshot
Registra lo stato esatto del modello e dei documenti sottoposti a revisione, così la decisione resta riproducibile.
Approval routes
Definisce passaggi di revisione ordinati o paralleli, partecipanti responsabili e decisioni richieste.
Recorded decisions
Memorizza approvazioni, rifiuti, restituzioni e commenti insieme ad autore e timestamp.
Cronologia degli eventi
Mantiene una timeline append-only di invii, assegnazioni, decisioni e modifiche di stato.
Sincronizzazione dello stato
Riporta lo stato di approvazione confermato negli oggetti di progetto e nel workflow Revit collegato.
Real-time updates
Pubblica le modifiche alle approvazioni sui client connessi senza richiedere l’aggiornamento manuale della pagina.
13WorkPackage — l’hub 4D/5D
L’oggetto centrale che collega modello, quantità, stima, programma e avanzamento.
ModelElement |
Collega il pacchetto di lavoro agli elementi BIM e ai relativi identificatori stabili. |
QuantityItem |
Memorizza le quantità misurate e la fonte da cui è stata ottenuta ciascuna quantità. |
EstimateItem |
Collega le quantità alle voci di stima, ai prezzi unitari e al costo calcolato. |
WorkPackage |
Funge da oggetto centrale che unisce ambito, modello, costo, programma, responsabilità ed evidenze. |
ScheduleActivity |
Collega il pacchetto di lavoro ad attività pianificate, date, dipendenze e dati del percorso critico. |
ProgressSnapshot |
Memorizza avanzamento effettivo, indicatori earned value e dati del periodo di rendicontazione. |
I database di progetto sono suddivisi per area funzionale.
14Standards, disciplines, stages, packages
Lo standard di progetto determina i formati di documentazione, stima e programma.
ProjectStandard
Definisce le regole attive del progetto, le convenzioni di denominazione e la struttura informativa richiesta.
Discipline
Mantiene il catalogo delle discipline del progetto e le responsabilità specifiche per disciplina.
PackageType
Definisce strutture di pacchetto riutilizzabili per progettazione, approvvigionamento e costruzione.
ProjectStage
Controlla le fasi del progetto, le transizioni tra fasi e i dati attesi in ciascuna fase.
ProjectRole
Definisce responsabilità, permessi e autorità di approvazione all’interno del progetto.
StandardPreset
Applica un insieme riutilizzabile di standard, discipline, fasi, ruoli e tipi di pacchetto.
15REST API — primary groups
REST API per area funzionale, autenticata tramite JWT.
-
`/api/auth/*`· Autenticazione, sessioni account, recupero password e token di accesso. -
`/api/approvals/*`· Richieste di approvazione, percorsi, decisioni, commenti e modifiche di stato. -
`/api/cde/*`· Progetti, modelli, documenti, problemi e dati di progetto condivisi. -
`/api/chats/*`· Conversazioni di progetto, partecipanti, messaggi e allegati. -
`/api/tasks/*`· Attività, assegnatari, scadenze, priorità e stati di completamento. -
`/api/standards/*`· Standard di progetto, discipline, fasi, ruoli e preset dei pacchetti. -
`/api/45d/*`· Pacchetti di lavoro, quantità, stime, attività di programma e avanzamento. -
`/api/admin/*`· Amministrazione, configurazione, diagnostica e operazioni di manutenzione controllate.
16Glossary
CDE- Common Data Environment — spazio controllato per informazioni, comunicazioni e decisioni di progetto.
Extensible Storage- Meccanismo Revit per memorizzare dati applicativi strutturati all’interno di un modello.
Shared Parameters- Parametri Revit condivisi tra progetti e famiglie tramite un file comune di definizioni.
ProjectElement- Record lato progetto che rappresenta un elemento BIM al di fuori del documento Revit.
ModelElement- Riferimento stabile a un elemento in uno specifico modello e in una specifica revisione.
Snapshot- Record immutabile dello stato esatto dei dati di progetto usato per revisione o approvazione.
ApprovalRequest- Richiesta formale che invia un ambito definito attraverso un percorso di approvazione.
WorkPackage- Oggetto centrale 4D/5D che unisce ambito, quantità, costo, programma e responsabilità.
EVM- Earned Value Management — misurazione dell’avanzamento tramite valore pianificato, valore maturato e costo effettivo.
CPM- Critical Path Method — analisi del programma basata sulle dipendenze tra attività e sul float disponibile.
17Cosa è in arrivo
L’implementazione attuale dispone di un nucleo funzionante; di seguito ciò che svilupperemo ulteriormente.
Expanded localisation
Revisione completa della terminologia e formulazioni specifiche del dominio per ogni lingua supportata.
Document workflows
Registri documentali versionati, transmittal, pacchetti di revisione e catene di evidenze.
Deeper 4D/5D
Pianificazione più dettagliata dei pacchetti di lavoro, controllo costi, previsione dell’avanzamento e analisi earned value.
BCF interoperability
Scambio di issue e punti di vista con altre applicazioni BIM tramite lo standard BCF.
Coordinamento dei modelli collegati
Coordina modelli collegati, proprietà, revisioni e dipendenze tra modelli.
Observability
Dashboard operative, metriche di audit, diagnostica e monitoraggio dello stato dei servizi.