L’arborescence du fichier IFC (3ème partie) : IFCPropertyDefinition
L’IfcPropertyDefinition et la structure des données IFC : voici comment lire, modifier et ajouter des propriétés aux objets dans un modèle IFC
Dans cet article, nous vous parlerons du troisième aspect du schéma de données de l’IFC (Industry Foundation Classes), l’IfcPropertyDefinition, c’est-à-dire le concept des propriétés en tant qu’informations partagées entre plusieurs instances d’objets. Dans des articles précédents, nous vous avons déjà parlé de l’IfcObjectDefinition
et de l’ IfcRelationship.
Voyons qu’est ce queIfcPropertyDefinition
et comment ajouter, supprimer et modifier les propriétés d’un modèle d’information au format IFC à l’aide d’un éditeur IFC en ligne.
L’arborescence d’un modèle IFC
Le schéma IFC représente un système d’archivage pour organiser de façon organique les informations relatives à tous les objets du bâti et pour garantir l’accessibilité dans le temps, sans contraintes, à ces ressources de données et patrimoine d’information. L’IFC configure un modèle composé de centaines d’entités organisées de manière hiérarchique.
La structure de l’IFC est basée sur 3 concepts fondamentaux qui définissent :
IfcObjectDefinition:
les entitésIfcRelationship:
les relations entre les entitésIfcPropertyDefinition:
les propriétés associées aux entités.

Diagramme de composition du schéma des données de l’IFC
Voici ci-dessous les 3 liens aux articles sur l’arborescence de l’IFC :
- article sur l’IfcObjectDefinition (l’arborescence de l’IFC 1ère partie)
- article sur l’IfcRelationship (l’arborescence de l’IFC 2ème partie)
- article sur l’IfcPropertyDefinition (l’arborescence de l’IFC 3ème partie).
IfcPropertyDefinition
IfcPropertyDefinition
permet la généralisation de toutes les propriétés qui peuvent être attribuées aux objets. Cette généralisation permet de définir la définition de l’ensemble des propriétés ou des types d’objets (type object). Ces propriétés définissent les informations partagées entre plusieurs instances d’objets.
De cette propriété, naissent les ramifications suivantes :
IfcPropertySetDefinition
: permet la généralisation des ensembles de propriétésIfcPropertySet
: représente le conteneur à l’intérieur duquel se trouvent toutes les propriétés. Ces propriétés sont définies et qualifiées par leur nom. Les ensembles des propriétés sont liées aux objets(IfcObject)
au travers de la relation de l’IfcRelDefinedByProperties
IfcProperty
: définit la généralisation des types de propriétés qui peuvent être associés aux objets IFC et dépendent d’un ensemble de propriétés.

Diagramme en arborescence de l’IfcPropertyDefinition
IfcProperty
est divisé en plusieurs catégories :
IfcComplexProperty
est utilisé pour définir les propriétés complexes à gérer au sein d’un ensemble de propriétésIfcSimpleProperty
qualifie les propriétés attribuées à un seul objet. Les différents sous-types d’IfcSimpleProperty
déterminent les différentes manières de fixer la valeur d’une propriété.

Diagramme description de l’IfcSimpleProperty dans l’arborescence du fichier IFC
IfcSimpleProperty
L’IfcSimpleProperty
se spécialise dans 6 sous-types différents que nous énumérons ci-dessous.
IfcPropertySingleValue
Il s’agit d’une propriété auquel vous pouvez attribuer une seule valeur. Elle est composée des éléments suivants :
- Name
- Nominal Value
- Type (through IfcValue)
- Unit.
Par exemple, si nous voulions décrire les propriétés d’une porte fabriquée par le « fabricant A », d’une épaisseur de 4 cm, avec une valeur de transmission de 2,6 W/(m² K), nous obtiendrions :

Exemple d’un schéma IfcPropertySingleValue
L’IfcPropertyEnumeratedValue
Définit une propriété auquel est attribuée une valeur choisie dans une énumération. Ensuite, l’IfcPropertyEnumeratedValue
définit une propriété dont la valeur est sélectionnée dans une liste préfixée. Cette liste est spécifiée dans la classe de l’IfcPropertyEnumerated
, qui représente le sous-type de l’IfcPropertyEnumeratedValue
.
Elle est composée des éléments suivants :
- Name
- Value (EnumerationValue)
- Type
- IfcPropertyEnumeration ;
comme décrit dans l’image ci-dessous.

Exemple d’un schéma IfcPropertyEnumeratedValue
L’IfcPropertyBoundedValue
Définit une propriété à laquelle deux valeurs limites sont attribuées : la première valeur spécifiant la limite supérieure et la seconde spécifiant la limite inférieure.
Elle est composée des éléments suivants :
- Name
- UpperBoundValue
- LowerBoundValue
- Type
- Unit.
Avec une telle propriété nous pouvons indiquer, par exemple, les limites d’encombrements et de poids d’un objet à transporter vers un endroit du chantier.

Exemple d’un schéma de l’IfcPropertyBoundedValue
L’IfcPropertyTableValue
Définit une propriété à laquelle sont attribuées deux listes de valeurs qui forment un tableau à deux colonnes. Les valeurs de la première colonne définissent le champ d’application des valeurs de la deuxième colonne.
Elle est composée des éléments suivants :
- DefiningValues
- DefiningValueType
- DefingUnit.
Par exemple, à l’aide d’un tableau, nous pouvons indiquer les valeurs de perte de transmission du son, dans un champ d’application d’un intervalle déterminé.

Exemple d’un schéma de l’IfcPropertyTableValue
IfcPropertyReferenceValue
Attribue une valeur à la propriété par le biais d’un lien avec des propriétés complexes prédéfinies dans le schéma IFC.
IfcPropertyListValue
Définit une propriété à laquelle plusieurs valeurs sont attribuées ; ces valeurs sont données par une liste précise et ordonnée (l’ordre dans lequel les valeurs sont affichées est significatif). Chaque valeur de la liste est unique et aucune valeur à double n’est autorisée.
Elle est composée des éléments suivants :
- Name
- ListValues
- Type
- Unit.
Avec une telle propriété, nous pouvons indiquer, par exemple, les dimensions applicables, incluses dans une liste définie, pour la réalisation d’un certain bâtiment.

Exemple d’un schéma de l’IfcPropertyListValue
Nous vous rappelons que pour visualiser les propriétés d’une entité dans un modèle 3D, vous pouvez utiliser une simple visionneuse BIM en ligne et gratuite. Il vous suffit de :
- téléchargez le fichier IFC sur le cloud usBIM ;
- ouvrir le fichier
- sélectionnez l’entité ;
- lire les propriétés de cette entité dans la boîte à outils à droite.
Exemples de propriétés associées à des entités
Vous trouverez ci-dessous quelques images qui montrent des exemples de propriétés associées à des entités.
Dans l’image suivante, nous vous montrons la sélection d’un élément du modèle. Dans les propriétés de droite, vous pouvez lire les propriétés associées à cette entité.

Image 1 | Lecture des propriétés générales d’un élément
La deuxième image montre comment modifier, supprimer et ajouter les propriétés des entités comme par exemple celles de l’enveloppe incluses dans l’IfcWallStandardCase
.

Image 2 | Modifier, insérer, supprimer les propriétés d’un élément
La troisième image vous montre comment vérifier les propriétés insérées dans les propriétés à droite de l’écran.

Image 3 | Affichage des propriétés insérées et/ou modifiées