Information Delivery Specification (IDS)
Padrão aberto buildingSMART — define, de forma legível por máquina, quais informações são obrigatórias em um modelo IFC, tornando os requisitos do EIR verificáveis automaticamente.
Sumário
- O que é o IDS
- Relação com o IFC e o BEP
- Estrutura do arquivo IDS
- Facets — os tipos de requisito
- Applicability vs Requirements
- Exemplos práticos
- Fluxo de uso do IDS
- Ferramentas do ecossistema
- Glossário
- Referências
O que é o IDS
O IDS (Information Delivery Specification) é um padrão aberto desenvolvido pela buildingSMART International que define, de forma legível por máquina, quais informações são necessárias em um modelo BIM.1
O IDS especifica entidades IFC, atributos, propriedades, materiais, classificações e relacionamentos que os elementos do modelo devem conter — permitindo a verificação automática de conformidade por ferramentas de validação.
| Atributo | Valor |
|---|---|
| Desenvolvido por | buildingSMART International |
| Formato de arquivo | XML com extensão .ids |
| Schema de validação | XSD público no GitHub buildingSMART |
| Versão atual | IDS 1.0 |
| Norma relacionada | ISO 21597 (IDM) |
| Repositório oficial | github.com/buildingSMART/IDS |
Padrão aberto
O schema XSD e a documentação do IDS são publicados gratuitamente no GitHub da buildingSMART. A implementação é livre em qualquer software ou workflow, sem licenciamento.1
Relação com o IFC e o BEP
O IDS não substitui o IFC — é complementar a ele. Enquanto o IFC é o formato de dados do modelo, o IDS especifica os requisitos que esse modelo deve atender.2
flowchart LR
EIR["EIR\nEmployer's Information\nRequirements"]
BEP["BEP\nBIM Execution Plan"]
IDS["IDS\nInformation Delivery\nSpecification\n(.ids)"]
IFC["IFC\nModelo BIM\n(.ifc)"]
VAL["Ferramenta de\nValidação"]
REL["Relatório\nPass ✓ / Fail ✗"]
EIR -->|"fundamenta"| BEP
EIR -->|"gera"| IDS
BEP -->|"referencia"| IDS
IFC -->|"verificado contra"| VAL
IDS -->|"define requisitos para"| VAL
VAL -->|"gera"| REL
IDS vs MVD
| Característica | MVD | IDS |
|---|---|---|
| O que define | Subconjunto do schema IFC para um uso | Requisitos específicos de um projeto/fase |
| Pergunta que responde | O que pode existir no IFC? | O que deve existir no modelo? |
| Escopo | Intercâmbio entre sistemas | Conformidade de entregáveis |
| Formato | XML (mvdXML) | XML (.ids) |
| Público-alvo | Desenvolvedores de software | Profissionais de projeto e gestão BIM |
| Relação | Complementares — não se excluem | Complementares — não se excluem |
Estrutura do arquivo IDS
Um arquivo .ids é um documento XML com estrutura hierárquica bem definida.3
graph TD
A["<ids>\nRaiz do documento"]
B["<info>\nMetadados"]
C["<specifications>\nLista de regras"]
D["<specification>\nRegra individual *"]
E["<applicability>\nFiltro — a quem se aplica"]
F["<requirements>\nExigências — o que é obrigado"]
G["facets de filtro\n(Entity, Attribute,\n Property, Material, \nClassification, PartOf)"]
H["facets de requisito\n(Entity, Attribute,\n Property, Material, \nClassification, PartOf)"]
A --> B
A --> C
C --> D
D --> E
D --> F
E --> G
F --> H
style D fill:#697282,stroke:#f0b429,color:#f0b429
style G fill:#5b6b82,stroke:#4da6ff,color:#4da6ff
style H fill:#6a897b,stroke:#34d399,color:#34d399
* Um arquivo IDS pode conter N specifications independentes, cada uma com seu próprio escopo e conjunto de requisitos.
Elementos da estrutura
<ids> — Raiz
Elemento raiz do documento. Contém o namespace buildingSMART e agrupa todas as especificações do projeto ou contrato.
<info> — Metadados
Informações sobre o próprio arquivo IDS: título, versão, autor, data e descrição. Não afeta a lógica de validação, mas é essencial para rastreabilidade e gestão documental.
<specification> — Unidade fundamental
A unidade central do IDS. Cada specification é uma regra independente que combina:
<applicability>— define quais elementos IFC são alvo da verificação (filtro)<requirements>— define o que esses elementos devem conter para passar na validação
Exemplo de arquivo IDS comentado
<!-- Arquivo IDS mínimo — um requisito de exemplo -->
<ids xmlns="http://standards.buildingsmart.org/IDS">
<info>
<title>Requisitos BIM — Projeto Executivo</title>
<version>1.0</version>
<author>equipe.bim@construtora.com.br</author>
<date>2025-06-01</date>
</info>
<specifications>
<specification
name="Paredes devem ter resistência ao fogo"
ifcVersion="IFC4">
<!-- A QUEM SE APLICA? (filtro) -->
<applicability>
<entity>
<name><simpleValue>IfcWall</simpleValue></name>
</entity>
</applicability>
<!-- O QUE É EXIGIDO? (requisito) -->
<requirements>
<property dataType="IFCLABEL">
<propertySet>
<simpleValue>Pset_WallCommon</simpleValue>
</propertySet>
<baseName>
<simpleValue>FireRating</simpleValue>
</baseName>
</property>
</requirements>
</specification>
</specifications>
</ids>
Applicability vs Requirements
Em uma specification IDS, <applicability> e <requirements> cumprem papéis diferentes e complementares. O primeiro define a quais elementos IFC a regra se aplica; o segundo define **quais regras os elementos selecionados devem seguir
** para serem considerados conformes.
Em termos práticos, applicability funciona como um filtro de seleção, enquanto requirements funciona como um conjunto de verificações executadas somente sobre os elementos filtrados. Assim, um elemento fora do filtro não falha na regra; ele simplesmente não é avaliado por ela.
flowchart LR
subgraph AP["<applicability> — FILTRO"]
direction TB
A1["Quais elementos IFC\nsão alvo desta regra?"]
A2["Condição AND:\ntodos os facets devem\nser verdadeiros"]
A3["Elementos que não\nsatisfazem o filtro\nsão IGNORADOS pela regra"]
A1 --> A2 --> A3
end
subgraph RQ["<requirements> — EXIGÊNCIAS"]
direction TB
R1["O que os elementos\nfiltrados devem conter?"]
R2["Cada requisito é verificado\nindividualmente"]
R3["Falha em qualquer requisito\ngera resultado FAIL\npara aquele elemento"]
R1 --> R2 --> R3
end
AP -->|"elementos selecionados"| RQ
Facets — os tipos de requisito
Facets são os blocos de construção do IDS.3 Cada facet representa um aspecto diferente de um elemento IFC que pode ser usado tanto em <applicability> (para filtrar) quanto em <requirements> (para exigir).
O IDS 1.0 define 6 facets:
Tabela de facets
| Facet | Parâmetros <applicability> |
Parâmetros <requirements> |
Uso típico |
|---|---|---|---|
| Entity | name, predefinedType |
name, predefinedType, instructions |
Selecionar IfcWall com predefinedType = SOLIDWALL |
| Attribute | name, value |
name, value, cardinality, instructions |
Exigir que Name não seja vazio; verificar Description |
| Property | propertySet, baseName, value, dataType |
propertySet, baseName, value, dataType, uri, cardinality, instructions |
Exigir IsExternal = TRUE em Pset_WallCommon |
| Material | value |
value, uri, cardinality, instructions |
Exigir material Concreto em pilares |
| Classification | system, value |
system, value, uri, cardinality, instructions |
Exigir código Uniclass 2015 em todas as portas |
| PartOf | entity.name, entity.predefinedType, relation |
entity.name, entity.predefinedType, relation, cardinality, instructions |
Exigir que janelas pertençam a um IfcBuildingStorey |
Restrições de valor
Cada facet pode usar diferentes formas de restrição para o valor esperado:
| Restrição | Sintaxe XML | Exemplo |
|---|---|---|
| Valor exato | <simpleValue> |
FireRating deve ser exatamente "EI60" |
| Lista de valores | <xs:enumeration> |
Aceitar "EI30", "EI60" ou "EI90" |
| Padrão regex | <xs:pattern> |
Código Uniclass que comece com "Pr_25" |
| Intervalo numérico | <xs:minInclusive> / <xs:maxInclusive> |
Espessura entre 150 e 300 mm |
| Comprimento | <xs:length> |
Nome com exatamente 10 caracteres |
Atributo cardinality
O elemento <requirements> suporta o atributo cardinality para definir a natureza de cada requisito:
| Valor | Comportamento |
|---|---|
required (padrão) |
O elemento deve ter este dado preenchido — ausência gera FAIL |
optional |
O elemento pode ter este dado — se presente, o valor é verificado |
prohibited |
O elemento não deve ter este dado — presença gera FAIL |
Exemplos práticos
Exemplo 1 — Espaços com programa de necessidades
Todo IfcSpace deve ter nome longo e área bruta preenchidos.4
<specification name="Espaços com uso definido" ifcVersion="IFC4">
<applicability>
<entity>
<name><simpleValue>IfcSpace</simpleValue></name>
</entity>
</applicability>
<requirements>
<!-- Exige nome do espaço (LongName) -->
<attribute>
<name><simpleValue>LongName</simpleValue></name>
</attribute>
<!-- Exige área bruta no Quantity Set -->
<property dataType="IFCAREAMEASURE">
<propertySet>
<simpleValue>Qto_SpaceBaseQuantities</simpleValue>
</propertySet>
<baseName>
<simpleValue>GrossFloorArea</simpleValue>
</baseName>
</property>
</requirements>
</specification>
Exemplo 2 — Portas com código de classificação Uniclass 2015
Toda IfcDoor deve ter um código Uniclass 2015 iniciado em Pr_25 (padrão regex).4
<specification name="Classificação obrigatória em portas" ifcVersion="IFC4">
<applicability>
<entity>
<name><simpleValue>IfcDoor</simpleValue></name>
</entity>
</applicability>
<requirements>
<classification>
<system>
<simpleValue>Uniclass2015</simpleValue>
</system>
<!-- Aceita qualquer código que comece com Pr_25 -->
<value>
<xs:restriction base="xs:string">
<xs:pattern value="Pr_25.*"/>
</xs:restriction>
</value>
</classification>
</requirements>
</specification>
Exemplo 3 — Vigas de concreto com resistência ao fogo por enumeração
IfcBeam com material Concreto deve ter FireRating igual a EI30, EI60 ou EI90.4
<specification name="FireRating em vigas estruturais de concreto">
<!-- FILTRO: apenas vigas de concreto -->
<applicability>
<entity>
<name><simpleValue>IfcBeam</simpleValue></name>
</entity>
<material>
<value><simpleValue>Concreto</simpleValue></value>
</material>
</applicability>
<!-- REQUISITO: FireRating com valor controlado -->
<requirements>
<property dataType="IFCLABEL">
<propertySet>
<simpleValue>Pset_BeamCommon</simpleValue>
</propertySet>
<baseName>
<simpleValue>FireRating</simpleValue>
</baseName>
<!-- Lista de valores aceitos -->
<value>
<xs:restriction base="xs:string">
<xs:enumeration value="EI30"/>
<xs:enumeration value="EI60"/>
<xs:enumeration value="EI90"/>
</xs:restriction>
</value>
</property>
</requirements>
</specification>
Fluxo de uso do IDS
flowchart TD
S1["📋 1. Mapear requisitos de \n informação Contratante identifica dados \nnecessários\npor elemento, fase e finalidade"]
S2["🛠️ 2. Criar o arquivo IDS\nUsando editor visual ou XML\nDefine specifications, applicability e requirements"]
S3["📤 3. Distribuir o IDS\nPublicado no CDE e referenciado\nno BEP como requisito contratual"]
S4["🏗️ 4. Modelar conforme o IDS\nEquipes inserem os dados exigidos\nnos modelos IFC durante o projeto"]
S5{"5. Validar modelo\nFerramenta processa IFC contra IDS\nPor elemento e por specification"}
S6["✅ PASS\nElemento atende todos\nos requisitos da specification"]
S7["❌ FAIL\nElemento identificado no relatório\ncom o requisito específico não atendido"]
S8["🔄 6. Corrigir e re-validar\nEquipe corrige o modelo\ne valida novamente"]
S9["📊 Entrega aprovada\nConformidade total\nregistrada no CDE"]
S1 --> S2 --> S3 --> S4 --> S5
S5 -->|"elemento conforme"| S6
S5 -->|"elemento não conforme"| S7
S7 --> S8 --> S4
S6 --> S9
Quando usar o IDS no ciclo de vida BIM
| Fase | IDS típico | Finalidade |
|---|---|---|
| Licitação / Contrato | IDS do EIR | Contratado valida capacidade de entrega antes da assinatura |
| Estudo Preliminar (LP) | IDS de LP | Garante dados mínimos (nome, área, uso) em espaços e volumes |
| Anteprojeto (AP) | IDS de AP | Verificar propriedades de desempenho, materiais e classificações |
| Projeto Executivo (EP) | IDS de EP | Verificação completa de Psets, LOD 350, quantitativos |
| Obras | IDS de campo | Dados as-built: fabricante, número de série, data de instalação |
| Operação (FM/AM) | IDS de FM | COBie compliance, sistemas de manutenção, dados de energia |
Ferramentas do ecossistema
Criação e edição de arquivos IDS
| Ferramenta | Tipo | Descrição |
|---|---|---|
| IDS Editor (buildingSMART) | Web · Open Source | Editor visual oficial. Interface gráfica para criar .ids sem editar XML manualmente.5 |
| BIMcollab NEXUS | SaaS · Comercial | Plataforma CDE com suporte nativo a IDS para gestão de requisitos integrada ao fluxo de revisão.6 |
| VS Code + extensão XML | IDE · Open Source | Edição manual com autocomplete via schema XSD. Adequado para automação em pipelines CI/CD.7 |
Validação de modelos IFC contra IDS
| Ferramenta | Tipo | Descrição |
|---|---|---|
| IfcOpenShell (Python) | Biblioteca · Open Source | Módulo ifcopenshell.ids para validação programática. Integra com scripts Python e plataformas de dados BIM.8 |
| Solibri | Desktop · Comercial | Suporte nativo a IDS com relatórios visuais e exportação BCF para comunicação de falhas.6 |
| BIMcollab ZOOM | Desktop · Freemium | Viewer gratuito com validação IDS. Exporta relatórios e BCF para gestão de issues.6 |
| ARCHICAD 27+ | BIM Authoring · Comercial | Validação de IDS dentro do software de autoria. Projetistas verificam sem sair do ambiente de modelagem.9 |
Recursos e referências oficiais
| Recurso | URL |
|---|---|
| Repositório oficial buildingSMART/IDS | https://github.com/buildingSMART/IDS |
| Schema XSD do IDS 1.0 | https://github.com/buildingSMART/IDS/tree/master/Schema |
| Documentação oficial bSI | https://standards.buildingsmart.org |
| IfcOpenShell — docs IDS | https://ifcopenshell.org/docs |
| Editor visual IDS (web) | https://ids.buildingsmart.org |
Glossário
| Termo | Definição |
|---|---|
| IDS | Information Delivery Specification. Padrão XML da buildingSMART para definir requisitos de informação verificáveis automaticamente em modelos IFC. |
| IFC | Industry Foundation Classes. Formato neutro e aberto para intercâmbio de dados BIM, padronizado como ISO 16739. O IDS opera sobre modelos IFC. |
| Facet | Bloco de construção do IDS. Os 6 facets são: Entity, Attribute, Property, Material, Classification e PartOf. Usados em applicability e requirements. |
| Specification | Unidade de regra do IDS. Contém applicability (filtro) e requirements (exigências). Um arquivo IDS pode ter múltiplas specifications. |
| Applicability | Parte da specification que define quais elementos IFC são alvo da verificação, usando um ou mais facets como filtro (condição AND lógico). |
| Requirements | Parte da specification que define o que os elementos filtrados devem conter para passar na validação. Cada requisito é verificado individualmente. |
| Pset | Property Set. Conjunto de propriedades agrupadas por tema em modelos IFC. Ex: Pset_WallCommon, Pset_BeamCommon. Referenciados no facet Property. |
| Qset | Quantity Set. Similar ao Pset, para quantidades físicas mensuráveis (área, volume, comprimento). Ex: Qto_WallBaseQuantities. |
| EIR | Employer's Information Requirements. Documento do contratante que define os requisitos de informação. O IDS é a expressão legível por máquina do EIR. |
| MVD | Model View Definition. Subconjunto do schema IFC para um caso de uso. Complementar ao IDS: MVD define o que pode existir; IDS, o que deve existir. |
| cardinality | Atributo de requirements no IDS que define se o requisito é obrigatório (required), opcional (optional) ou proibido (prohibited). |
| predefinedType | Atributo de entidades IFC que especializa o tipo. Ex: IfcWall com predefinedType = SOLIDWALL; IfcBeam com predefinedType = JOIST. |
| BCF | BIM Collaboration Format. Formato para comunicação de issues em modelos BIM. Ferramentas de validação IDS exportam falhas em BCF. |
| Open BIM | Abordagem colaborativa baseada em padrões abertos (IFC, IDS, BCF) que garante interoperabilidade independente do software utilizado. |
| buildingSMART | Organização internacional responsável pelos padrões Open BIM: IFC, IDS, BCF, bSDD (buildingSMART Data Dictionary). |
Referências
-
buildingSMART International. IDS — Information Delivery Specification — Standard 1.0. Repositório oficial. Disponível em: https://github.com/buildingSMART/IDS. Acesso em: abr. 2026. ↩↩
-
buildingSMART International. IDS vs MVD — Complementary standards. Disponível em: https://standards.buildingsmart.org. Acesso em: abr. 2026. ↩
-
buildingSMART International. IDS Schema Documentation — XSD Reference. Disponível em: https://github.com/buildingSMART/IDS/tree/master/Schema. Acesso em: abr. 2026. ↩↩
-
buildingSMART International. IDS Example Files. Exemplos oficiais de specifications. Disponível em: https://github.com/buildingSMART/IDS/tree/master/Documentation/examples. Acesso em: abr. 2026. ↩↩↩
-
buildingSMART International. IDS Editor — ferramenta visual oficial. Disponível em: https://ids.buildingsmart.org. Acesso em: abr. 2026. ↩
-
BIMcollab. BIMcollab NEXUS e ZOOM — suporte a IDS. Disponível em: https://www.bimcollab.com. Acesso em: abr. 2026. ↩↩↩
-
IfcOpenShell. IfcOpenShell Python — módulo IDS. Documentação técnica. Disponível em: https://ifcopenshell.org/docs. Acesso em: abr. 2026. ↩
-
IfcOpenShell. ifcopenshell.ids — validação programática de modelos IFC. Disponível em: https://ifcopenshell.org/docs/ids.html. Acesso em: abr. 2026. ↩
-
GRAPHISOFT. ARCHICAD 27 — suporte nativo a IDS para validação in-authoring. Disponível em: https://graphisoft.com/solutions/archicad. Acesso em: abr. 2026. ↩