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
The package you downloaded from one of the above locations is a zip file that contains a folder named "ifcopenshell" with several other files and folders inside. To "install" it simply means make this ifcopenshell folder found by Python (so the import ifcopenshell command we used above succeeds). The list of folders where Python looks for modules can be obtained by entering these two lines in the FreeCAD Python Console:

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

and press enter twice.

To install IfcOpenShell, just unzip the downloaded package, and place the "ifcopenshell" folder in any of the locations issued by the commands above.

You will notice that some of these locations are system folders (the officially recommended locations are the "site-packages" or "dist-packages" folders), which will make IfcOpenShell installed system-wide and available to other applications such as Blender, but you might prefer to not pollute your system folders with something copied by hand, and place it in one of the folders of FreeCAD itself. Good suggestions are FreeCAD's "bin" folder, or the macros folder (which you can also obtain from menu Macro->Macros)

Once you copied your ifcopenshell folder at one of these locations, test that it works correctly by entering:

import ifcopenshell

in the Python console of FreeCAD. If no error appears, you are good to go.

Importation
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, en tant qu'objets Arch non paramétriques, en tant que formes de pièce non paramétriques ou en tant que forme de pièce par étage. 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.

Typically, if you try to open a large file and FreeCAD takes too long to import it, try with a lower import mode.

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