Arch IFC/fr

Les ateliers Arch et BIM (Build Information Modeling) comportent un importateur et un exportateur IFC (Industry Foundation Classes). Le format IFC est un format de plus en plus répandu pour l'échange de données entre les applications BIM utilisées en architecture et en ingénierie.

L’importateur et l’exportateur dépendent tous deux d’un logiciel externe open-source appelé IfcOpenShell qui peut ou non être fourni avec votre version de FreeCAD, en fonction de la plate-forme et du lieu où vous avez obtenu votre Paquet FreeCAD à partir de. Si IfcOpenShell est correctement installé, il sera détecté par FreeCAD et utilisé pour importer et exporter des fichiers IFC. Un moyen facile de vérifier si IfcOpenShell est présent et disponible, est d’essayer d’importer ou d’exporter un fichier IFC ou tout simplement de saisir les informations suivantes dans la console Python de FreeCAD (située dans le menu Affichage → Panneaux):

import ifcopenshell

Si aucun message d'erreur n'apparaît, tout va bien. IfcOpenShell est correctement installé, sinon, vous devrez l'installer vous-même.

Remarque: L'outil BIM Configuration recherchera également IfcOpenShell et émettra une notification s'il n'est pas installé.

Remarque: L'atelier Arch présentait auparavant un importateur IFC plus simple qui ne dépendait pas d’IfOpenShell. Il est toujours possible de forcer l’utilisation de cet ancien importateur IFC Python en activant l’option correspondante dans les paramètres de préférences Arch. Mais cet importateur a été arrêté et risque de ne pas fonctionner correctement. Il ne pourra importer qu'un très petit sous-ensemble d'objets IFC.

L’utilisation d'IfcOpenShell est fortement recommandée car elle est beaucoup plus rapide et plus puissante que l’analyseur interne. Nous pensons que c’est l’un des meilleurs gestionnaires d'IFC…

Récupérer IfcOpenShell
Sur le site Web IfcOpenShell, vous trouverez des liens de téléchargement pour les divers utilitaires composant le programme IfcOpenShell. FreeCAD a besoin de IfcOpenShell-Python. Vous devez veiller à choisir la bonne architecture pour votre système d'exploitation (32bits ou 64bits) et vous devez également disposer de la version identique à Python de FreeCAD. La version Python utilisée par FreeCAD est indiquée sur la première ligne de la console FreeCAD Python située dans le menu Affichage → Panneaux. Vous avez besoin d'une version d'IfcOpenShell avec les deux mêmes premiers chiffres. Le troisième numéro n'est pas important. Par exemple, si votre version de FreeCAD Python est 3.7.4, vous avez besoin d’une version 3.7 de IfcOpenShell.

IfcOpenBot
Les packages disponibles sur le site Web IfcOpenShell sont toutefois très anciens et ne prennent pas en charge les versions Python les plus récentes. Nous vous recommandons donc d'utiliser un autre service fourni par les développeurs de IfcOpenShell, appelé IfcOpenBot. C'est un système automatisé qui construit de temps en temps une série de paquets à partir du code source IfcOpenShell. Pour télécharger l'un de ces packages, cliquez sur le lien "Commits" dans le référentiel GitHub puis, localisez les Commits contenant un commentaire (une petite icône "message"). Ces commentaires sont où vous trouverez les paquets construits par IfcOpenBot.

Au moment de la rédaction, la version stable actuelle de IfcOpenShell qui se trouve dans sa branche "principale" est la version 0.5. Cependant, la version 0.6 est déjà très stable et contient de nombreuses améliorations telles que la prise en charge simultanée de IFC2x3 et IFC4. Nous vous recommandons de basculer le bouton "branch" sur la v0.6 et de l'utiliser. Encore une fois, assurez-vous de télécharger le package correspondant à votre version de FreeCAD.

Compiler
Vous pouvez aussi compiler IfcOpenShell, bien sûr. Comme il a presque les mêmes dépendances que FreeCAD, si vous compilez déjà FreeCAD vous-même, compiler IfcOpenShell sera très simple et ne nécessitera normalement aucune dépendance supplémentaire.

Installer IfcOpenShell
Le package que vous avez téléchargé à partir de l’un des emplacements ci-dessus est un fichier zip contenant un dossier nommé "ifcopenshell" avec plusieurs autres fichiers et dossiers. "Installer" cela signifie simplement que ce dossier ifcopenshell ait été trouvé par Python (donc la commande import ifcopenshell que nous avons utilisée ci-dessus a réussi). La liste des dossiers dans lesquels Python recherche des modules peut être obtenue en entrant ces deux lignes dans la console FreeCAD Python:

import sys for p in sys.path: print(p)

et appuyez deux fois sur entrée.

Pour installer IfcOpenShell, décompressez simplement le package téléchargé et placez le dossier "ifcopenshell" dans l’un des emplacements fournis par les commandes ci-dessus.

Vous remarquerez que certains de ces emplacements sont des dossiers système (les emplacements officiellement recommandés sont les dossiers "site-packages" ou "dist-packages"), ce qui rendra IfcOpenShell installé à l'échelle du système et disponible pour d'autres applications telles que Blender. Vous préférerez peut-être ne pas polluer vos dossiers système avec quelque chose copié à la main et le placer dans l'un des dossiers de FreeCAD lui-même. Les suggestions sont le dossier "bin" de FreeCAD ou le dossier des macros (que vous pouvez également obtenir à partir du menu Macro → Macros)

Une fois que vous avez copié votre dossier ifcopenshell à l’un de ces emplacements, vérifiez qu’il fonctionne correctement en entrant:

