"Sans imagination il ne pourrait y avoir création."
Albert Jacquard.

"L'imagination est plus importante que le savoir."
Albert Einstein.

jeudi 1 décembre 2011

Export IFC vers PostGIS 1ere Partie

 

IFC2PG : Industry Foundation Classes vers PostGIS 1ere Partie

 

Introduction

Je vais vous présenter l’outil de conversion de fichier IFC vers PostGIS que je suis en train de réaliser, outil développé sous en VB.Net  2008 avec :

  • le composant IFCsvr ActiveX de SECOM Co. Ltd.,
  • la librairie IFC Engine DLL de TNO Building Research .

Cet outil doit permettre d’exporter les données d’un fichier IFC vers une base de données PostGIS, ce billet s’enrichira au fur et à mesure de l’évolution du développement de l’outil.

IFCsvr ActiveX

Le composant ActiveX IFCsvr est un composant ActiveX pour le traitement de données IFC(Industry Foundation Classes) . Ce composant fournit un environnement de programmation compatible IFC avec Microsoft Visual Basic, Visual Basic pour Application, VC + +, C #, Visual Basic.Net, ...

Ce composant est gratuit pour un usage non commercial.

Voici le lien pour le groupe ifcsvr-users : ifcsvr-users · IFCsvr ActiveX Component

Il vous faudra vous référencer sur le groupe pour pouvoir télécharger le composant (IFCsvrR300) et autres documents.

IFC Engine DLL

Voici les lien pour la librairie IFC Engine : IFCEngine ou IFCdll

Cette librairie est gratuite pour un usage non commercial.

 

 

Industry Foundation Classes

 

 

Ci-dessous des extraits de l’article Wikipédia sur le format IFC :

