Arch IFC/fr

Les ateliers architecture et BIM comportent un importateur et un exportateur IFC. 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. Pour exporter un bâtiment entier ou un étage entier, il suffit de sélectionner le bâtiment ou l'objet étage. Les objets Arch seront exportés avec le type défini dans leur propriété "Role". Leurs propriétés IFC IfcProperties sont également exportées et si ces objets ont un UID IFC 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 nom IfcBuildingElementPRoxy.

To export a whole site or building or a whole floor or a group containing other objects, it is only needed to select that building or floor or group. Arch objects will be exported with the type set in their "IFC Type" property. Their IfcProperties are exported as well, and if these objects have an IFC UID from a previous import, the same UID will be kept at export. Objects that are not Arch objects are exported as IfcBuildingElementProxy.

Les fichiers IFC sont exportés au format IFC2x3 ou IFC4 en fonction de votre version d'IfcOpenShell qui peut être compilée avec n'importe lequel des schémas IFC.

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. Si ce n'est pas le cas, la forme de l'objet est exportée sous le nom IfcFacetedBrep. Si la forme contient des courbes, celles-ci seront facettées.

Liens
Tutoriel Importer/Exporter IFC - compiler IfcOpenShell