import ifcopenshell

dans la console Python de FreeCAD. Si aucune erreur n'apparaît, vous êtes prêt.

Importer
Toutes les entités IfcProduct à partir de fichiers IFC2x3 ou IFC4 seront importées dans le document FreeCAD. Les paramètres de préférences IFC vous permettent de définir le mode d'importation des objets IFC: en tant qu'objets Arch paramétriques complets (la géométrie sera, autant que possible, modifiables dans FreeCAD), en tant qu'objets Arch non paramétriques complets (les objets porteront des informations et des propriétés IFC mais ne seront pas modifiables), en tant que formes de pièce non paramétriques (la géométrie sera restituée fidèlement mais les informations IFC seront supprimées), ou en tant que forme de pièce par étage (un objet tout-en-un, juste pour référence). Chacun de ces types perd des informations par rapport au précédent, mais est plus léger en ressources, ce qui permet d’ouvrir des fichiers plus volumineux. Un dernier type permet de supprimer complètement l'importation d'objets Arch, ce qui est utile pour les modèles analytiques structurels.

Généralement, si vous essayez d'ouvrir un fichier volumineux et que FreeCAD prend trop de temps pour l'importer, essayez avec un mode d'importation plus faible.

IfcOpenShell prend en charge toutes les entités IFC2x3 et IFC4 (IFC4-add1 et IFC4-add2 sont implémentées dans la version 0.6 et peuvent être disponibles au moment où vous lisez ceci), mais elles ne peuvent pas toutes être converties en objets de l'Atelier Arch, celles qui ne peuvent pas être seront importées sous forme de formes simples de l'Atelier Part. L’importateur IFC commence par importer toutes les entités IFC dérivées de IfcProduct, c’est-à-dire tous les objets qui composent un bâtiment, tel que des murs ou des fenêtres ou des tuyaux. Toutes les autres entités requises par l'un de ces objets, telles que les profils d'extrusion ou les composants d'opérations booléennes, seront importées en fonction des besoins.

Si vous utilisez un mode d’importation qui utilise des objets Arch, paramétriques ou non, tous les objets porteront l’ensemble complet des IfcProperties attaché à chaque objet, groupé par ensemble de propriétés.

Les structures de bâtiments telles que sites, bâtiments et étages sont également importées fidèlement et la structure est correctement recréée dans FreeCAD. Les structures de groupe (utilisant les IfcGroups) sont également importées et rendues dans FreeCAD et peuvent être combinées avec des structures de bâtiment par exemple, avoir des groupes dans des étages ou des étages dans des groupes.

Les objets IfcAnnotation sont également importés ainsi que les objets linéaires ou basés sur des courbes IfcStructuralItem.

Les quantités spécifiées dans le fichier IFC sont importées NOT. Cependant, puisque la géométrie est entièrement recréée dans FreeCAD, la plupart des quantités telles que la longueur, la surface, etc... peuvent être facilement obtenues pour chaque objet.

Activer afficher les messages de débogage dans les paramètres de préférences IFC indiquera si un objet à partir du fichier IFC n'aura pas été importé correctement.

Remarque: L'atelier BIM comporte un outil Explorateur IFC qui vous permet d'ouvrir un fichier IFC en mode rapide uniquement en mode texte et d'importer uniquement les pièces de votre choix.

Exporter
L'exportation vers des fichiers IFC exportera tous les objets sélectionnés et leurs descendants. Tous les objets Arch/BIM sont pris en charge ainsi que d'autres objets créés dans d'autres ateliers. Pour le moment, les seuls objets qui ne sont pas totalement pris en charge sont les corps PartDesign, App Parts et les nouvelles structures telles que Links et LinkGroups. Vous devrez donc les tester un peu avant de les utiliser. Arch Référence exportera actuellement sous le nom IfcBuildingElementProxies.

Pour exporter un site ou un bâtiment entier, un étage entier ou un groupe contenant d'autres objets, il suffit de sélectionner ce bâtiment, cet étage ou ce groupe. Les objets Arch seront exportés avec le type défini dans leur propriété "Type IFC". Leurs IfcProperties sont également exportés, et si ces objets ont un UID IFC provenant d'une importation précédente, le même UID sera conservé à l'exportation. Les objets qui ne sont pas des objets Arch sont exportés sous le format IfcBuildingElementProxy.

Les fichiers IFC sont exportés au format IFC2x3 ou IFC4, selon votre version d'IfcOpenShell, qui peut être compilé avec n'importe lequel des schémas IFC. Si vous utilisez IfcOpenShell version 0.6 ou supérieure, la version IFC spécifiée dans les préférences Arch est utilisée.

Si la forme des objets exportés est basée sur une extrusion ou une opération booléenne, l'opération et les composants seront correctement exportés au format IFC. Dans le cas contraire, la forme de l'objet est exportée sous la forme IfcFacetedBrep. Si la forme contient des courbes, celles-ci seront triangulées. Toutefois, IfcOpenShell version 0.5 ou ultérieure comporte un sérialiseur qui doit être activé dans les préférences Import/Export → IFC. S'il est activé, ce sérialiseur est capable d'exporter des objets courbes très complexes tels que ceux basés sur NURBS et d'éviter ainsi les faces triangulées. Au moment de la rédaction de ce document, cependant, rares sont les autres applications BIM qui prennent en charge les objets IFC NURBS. Il est donc conseillé d'effectuer quelques tests.

Liens
Tutoriel Importer/Exporter IFC - compiler IfcOpenShell