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 supports all IFC2x3 and IFC4 entities (IFC4-add1 and IFC4-add2 are being implemented in v0.6 and might be available by the time you read this) but not all of them can be converted to Arch objects, those that can't will be imported as simple Part shapes. The IFC importer starts by importing all IFC entities derived from http://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ifckernel/lexical/ifcproduct.htm IfcProduct], that is, basically, all the objects that compose a building, such as walls or windows or pipes. All other entities needed by one of these objects, such as profiles of extrusion, or components of boolean operations, will be imported as required.

Si des objets Arch paramétriques sont utilisés, le type correspondant est utilisé pour tous les types IFC ayant un équivalent dans le module Arch. Pour les autres, une forme de pièce générique est créée. Tous les objets Arch, paramétriques et non paramétriques, porteront l’ensemble complet de IfcProperties rattaché à chaque objet.

Building structures such as Sites, Buildings and Storeys are also faithfully imported and the structure is correctly recreated in FreeCAD. Group structures (using IfcGroups) are also imported and rendered in FreeCAD, and can be combined with building structures, for ex. having groups inside storeys or storeys inside groups.

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

Quantities specified in the IFC file are NOT imported. However, since the geometry is fully recreated in FreeCAD, most of the quantities such as length, area, etc.. are easily obtainable for each object

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.

Note: The BIM Workbench features an IFC explorer tool that allows you to open an IFC file in fast, text-only mode, and import only the parts you wish.

Exportation
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