Générer un poteau en béton armé au format IFC4 avec Python et IfcOpenShell

L’automatisation est au cœur des enjeux du BIM aujourd’hui. Pourquoi modéliser manuellement des éléments standardisés quand un script peut s’en charger en une fraction de seconde, sans erreur, et avec toutes les propriétés requises dès la première exécution ?

Cet article vous montre comment utiliser Python et la bibliothèque IfcOpenShell pour générer de A à Z un poteau en béton armé au format IFC4. Nous allons décortiquer le script étape par étape : géométrie du béton, ferraillage 3D (armatures longitudinales et étriers), et métadonnées BIM associées.

Le cahier des charges

Pour cet exemple, nous partons sur un poteau structurel classique aux caractéristiques suivantes :

  • Dimensions : section 20 × 20 cm, hauteur 3,00 m
  • Matériaux : béton C25/30 et acier HA500
  • Ferraillage longitudinal : 4 barres HA 12 droites, placées aux angles
  • Ferraillage transversal : étriers HA 8 espacés de 15 cm, avec le premier et le dernier à 5 cm des extrémités
  • Enrobage : 3 cm
La hiérarchie spatiale IFC

Un bon fichier IFC n’est pas qu’un assemblage de géométries 3D, c’est avant tout une base de données structurée.
Le script commence donc par établir la hiérarchie spatiale qu’impose la norme IFC4 :

IfcProject → IfcSite → IfcBuilding → IfcBuildingStorey

C’est au niveau de l’étage nommé ici « RDC » que le poteau et ses armatures sont implantés via la relation IfcRelContainedInSpatialStructure.

La géométrie du béton : l’extrusion de profil

Pour modéliser le volume de béton, l’approche la plus propre en IFC consiste à extruder un profil. Le script définit un profil rectangulaire de 20 × 20 cm (IfcRectangleProfileDef), l’extrude verticalement sur 3 mètres via IfcExtrudedAreaSolid, puis lui assigne le matériau « C25/30 ».

Simple, lisible, et parfaitement conforme à la norme.

Le ferraillage 3D : là où Python révèle sa puissance

Plutôt que de dessiner chaque barre à la main, on exploite des boucles pour positionner automatiquement chaque armature, en tenant compte de l’enrobage.

Armatures longitudinales (HA 12) Le script calcule la position de l’axe de chaque barre aux quatre coins de la section. Il génère ensuite une polyligne droite de 3 mètres (IfcPolyline), autour de laquelle un volume cylindrique est créé avec IfcSweptDiskSolid.

Étriers (HA 8) Une boucle while détermine la position en Z de chaque étrier (tous les 15 cm). Pour chacun, le script trace un chemin rectangulaire fermé en cinq points, puis l’extrude au diamètre de 8 mm.

À l’issue de cette étape, toutes les armatures sont regroupées et associées au poteau via la relation IfcRelAggregates, formant un ensemble logique cohérent : « Ferraillage Poteau P1 ».

Les Property Sets : l’intelligence du modèle

En BIM, un modèle sans données n’est qu’une maquette. Pour que le poteau soit exploitable par un économiste, un ingénieur structure ou un conducteur de travaux le script génère un jeu de propriétés personnalisé baptisé BEIDBA_Poteau, qui contient automatiquement :

  • La section (20 × 20 cm)
  • La hauteur (3,00 m)
  • La classe de béton (C25/30)
  • Le type de barres longitudinales (4 HA 12 droits)
  • Le détail des étriers (HA 8 / 15 cm)
  • Le nombre exact d’étriers générés, calculé dynamiquement par le script
Résultat

En exécutant le script poteau_beton_ifc4.py, vous obtenez un fichier .ifc propre, structuré et immédiatement lisible dans n’importe quelle visionneuse BIM (BIM Vision, Solibri, Navisworks, et bien d’autres.).

Au-delà de la simple modélisation, ce type de script ouvre la voie à des cas d’usage bien plus puissants : génération automatique du ferraillage sur une série de poteaux, extraction de quantitatifs précis (longueurs d’acier, nombre d’étriers), ou standardisation des livrables à l’échelle d’un projet entier.

Patrice Hélie est le fondateur de BEIDBA. Spécialisé dans l’ingénierie du BTP et l’intégration des solutions de calculs BuildSoft, il accompagne les bureaux d’études et professionnels du bâtiment dans leur transition numérique, l’optimisation de leurs workflows et l’audit de performance. BEIDBA, c’est aussi l’édition du logiciel de CAO 2D BuildCAO et, de proximité, un service d’assistance numérique sur mesure.

Articles récents


Besoin d’optimiser vos processus de calcul ou de faire le point sur vos outils métiers ?


Que vous souhaitiez moderniser vos solutions de modélisation, auditer vos performances ou bénéficier d’un conseil indépendant en organisation numérique. Discutons de vos projets dès aujourd’hui.


Ce site nécessite l\'utilisation de cookies pour améliorer votre expérience.