Source : Article Industry Foundation Classes de Wikipédia en français (http://fr.wikipedia.org/wiki/Industry_Foundation_Classes).

Début citation.

Le format IFC (Industry Foundation Classes) est un format de fichier orienté objet utilisé par l'industrie du bâtiment pour échanger et partager des informations entre logiciels.

Origine des IFC

Ce standard est né de l'initiative de l'IAI (International Alliance for Interoperability), associant des entreprises du secteur de la construction et des éditeurs de logiciels. Cette organisation est divisée en chapitres nationaux dont BuildingSmart est le représentant français. Elle a pour objectif principal de favoriser l'interopérabilité des logiciels dans le secteur de la Construction.

Building Information Modeling

IFC est le format usé communément par le BIM (Building Information Modeling)

Dans l'acceptation du BIM, le format IFC, standard ouvert compréhensible de tous les acteurs de la construction, organise les objets de l'industrie de la construction, les familles, autour d'un modèle informatique 3D, le BIM . Ces objets supportent le cycle de vie complet d'un bâtiment incluant les débuts-la conception, la documentation et la construction-, l'exploitation des bâtiments, la gestion des installations (facility management) et, enfin, la démolition et l'élimination2.

Spécification des IFC

Le modèle de données IFC est spécifié en langage EXPRESS, conforme à la norme ISO 10303-11 (STEP part 11). C'est un modèle orienté objet qui définit des classes associées à tous les objets de construction. Un modèle d'ouvrage est donc un ensemble hiérarchisé d'instances de classes du modèle IFC. Les échanges s'effectuent par l'intermédiaire de fichiers STEP-21 (ISO 10303-21) ou de fichiers XML (ifcXML).

Par exemple, la hiérarchisation d'un bâtiment s'effectue ainsi :

  • une zone contient plusieurs bâtiments.
  • un bâtiment contient plusieurs étages
  • un étage contient plusieurs salles etc.

Formats

Formats IFC4
Format Définition
.ifc Fichier IFC utilisant la structure STEP conformément à ISO10303-21. Structuration des données selon les spécifications Express. C'est le format d'échange par défaut
.ifcXML Fichier IFC utilisant la structure XML. Le format .ifcXML peut être généré directement par l'application ou à partir d'un fichier .ifc, conformément à ISO10303-28, la représentation XML des schémas et données Express.

Le format .ifcXML est normalement 300-400% plus gros que le fichier .ifc

.ifcZIP Fichier IFC utilisant l'algorithm de compression PKzip 2.04g

Lien externe

  • Site du Projet Expert En france, le projet Expert rassemble les principaux acteurs du monde de la construction et du Bâtiment, il vise à promouvoir l'utilisation des IFC et de la BIM dans ce secteur. Il est soutenu par l'État (ministère chargé de la construction).

Fin citation.

 

Installation

Téléchargez l’outil IFC2PG : ifcpg.rar

Décompressez l’archive sous c:\

Créez un raccourci sur le bureau.

 

Utilisation

 

Lancez l’application par un double-clic sur le raccourci.

 

L’interface s’enrichira au fur a mesure du développement, la barre d’outil principal ne comporte que deux icônes :

Cet icône permet d’ouvrir un fichier IFC.

Cet icône permet de se connecter à une base de données PostgreSQL/PostGIS.

Ouvrez le fichier qui se trouve dans le répertoire IFC

    1. Arborescence du fichier IFC, les icônes avec une ampoule peuvent être éteints (dé affichage de tous les objets enfants) ou allumés (affichage de tous les objets enfants)
    2. Zone d’affichage du fichier IFC (IFCEngine OCX)
    3. Barre d’outils pour interagir avec l’affichage :

                

        1. Rotation 3D
        2. Zoom
        3. Déplacement
        4. Vue de Face
        5. Vue de Coté

Dé afficher les deux derniers IfcBuildingStorey

Connecter vous à une base PostGIS

Export des données vers PostGIS

A ce stade du développement, pour réaliser un export il faut faire un clic droit sur un objet pour ouvrir un menu qui contiendra l’ordre d’export. Seul les objets IfcWallStandardCase (Mur) peuvent être exportés, un par un en sélectionnant chaque IfcWallStandardCase  ou bien en sélectionnant l’objet IfcBuildingStorey (Etage) pour exporter tous les objets IfcWallStandarCase.

Lorsque vous cliquez sur un objet appartenant à un objet IfcBuildingStorey, celui-ci passe en surbrillance.

Sélectionnez le 4eme objet IfcBuildingStorey, faites un clic droit et sélectionnez “Export de tous les murs” dans le menu.

La fonction va créer la table IfcWallStandardCase si elle n’existe pas, dans la base de données PostGIS à laquelle vous êtes connecté, il n’y a pas encore de gestion de doublons. La structure de la table pourra changer avec les prochaines version de l’outil. Faites moi savoir si vous avez des suggestions quand à son contenu.

 

Il ne vous reste plus qu’a allez visualiser le contenu de la table avec par exemple OpenJump.

Le champ géométrique de la table contient les axes des murs, un second champ géométrique pourrait contenir le contour, a voir.

Conclusion

Nous voila à la fin de cette première partie, l’outil réalise l’export des axes des murs (IfcWallstandardCase), je vais rajouter petit à petit l’export des autres objets.

J’attends vos remarques, suggestions ce premier jet d’un outil permettant d’exporter les objets d’un fichier IFC vers une bas de données PostGIS.

4 commentaires:

  1. bonjour,
    serait-il possible de mettre à dispo un lien pour telecharger un fichier IFC pour test ?
    Merci d'avance

    RépondreSupprimer
  2. Bonjour Monsieur Rolland,

    Dès que je double-clic sur ifc2pg.exe, j'ai le message d'erreur Ifc2Pg.exe has stoppped working. Savez-vous pourquoi? Continuez-vous de gérer cet outil?

    Bien cordialement,

    Delphine

    RépondreSupprimer
  3. Bonjour Monsieur Rolland,
    Serait'l posible d'avoir une copie du code source en vbnet.
    merci

    RépondreSupprimer
  4. Bonjour Monsieur Rolland,
    Serait t'il possible d'avoir une copie du code source de cette article.
    merci

    RépondreSupprimer