Torna al blog BIM e IFC
Validazione · 2026-06-03 · 12 min
Come validare un file IFC prima di inviarlo (gratis, senza upload)
Il tuo BEP dice "consegna un IFC di qualità" ma non definisce mai come verificarlo. Ecco i tre modi reali per validare un file IFC — il servizio buildingSMART, IfcOpenShell e un controllo di salute nel browser — cosa intercetta davvero ciascuno, e la checklist pre-invio che evita il rifiuto dei modelli alla CDE.
Come validare un file IFC prima di inviarlo (gratis, senza upload) — IFC Viewer Online article cover
Quasi tutti esportano un IFC e lo inviano. Quasi nessuno lo controlla prima — non perché non gliene importi, ma perché "validare l'IFC" è genuinamente ambiguo. Validare rispetto a cosa? Lo schema? I requisiti di progetto? Se si aprirà nello strumento del coordinatore? Sono tre domande diverse con tre strumenti diversi, e confonderle è il motivo per cui così tanti modelli vengono rifiutati al Common Data Environment.
Questa è la mappa pratica: cosa significa "valido", i tre modi per controllarlo, cosa intercetta e cosa non intercetta ciascuno, e la checklist da eseguire nei dieci minuti prima di premere invio.
La risposta in 60 secondi
Se ti serve solo controllare il modello prima di una scadenza, questo è l'intero flusso di lavoro:
- Esporta in una cartella locale Mai direttamente alla CDE[iso19650].
- Apri il file in un validatore da browser Analizza localmente, quindi non viene caricato nulla.
- Leggi l'Health Score, poi ordina per gravità Gravità, non conteggio: un problema critico conta più di molti problemi minori.
- Correggi le cause nello strumento di authoring e ri-esporta Revit, ArchiCAD, Tekla — ovunque sia stato costruito il modello.
Non modificare mai il testo dell'IFC a mano: rompe regolarmente GUID e riferimenti in modi molto più difficili da individuare del problema originale.
- Ricontrolla, poi carica con il punteggio Conferma un Health Score di 80 o superiore e registralo sul transmittal.
Il resto di questo articolo spiega perché ogni passaggio è lì, e quale strumento usare quando la strada veloce non basta.
Cosa significa davvero "valido"
Ci sono due livelli, e sono indipendenti. Un file può superarne uno e fallire l'altro.
Validità dello schema
Il file è conforme allo standard IFC (sintassi ISO 10303-21, schema IFC, regole MVD)? Un file può essere valido secondo lo schema ed essere comunque inutilizzabile per il coordinamento.
Salute pratica
Funzionerà davvero a valle? GUID stabili, gerarchia spaziale corretta, elementi con nome, coordinate sensate, set di proprietà presenti. È questo che fa rifiutare i modelli — e non è ciò che misurano i controlli di schema.
C'è un terzo livello sopra questi due: controllare il modello rispetto ai requisiti informativi del tuo progetto con buildingSMART IDS[ids]. Questo appartiene all'EIR piuttosto che al file stesso, e ha una sua guida dedicata — vedi Model checker IFC: schema, qualità e IDS. Questo articolo resta sui due livelli che devi superare prima di qualsiasi consegna.
Opzione 1: il buildingSMART Validation Service
Il servizio ufficiale, gratuito e basato sul web di buildingSMART International[bsi-validate]. Giudica la conformità rispetto allo standard IFC[ifc-schema]: sintassi STEP, conformità allo schema, regole normative e allineamento al buildingSMART Data Dictionary. Produce un report autorevole di pass/fail — è il riferimento per la correttezza dello schema.
- Ideale per: certificare che un file sia conforme allo standard IFC, specialmente per dichiarazioni formali o contrattuali di conformità allo schema.
- Cosa non fa: non è un punteggio pratico del tipo "è abbastanza buono da coordinare", e devi caricare il file su un servizio — impraticabile per dati di progetto riservati che non puoi inviare a terzi.
Opzione 2: IfcOpenShell (per sviluppatori)
Se scrivi in Python, IfcOpenShell[ifcopenshell] valida da riga di comando: python -m ifcopenshell.validate model.ifc. È scriptabile, gratuito, gira in locale, e si integra nelle pipeline CI per i team che automatizzano il QA.
# Validate an IFC file locally with IfcOpenShell
python -m ifcopenshell.validate path/to/model.ifc
# Pipe the results into your own pre-delivery checks
python validate_and_score.py model.ifc
- Ideale per: sviluppatori e team di automazione BIM che vogliono la validazione dentro uno script o una pipeline di build.
- Cosa non fa: non c'è vista 3D né un report con un clic — un coordinatore che vuole solo sapere se il modello va bene non installerà Python per questo.
Opzione 3: un controllo di salute nel browser (30 secondi)
Trascina l'IFC nel visualizzatore. Analizza lato client tramite WebAssembly — non viene caricato nulla — esegue 44 regole pratiche di validazione in un thread in background, e restituisce un unico Health Score da 0 a 100 più un dettaglio per ogni problema che puoi vedere sul modello 3D. È il livello che gli altri due non coprono: un giudizio veloce, privato e pratico su se il modello è pronto per essere inviato.
Valida un modello dal vivo
Apri il duplex di buildingSMART per vedere un Health Score e un report puliti, poi trascina la tua esportazione per controllarla prima della consegna. Il tuo file non lascia mai la tua macchina.
IFC2x3 · 2.4 MB
Apri il visualizzatore IFC interattivo
Cosa intercetta davvero ciascuno strumento
Le tre opzioni non sono risposte in competizione alla stessa domanda — coprono errori diversi. Ecco il quadro onesto:
| Controllo | Servizio buildingSMART | IfcOpenShell | Controllo di salute nel browser |
|---|
| Conformità STEP / schema | Sì — autorevole | Sì | Solo integrità di base |
| Regole normative e bSDD | Sì | Parziale | No |
| GlobalId duplicati o malformati | Parziale | Parziale | Sì |
| Gerarchia spaziale ed elementi orfani | No | Parziale | Sì |
| Coordinate lontane dall'origine | No | No | Sì |
| Set di proprietà e nomi mancanti | No | No | Sì |
| Punteggio unico di consegnabilità | No | No | Sì — Health Score 0–100 |
| Problemi navigabili sul modello 3D | No | No | Sì |
| Funziona senza caricare il file | No | Sì | Sì |
| Scriptabile in CI | Tramite API | Sì | No |
Copertura ad agosto 2026. "Parziale" significa che il problema è rilevabile ma non viene segnalato come issue nominata e attuabile.
Quale usare, e quando
Usa il controllo di salute nel browser quando…
- Vuoi sapere se un modello è pronto per essere inviato, subito
- Il file è riservato e non può essere caricato da nessuna parte
- Ti serve un numero da mettere in un transmittal o nel BEP
- Vuoi vedere i problemi sul modello 3D, non solo in un log
- Sei un coordinatore, non uno sviluppatore
Usa buildingSMART / IfcOpenShell quando…
- Ti serve una certificazione autorevole di conformità allo schema
- Stai automatizzando il QA dentro una pipeline CI (IfcOpenShell)
- Scrivi in Python e vuoi controlli scriptabili
- Un contratto richiede una dichiarazione formale di conformità allo standard
- Ti serve nello specifico la conformità MVD / bSDD
La checklist pratica pre-invio
Qualunque strumento tu usi, queste sono le cose che fanno davvero rifiutare i modelli. Ognuna corrisponde a una regola di validazione con una guida passo-passo alla correzione:
- Nessun GlobalId duplicato o fuori intervallo.
- Ogni elemento fisico si trova dentro un piano, non direttamente sotto Site o Building.
- Esattamente un IfcProject alla radice, con una gerarchia spaziale completa.
- Nessun elemento orfano e nessun aggregato interrotto.
- Le coordinate sono sensate — il modello è vicino all'origine del mondo, non a chilometri di distanza.
- I set di proprietà standard sono presenti; gli elementi hanno un nome.
- Health Score ≥ 80 prima di qualsiasi caricamento sulla CDE.
Quando il punteggio torna basso
Un punteggio basso raramente è un verdetto sul modello — è un indizio sulle impostazioni di esportazione. Quasi ogni fallimento risale a una delle cinque cause abituali, e ognuna si corregge nello strumento di authoring, non nell'IFC:
| Cosa dice il report | Causa abituale | Dove correggerla |
|---|
| I GlobalId sono cambiati dall'ultima revisione | L'esportazione rigenera i GUID invece di mantenerli | Impostazioni di esportazione dello strumento di authoring |
| Elementi fuori da qualsiasi piano | Livelli non contrassegnati come "Building Story" in esportazione | Impostazioni dei livelli in Revit |
| Modello lontano dall'origine | Esportato in coordinate di rilievo invece che in coordinate condivise/di progetto | Configurazione delle coordinate prima dell'esportazione |
| Quota elevata di IfcBuildingElementProxy | Famiglie senza mappatura a una classe IFC | Tabella di mappatura dell'esportazione IFC |
| Set di proprietà mancanti | Esportazione dei Pset disabilitata, o parametri mai mappati | Configurazione dell'esportazione |
Ognuna di queste ha una propria guida dettagliata: Perché i GUID IFC cambiano a ogni esportazione, Perché la tua esportazione IFC da Revit si rompe, Le coordinate IFC sono sbagliate e Proprietà IFC mancanti dopo l'esportazione.
Trasformare il controllo in una regola
Un controllo che dipende dal fatto che qualcuno si ricordi di eseguirlo non è un processo di qualità. Metti la soglia nel BEP, e allega le prove alla consegna:
| Fase di consegna | Health Score minimo | Prove da allegare |
|---|
| Revisione interna in fase di concept | 70 | Solo punteggio |
| Giro di coordinamento / caricamento sulla CDE | 80 | Punteggio + report dei problemi |
| Milestone ISO 19650, LOD 300+ | 90 | Punteggio + report dei problemi + registro dei problemi risolti |
Una volta concordata la soglia, il resto è ripetizione: esporta in locale, valida, correggi la causa, ri-esporta, consegna con il punteggio allegato. Per il quadro più ampio di cosa significhi qualità in un intero progetto, vedi La guida completa alla qualità IFC.
Riferimenti
- ISO 19650-2: fase di consegna degli asset — ISO. Definisce il flusso di lavoro della CDE e quando un information container può essere condiviso — il motivo per cui un controllo va fatto PRIMA del caricamento.
- IFC Validation Service — buildingSMART International. Il verificatore di conformità ufficiale: schema, regole normative e bSDD. Richiede il caricamento del file.
- Documentazione IFC 4.3 — buildingSMART International. Lo standard stesso — definizioni delle entità e le regole che un file conforme deve seguire.
- IfcOpenShell — Open-source toolkit. Libreria IFC per Python/C++; il suo modulo validate controlla la conformità allo schema localmente e in CI.
- Model checker IFC: schema, qualità e IDS. Come i requisiti di progetto (IDS) si collocano sopra i controlli di schema e qualità.
Come validare un file IFC prima di inviarlo (gratis, senza upload)